Compare commits

..

12 commits

Author SHA1 Message Date
urec56
16571c0f22 Актуализировал мейн от буливея 2025-02-17 13:23:48 +03:00
urec56
ce68e64f15 Актуализировал от буливея 2025-01-10 19:10:34 +03:00
urec56
1162196c64 Фикс мпв 2025-01-04 15:04:39 +03:00
urec56
e11d5f138c Revert "Фикс мпв"
This reverts commit a22c14d41a.
2025-01-04 15:02:16 +03:00
urec56
783ff75733 Revert "Поменял автозапуски и правила окон. Дискорд запускается через терминал с ласт версией"
This reverts commit 88ff3a95b8.
2025-01-04 14:48:17 +03:00
urec56
a9f372619a Revert "Убрал лишние бинды"
This reverts commit e8fb05bbd2.
2025-01-04 14:42:46 +03:00
urec56
a22c14d41a Фикс мпв 2025-01-04 01:01:36 +03:00
urec56
311f19e343 Изменил flakeDir 2025-01-03 21:14:26 +03:00
urec56
1f4aabf97c Merge branch 'main' of git.urec56.ru:urec/nixos_dots 2025-01-03 15:35:01 +03:00
urec56
202e0054c9 Изменил flake.lock 2025-01-03 15:33:54 +03:00
urec56
1092a243f8 Обновил flake.lock 2025-01-03 15:30:51 +03:00
urec56
4e06668ca9 Актуализировал от буливея 2025-01-03 15:19:11 +03:00
47 changed files with 566 additions and 999 deletions

View file

@ -71,7 +71,7 @@
| `Super + Shift + B` | Browser Firefox. Паблик активность | Да |
| `Super + Shift + Ctrl + B` | Browser Chromium. Пусть будет | Да |
| `Super + E` | Explorer. Thunar file manager | Да |
| `Super + I` | IDE, text editor, NeoVim | Да |
| `Super + I` | IDE, text editor | Да |
| `Super + M` | Monitor of resources (btop) | Да |
| `Super + G` | Goals. Todo manager. Task tracker | Да |
| `Super + Shift + C` | Color picker. Получить hex в буфер обмена | Да |
@ -193,7 +193,7 @@
| ScreenLock | betterlockscreen/i3lock |
| Notification | Dunst |
| Files | Thunar, Ranger |
| Images | imv, qView, feh |
| Images | qView, imv, feh |
| Video | mpv with plugins |
| Music | Strawberry, Picard, Mousai, spek |
| Browsers | Librewolf, Firefox, Chromium |
@ -204,6 +204,7 @@
| DM | LightDM |
| Compositor | Нет. Мб будет стоковый picom |
| Screenshare | OBS, Screenkey, ksnip |
| Code Editor | VSCode, JetBrains, nixvim, helix |
| Video Editor | Blender |
| Fetch | fastfetch |
| Torrent | qBittorrent |
@ -569,4 +570,4 @@ Wifi
- **Base0E** **Class Names/Constructors**: Акцентный цвет для имён классов или конструкторов. Фиолетовый.
- **Base0F** **Deprecated Elements/Exceptions**: Обычно используется для устаревших элементов или исключений. Коричневый.
Эти цвета обеспечивают чёткую структуру для создания тем, где легко отличить синтаксические элементы или UI-компоненты.
Эти цвета обеспечивают чёткую структуру для создания тем, где легко отличить синтаксические элементы или UI-компоненты.

View file

@ -28,17 +28,17 @@
"x-scheme-handler/https" = [ "librewolf.desktop" ];
"x-scheme-handler/unknown" = [ "librewolf.desktop" ];
# Images
"image/*" = [ "imv.desktop" "qview.desktop" ];
"image/*" = [ "qview.desktop" "imv.desktop" ];
"image/avif" = [ "imv.desktop" "qview.desktop" ];
"image/gif" = [ "imv.desktop" "qview.desktop" ];
"image/jpeg" = [ "imv.desktop" "qview.desktop" ]; # Обычный jpeg, прогрузка сверху вниз
"image/pjpeg" = [ "imv.desktop" "qview.desktop" ]; # Сначала размытый и постепенной лучше видно, для медленного инета
"image/apng" = [ "imv.desktop" "qview.desktop" ]; # Анимированный png
"image/png" = [ "imv.desktop" "qview.desktop" ];
"image/svg+xml" = [ "imv.desktop" "qview.desktop" ];
"image/webp" = [ "imv.desktop" "qview.desktop" ];
"image/x-icon" = [ "imv.desktop" "qview.desktop" ];
"image/vnd.microsoft.icon" = [ "imv.desktop" "qview.desktop" ];
"image/gif" = [ "qview.desktop" "imv.desktop" ];
"image/jpeg" = [ "qview.desktop" "imv.desktop" ]; # Обычный jpeg, прогрузка сверху вниз
"image/pjpeg" = [ "qview.desktop" "imv.desktop" ]; # Сначала размытый и постепенной лучше видно, для медленного инета
"image/apng" = [ "qview.desktop" "imv.desktop" ]; # Анимированный png
"image/png" = [ "qview.desktop" "imv.desktop" ];
"image/svg+xml" = [ "qview.desktop" "imv.desktop" ];
"image/webp" = [ "qview.desktop" "imv.desktop" ];
"image/x-icon" = [ "qview.desktop" "imv.desktop" ];
"image/vnd.microsoft.icon" = [ "qview.desktop" "imv.desktop" ];
# Video
"video/*" = [ "mpv.desktop" ];
"video/mp4" = [ "mpv.desktop" ];
@ -60,62 +60,62 @@
"audio/x-mpegurl" = [ "mpv.desktop" ]; # Для .m3u. Это файл-плейлист
"audio/x-opus+ogg" = [ "mpv.desktop" ]; # What's this? Why not "audio/ogg" and "audio/opus"?
# Text
"text/*" = [ "nvim.desktop" ]; # Надо ли заменять nvim и всё что ниже на NixVim?
"text/css" = [ "nvim.desktop" ];
"text/csv" = [ "nvim.desktop" ];
"text/html" = [ "nvim.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
"text/javascript" = [ "nvim.desktop" ];
"text/markdown" = [ "nvim.desktop" ];
"text/plain" = [ "nvim.desktop" ];
"text/x-asm" = [ "nvim.desktop" ];
"text/x-c" = [ "nvim.desktop" ];
"text/x-python" = [ "nvim.desktop" ];
"application/json" = [ "nvim.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
"application/x-sh" = [ "nvim.desktop" ];
"application/x-shellscript" = [ "nvim.desktop" ];
"application/xml" = [ "nvim.desktop" ];
"application/yaml" = [ "nvim.desktop" ];
"text/*" = [ "nvim.desktop" "codium.desktop" ]; # Надо ли заменять nvim и всё что ниже на NixVim?
"text/css" = [ "nvim.desktop" "codium.desktop" ];
"text/csv" = [ "nvim.desktop" "codium.desktop" ];
"text/html" = [ "nvim.desktop" "codium.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
"text/javascript" = [ "nvim.desktop" "codium.desktop" ];
"text/markdown" = [ "nvim.desktop" "codium.desktop" ];
"text/plain" = [ "nvim.desktop" "codium.desktop" ];
"text/x-asm" = [ "nvim.desktop" "codium.desktop" ];
"text/x-c" = [ "nvim.desktop" "codium.desktop" ];
"text/x-python" = [ "nvim.desktop" "codium.desktop" ];
"application/json" = [ "nvim.desktop" "codium.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
"application/x-sh" = [ "nvim.desktop" "codium.desktop" ];
"application/x-shellscript" = [ "nvim.desktop" "codium.desktop" ];
"application/xml" = [ "nvim.desktop" "codium.desktop" ];
"application/yaml" = [ "nvim.desktop" "codium.desktop" ];
# Мб потом добавить для docs варианты и разные виды архивов и ebook
# Other
"application/pdf" = [ "org.gnome.Evince.desktop" ];
"application/x-zerosize" = [ "nvim.desktop" ]; # Файл нулевого размера
"application/x-zerosize" = [ "nvim.desktop" "codium.desktop" ]; # Файл нулевого размера
"application/zip" = [ "ark.desktop" ];
"application/x-bittorrent" = [ "qbittorrent.desktop" ];
"x-scheme-handler/magnet" = [ "qbittorrent.desktop" ];
"inode/directory" = [ "thunar.desktop" ];
"inode/directory" = [ "dolphin.desktop" ];
"x-scheme-handler/mailto" = [ "thunderbird.desktop" ];
"x-scheme-handler/jetbrains" = [ "jetbrains-toolbox.desktop" ];
};
associations.added = { # Дополнительные приложения для нужного файла. Будет в меню "Открыть с помощью"
# Images
"image/*" = [ "imv.desktop" "qview.desktop" ];
"image/*" = [ "qview.desktop" "imv.desktop" ];
"image/avif" = [ "imv.desktop" "qview.desktop" ];
"image/gif" = [ "imv.desktop" "qview.desktop" ];
"image/jpeg" = [ "imv.desktop" "qview.desktop" ]; # Обычный jpeg, прогрузка сверху вниз
"image/pjpeg" = [ "imv.desktop" "qview.desktop" ]; # Сначала размытый и постепенной лучше видно, для медленного инета
"image/apng" = [ "imv.desktop" "qview.desktop" ]; # Анимированный png
"image/png" = [ "imv.desktop" "qview.desktop" ];
"image/svg+xml" = [ "imv.desktop" "qview.desktop" ];
"image/webp" = [ "imv.desktop" "qview.desktop" ];
"image/x-icon" = [ "imv.desktop" "qview.desktop" ];
"image/vnd.microsoft.icon" = [ "imv.desktop" "qview.desktop" ];
"image/gif" = [ "qview.desktop" "imv.desktop" ];
"image/jpeg" = [ "qview.desktop" "imv.desktop" ]; # Обычный jpeg, прогрузка сверху вниз
"image/pjpeg" = [ "qview.desktop" "imv.desktop" ]; # Сначала размытый и постепенной лучше видно, для медленного инета
"image/apng" = [ "qview.desktop" "imv.desktop" ]; # Анимированный png
"image/png" = [ "qview.desktop" "imv.desktop" ];
"image/svg+xml" = [ "qview.desktop" "imv.desktop" ];
"image/webp" = [ "qview.desktop" "imv.desktop" ];
"image/x-icon" = [ "qview.desktop" "imv.desktop" ];
"image/vnd.microsoft.icon" = [ "qview.desktop" "imv.desktop" ];
# Text
"text/*" = [ "nvim.desktop" ]; # Надо ли заменять nvim и всё что ниже на NixVim?
"text/css" = [ "nvim.desktop" ];
"text/csv" = [ "nvim.desktop" ];
"text/html" = [ "nvim.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
"text/javascript" = [ "nvim.desktop" ];
"text/markdown" = [ "nvim.desktop" ];
"text/plain" = [ "nvim.desktop" ];
"text/x-asm" = [ "nvim.desktop" ];
"text/x-c" = [ "nvim.desktop" ];
"text/x-python" = [ "nvim.desktop" ];
"application/json" = [ "nvim.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
"application/x-sh" = [ "nvim.desktop" ];
"application/x-shellscript" = [ "nvim.desktop" ];
"application/xml" = [ "nvim.desktop" ];
"application/yaml" = [ "nvim.desktop" ];
"text/*" = [ "nvim.desktop" "codium.desktop" ]; # Надо ли заменять nvim и всё что ниже на NixVim?
"text/css" = [ "nvim.desktop" "codium.desktop" ];
"text/csv" = [ "nvim.desktop" "codium.desktop" ];
"text/html" = [ "nvim.desktop" "codium.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
"text/javascript" = [ "nvim.desktop" "codium.desktop" ];
"text/markdown" = [ "nvim.desktop" "codium.desktop" ];
"text/plain" = [ "nvim.desktop" "codium.desktop" ];
"text/x-asm" = [ "nvim.desktop" "codium.desktop" ];
"text/x-c" = [ "nvim.desktop" "codium.desktop" ];
"text/x-python" = [ "nvim.desktop" "codium.desktop" ];
"application/json" = [ "nvim.desktop" "codium.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
"application/x-sh" = [ "nvim.desktop" "codium.desktop" ];
"application/x-shellscript" = [ "nvim.desktop" "codium.desktop" ];
"application/xml" = [ "nvim.desktop" "codium.desktop" ];
"application/yaml" = [ "nvim.desktop" "codium.desktop" ];
};
};
}
}

View file

@ -5,32 +5,22 @@
shellAliases = let
flakeDir = "~/dots";
in {
rbs = "sudo nixos-rebuild switch --impure --flake ${flakeDir}"; # Применить новый конфиг сразу
rbb = "sudo nixos-rebuild boot --impure --flake ${flakeDir}"; # Применить новый конфиг после ребута пк
rb = "sudo nixos-rebuild switch --flake ${flakeDir}"; # Применить новый конфиг
# Можно назвать аналогом "sudo pacman -Su", не "Syu", репу не обновляет
upg = "sudo nixos-rebuild switch --impure --upgrade --flake ${flakeDir}"; # Обновить пакеты, но не репозиторий во fleke.lock
upg = "sudo nixos-rebuild switch --upgrade --flake ${flakeDir}"; # Обновить пакеты, но не репозиторий во fleke.lock
# Обновить все flake inputs до последних версий. Возможно это аналог "sudo pacman -Sy" на Arch Linux
# Если после upd дописать название инпута из flake.nix, то обновится только указанный инпут
# Например `upd nixpkgs2` для обновления анстабле репы
upd = "sudo nix flake update --flake ${flakeDir}";
# Garbage collector. Удалить все не используемые пакеты (например после обновы)
grb = "sudo nix-collect-garbage -d";
# Возможно это аналог "sudo pacman -Sy". Обновить репозиторий, чтоб потом на него обновиться? Пакеты не обновляет
upd = "nix flake update ${flakeDir}"; # Обновляет flake.lock на последние коммиты с гитхаба?
pkgs = "nvim ${flakeDir}/nixos/packages.nix";
vim = "nvim";
vi = "nvim";
v = "nvim";
t = "timer";
r = "ranger";
g = "gitui";
f = "fastfetch";
yt = "cd /mnt/backups/Media/yt-dlp"; # Конфиги для бекапа YouTube
qb = "cd /mnt/backups/Media/Music/Qobuz/qdl"; # Бекапить музыку с Qobuz
html = "python3 /mnt/backups/html-library/generate_gallery.py --path"; # Html image gallery
ff = "fastfetch";
yt = "cd /mnt/backups/Media/yt-dlp"; # Бекапить YouTube
qb = "cd /mnt/backups/Media/Music/Qobux/qdl"; # Бекапить музыку с Qobuz
};
# Всё, что в комментах ниже, лишнее. Я нашёл норм способ. Пишем "nix-prefetch-git link" и получаем всю инфу
@ -89,4 +79,4 @@
end
'';
};
}
}

93
flake.lock generated
View file

@ -87,11 +87,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1741352980,
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
"lastModified": 1733312601,
"narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
"rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9",
"type": "github"
},
"original": {
@ -198,14 +198,17 @@
"nix-gaming": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs"
"nixpkgs": [
"nixpkgs"
],
"umu": "umu"
},
"locked": {
"lastModified": 1741657497,
"narHash": "sha256-2X7d94f9QcRnBKz1jJQfumATe8w4gXjwRly150ERnek=",
"lastModified": 1733622933,
"narHash": "sha256-DspyRdaFEPy8QHAONFfqG+EprRFYBe4ro5c6+1JaPqA=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "64a949349294543a48b3f946c9fca84332d1398b",
"rev": "b15e082eeea1afdf6bfe7aa0dbe4758097958f80",
"type": "github"
},
"original": {
@ -216,33 +219,30 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1741678040,
"narHash": "sha256-rmBsz7BBcDwfvDkxnKHmolKceGJrr0nyz5PQYZg0kMk=",
"owner": "NixOS",
"lastModified": 1733392399,
"narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3ee8818da146871cd570b164fc4f438f78479a50",
"rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1740877520,
"narHash": "sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "147dee35aab2193b174e4c0868bd80ead5ce755c",
"type": "github"
"lastModified": 1733096140,
"narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=",
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
"type": "tarball",
"url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz"
}
},
"nixpkgs-stable": {
@ -263,27 +263,11 @@
},
"nixpkgs2": {
"locked": {
"lastModified": 1742669843,
"narHash": "sha256-G5n+FOXLXcRx+3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w=",
"lastModified": 1737885589,
"narHash": "sha256-Zf0hSrtzaM1DEz8//+Xs51k/wdSajticVrATqDrfQjg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "1e5b653dff12029333a6546c11e108ede13052eb",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1733392399,
"narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661",
"rev": "852ff1d9e153d8875a83602e03fdef8a63f0ecf8",
"type": "github"
},
"original": {
@ -297,7 +281,7 @@
"inputs": {
"home-manager": "home-manager",
"nix-gaming": "nix-gaming",
"nixpkgs": "nixpkgs_2",
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable",
"nixpkgs2": "nixpkgs2",
"stylix": "stylix"
@ -399,6 +383,31 @@
"repo": "tinted-tmux",
"type": "github"
}
},
"umu": {
"inputs": {
"nixpkgs": [
"nix-gaming",
"nixpkgs"
]
},
"locked": {
"dir": "packaging/nix",
"lastModified": 1733509971,
"narHash": "sha256-LZIrb7HNWyLMU+dSI4fhbo2dMzJbbKKFWwYOpJwVXKE=",
"ref": "refs/heads/main",
"rev": "562e3900eebde0fb276dd2f425c097c8b44ccb92",
"revCount": 865,
"submodules": true,
"type": "git",
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
},
"original": {
"dir": "packaging/nix",
"submodules": true,
"type": "git",
"url": "https://github.com/Open-Wine-Components/umu-launcher/?dir=packaging/nix"
}
}
},
"root": "root",

View file

@ -23,7 +23,7 @@
nix-gaming = { # Удобно ставить некоторые игры
url = "github:fufexan/nix-gaming";
# inputs.nixpkgs.follows = "nixpkgs";
inputs.nixpkgs.follows = "nixpkgs";
};
};
@ -34,18 +34,15 @@
config = {
allowUnfree = true;
rocmSupport = true;
allowBroken = true;
permittedInsecurePackages = [
"python-2.7.18.8"
"electron-25.9.0"
];
};
pkgs = import nixpkgs {
inherit system;
inherit config;
};
pkgs2 = import inputs.nixpkgs2 {
inherit system;
inherit config;

View file

@ -2,7 +2,7 @@
imports = [
./ranger/ranger.nix
#./gui/vscode.nix
./gui/vscode.nix
./imv/imv.nix
./mpv/mpv.nix
@ -17,7 +17,7 @@
./terminal/zsh.nix
./mangohud.nix
./symlinks.nix # На виртуалке закомментить
./symlinks.nix
##############
## WM (X11) ##

View file

@ -1,13 +1,12 @@
{
{ pkgs, ... }: {
programs.mpv.enable = true;
home = {
# Решил нужные зависимости писать в packages.nix
# packages = with pkgs; [
# yt-dlp # Смотреть онлайн видео через mpv
# xclip # Буфер обмена на x11 для некоторых плагинов
# #wl-clipboard # Буфер обмена на wayland для некоторых плагинов
# ];
packages = with pkgs; [
yt-dlp # Смотреть онлайн видео через mpv
xclip # Буфер обмена на x11 для некоторых плагинов
#wl-clipboard # Буфер обмена на wayland для некоторых плагинов
];
file = {
".config/mpv/mpv.conf".source = ./mpv.conf;
@ -17,4 +16,4 @@
".config/mpv/fonts".source = ./fonts;
};
};
}
}

View file

@ -1,8 +1,8 @@
# Надо удалить оригинальный файл, прежде чем делать симлинк
# Некоторые проги забивают на симлинки и заменяют их своими файлами (например thunar)
# Тут уж ничего не поделать, придётся руками настраивать
# Некоторые проги клали хуй на симлинки и заменяют их своими файлами
# Таких прог я ебал рот и проклинал хуесосов разработчиков
# Если выдаёт ошибку про home-manager сервис при ребилде,
# значит такой файл уже существует и симлинк туда кинуть нельзя
# Значит такой файл уже существует и симлинк туда кинуть нельзя
# Для таких файлов я сделал каталог shit
# Я не уверен надо ли писать "config.lib.file.mkOutOfStoreSymlink"
@ -14,7 +14,7 @@
dir = "${config.home.homeDirectory}/${home-dir}";
in {
home.file = { # В .config этим нельзя кидать
# "${home-dir}".source = config.lib.file.mkOutOfStoreSymlink "/mnt/${home-dir}"; # Чтоб остальные симлинки были от ~/backups
# "${home-dir}".source = config.lib.file.mkOutOfStoreSymlink "/mnt/${home-dir}"; # Чтоб остальные симлинки были от ~/backups
# Secrets
".password-store".source = config.lib.file.mkOutOfStoreSymlink "${dir}/.password-store"; # Для утилиты pass
@ -25,10 +25,7 @@ in {
# Browsers. Мб сделать .force, чтоб удалить сток. А мб руками удалить сток перед этим
".mozilla".source = config.lib.file.mkOutOfStoreSymlink "${dir}/.mozilla";
".librewolf".source = config.lib.file.mkOutOfStoreSymlink "${dir}/.librewolf";
"Redis+pgAdmin".source = config.lib.file.mkOutOfStoreSymlink "${dir}/Redis+pgAdmin";
".kube".source = config.lib.file.mkOutOfStoreSymlink "${dir}/.kube";
# Временное решение, где `native-messaging-hosts/ff2mpv.json` ссылается на ~/ff2mpv.py
#"ff2mpv.py" = {

View file

@ -11,7 +11,7 @@
#qoutePath = false;
# aliases = {
# pu = "push";
# pu = "push";
# co = "checkout";
# cm = "commit";
# s = "status";
@ -21,4 +21,4 @@
programs.gitui = { # Terminal UI
enable = true;
};
}
}

View file

@ -33,12 +33,13 @@
vim = "nvim";
vi = "nvim";
v = "nvim";
t = "timer";
r = "ranger";
ff = "fastfetch";
g = "gitui";
f = "fastfetch";
yt = "cd /mnt/backups/Media/yt-dlp"; # Конфиги для бекапа YouTube
ytf = "yt-dlp --cookies-from-browser firefox";
qb = "cd /mnt/backups/Media/Music/Qobuz/qdl"; # Бекапить музыку с Qobuz
html = "python3 /mnt/backups/html-library/generate_gallery.py --path"; # Html image gallery
pyenva = "nix-shell --run zsh ${flakeDir}/modules/home-manager/pyenv-shell.nix";
@ -48,7 +49,6 @@
history = {
ignoreAllDups = true; # Удалять дубликаты из истории
ignoreSpace = true; # Не сохранять команду в истории, если перед ней стоит пробел
share = false; # Не синхронизировать историю в разных сессиях
};
# Environment variables that will be set for zsh session.
@ -76,9 +76,9 @@
enable = true;
plugins = [ # Комментирую то, в надобности чего не уверен, но показалось интересным. Можно удалить
# "alias-finder" # Напомнит, если у написанной команды есть алиас (нет, так что заменил пакетом)
# "aliases" # "als" в терминале покажет все алиасы (нет). Можно добавить слово для фильтрации
"aliases" # "als" в терминале покажет все алиасы (нет). Можно добавить слово для фильтрации
# "autoenv" # If a directory contains an .env file, it will automatically be executed when you cd into it (нет)
# "bgnotify" # Оповещения для долгих комманд. Make sure you have "notify-send" or "kdialog" installed. Хуета. По кд булькает
"bgnotify" # Оповещения для долгих комманд. Make sure you have "notify-send" or "kdialog" installed
"colored-man-pages" # Adds colors to man pages
#"command-not-found" # Скажет какой пакет скачать, если команда не найдена
"copypath" # В терминале "copypath" скопирует нынешний абсолютный путь. Можно "copypath файл или дироктория"
@ -90,7 +90,7 @@
# "httpie" # Completion for HTTPie, a command line HTTP client, a friendlier cURL replacement.
# "isodate" # Completion for the ISO 8601, as well as some aliases for common Date commands.
# "mise" # dev tools, env vars, task runner https://github.com/jdx/mise
# "safe-paste" # Preventing any code from running while pasting, so you have a chance to review what was pasted
"safe-paste" # Preventing any code from running while pasting, so you have a chance to review what was pasted
"ssh-agent" # Автостарт ssh-agent. Хз надо ли настраивать и если да, то как
"timer" # Показывает время выполнения команды
"universalarchive" # Run "ua <format> <files>"" to compress <files> into an archive file using <format>
@ -101,14 +101,14 @@
];
extraConfig = ''
zstyle :omz:plugins:ssh-agent identities git-git.urec56.ru echoapps_gitlab_mail@urec56.ru wyrenereli_github urec56_github revoluterra_gitlab
zstyle :omz:plugins:ssh-agent identities git-git.urec56.ru echoapps_gitlab_mail@urec56.ru
'';
};
};
home.packages = with pkgs; [
zsh-autoenv # Плагина autoenv в oh-my-zsh не работает. Мб этот заработает
# zsh-you-should-use # Напомнит, если у написанной команды есть алиас
zsh-you-should-use # Напомнит, если у написанной команды есть алиас
zsh-nix-shell # zsh plugin that lets you use zsh in nix-shell shell
];
}

View file

@ -28,14 +28,13 @@
"ksnip"
# "nekoray"
"obsidian"
"io.github.alainm23.planify"
# "spice-vdagent" # На виртуалке раскомментить
# "discord"
"planify"
# "spice-vdagent" # Для виртуалки
"discord"
"firefox"
"librewolf"
];
monitors = let
workspaces = [ "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"];
in {
@ -66,7 +65,8 @@
state = "floating";
};
in { # А тут правила окон
"Screenkey" = { manage = false; };
# "Screenkey" = { manage = false; };
# "Screenkey" = floating;
"gcolor3" = floating;
"obs" = floating;
"steam" = floating;
@ -82,16 +82,15 @@
"qt6ct" = floating;
"ksnip" = floating1600x900;
# "ark" = floating1200x800; # Удалил, чтоб blowjob на экран не выдавало
"file-roller" = floating1200x800;
"file-roller" = floating;
"floating-terminal" = floating1200x800;
"pavucontrol" = floating900x600;
# blueman-манагер надо флоатинг
"discord" = { monitor = "^2"; desktop = "3"; };
"vesktop" = { monitor = "^2"; desktop = "3"; };
"firefox" = { monitor = "^1"; desktop = "2"; };
"librewolf" = { monitor = "^1"; desktop = "1"; };
"obsidian" = { monitor = "^2"; desktop = "2"; };
"io.github.alainm23.planify" = { monitor = "^2"; desktop = "1"; };
"planify" = { monitor = "^2"; desktop = "1"; };
};
settings = {

View file

@ -5,8 +5,9 @@
# Стандартный конфиг https://github.com/baskerville/bspwm/blob/master/examples/sxhkdrc
{ pkgs, config, ... }: let
notifyMute = ''dunstify "$(if [ "$(pamixer --get-mute)" = "true" ]; then echo " Muted"; else echo " Unmuted"; fi)" -r 91190 -t 8000'';
notifyMicMute = ''dunstify "$(if [ "$(pamixer --default-source --get-mute)" = "true" ]; then echo " Muted"; else echo " Unmuted"; fi)" -r 91190 -t 8000'';
muteText = ''then echo " Muted"; else echo " Unmuted"; fi)" -r 91190 -t 8000'';
notifyMute = ''dunstify "$(if [ "$(pamixer --get-mute)" = "true" ]; ${muteText}'';
notifyMicMute = ''dunstify "$(if [ "$(pamixer --default-source --get-mute)" = "true" ]; ${muteText}'';
notifyVolume = ''dunstify " Volume: $(pamixer --get-volume)" -r 91190 -t 800'';
# -r 91190: Это идентификатор уведомления (notification ID). Уведомления с одинаковым ID будут заменять друг друга.
# -t 800: Это время в миллисекундах, через которое уведомление будет автоматически закрыто.
@ -168,16 +169,16 @@ in {
chromium
# Note taking app (obsidian)
# super + n
# obsidian
super + n
obsidian
# Explorer. Thunar file manager
super + e
thunar
dolphin
# IDE, text editor
# super + i
# codium
super + i
code
# Monitor of resources (btop)
super + m

View file

@ -1,14 +1,15 @@
{
imports = [
# ./env.nix # Мб не надо, ибо редачу через home.nix?
./filesystems.nix # На виртуалке закомментить
./filesystems.nix
./hardware.nix
./hibernate.nix # На виртуалке закомментить
./hibernate.nix
./locale.nix
./network.nix
./sound.nix
./stylix.nix
./virtualisation.nix
./vr.nix
./xserver.nix
];
}

View file

@ -2,4 +2,4 @@
environment.variables = {
EDITOR = "nvim";
};
}
}

View file

@ -18,6 +18,7 @@
enable32Bit = true; # install 32-bit drivers for 32-bit applications (such as Wine).
extraPackages = with pkgs; [
libva # VAAPI (Video Acceleration API)
rocmPackages.clr.icd # OpenCL
];
};

View file

@ -12,8 +12,8 @@
{
boot = {
resumeDevice = "/dev/disk/by-uuid/0951089a-fd89-4647-9ddb-0e3ff63d7b49";
kernelParams = [ "resume_offset=6799360" ];
resumeDevice = "/dev/disk/by-uuid/efaee29f-06a9-4486-b1ef-675d3d06c350";
kernelParams = [ "resume_offset=11440128" ];
};
# Не знаю надо ли это. На виртуалке я не могу забутиться в любом случае

View file

@ -23,21 +23,25 @@
table.insert (default_access.rules,{
matches = {
{
{ "application.process.binary", "=", "*" }
}
},
default_permissions = "r-x",
})
table.insert (default_access.rules,{
matches = {
{
{ "application.process.binary", "=", ".pavucontrol-wrapped" }
{ "application.process.binary", "=", ".Discord-wrapped" }
},
{
{ "application.process.binary", "=", ".easyeffects-wrapped" }
{ "application.process.binary", "=", "chromium" }
},
{
{ "application.process.binary", "=", "librewolf" }
},
{
{ "application.process.binary", "=", "firefox" }
},
{
{ "application.process.binary", "=", "steam" }
},
{
{ "application.process.binary", "=", ".telegram-desktop-wrapped" }
}
},
default_permissions = "rwx",
default_permissions = "rx",
})
'';
};

View file

@ -24,7 +24,7 @@
# Ширина символов одинаковая
monospace = { # default = DejaVu Sans Mono
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrainsMonoNL Nerd Font Mono";
name = "JetBrainsMono Nerd Font Mono";
};
emoji = { # default = Noto Color Emoji
@ -63,11 +63,13 @@
};
###################################################
## Тема qt через stylix у меня не работает ##
## Хотя в видео у других людей всё менялось ##
## Приходится руками ставить грувбокс через qtct ##
###################################################
##################################################
## Хули блять у всех работают темы для qt ##
## Один я далбаёб проебал 3 дня ##
## Прочитал весь код ебаного stylix ##
## И нихуя не работает блять ##
## Так что поставлю руками грувбокс через qtct ##
##################################################
# https://discourse.nixos.org/t/guide-to-installing-qt-theme/35523/2
qt = {
@ -75,4 +77,4 @@
style = "kvantum";
platformTheme = "qt5ct";
};
}
}

View file

@ -35,7 +35,6 @@
# <target type='virtio' name='org.qemu.guest_agent.0'/>
# </channel>
# На виртуалке надо раскомментить
# services = {
# openssh.enable = true; # Это ставится на виртуалку, чтоб к ней конект по ssh работал.
# spice-vdagentd.enable = true; # Clipboard sharing

40
modules/nixos/vr.nix Normal file
View file

@ -0,0 +1,40 @@
# Beat Saber является OpenXR игрой, что не поддерживается Alvr из коробки
# Возможно на X11 это можно исправить простой настройкой в SteamVR
# Но на Wayland мне приходилось качать разом весь этот софт на Arch
# Поэтому сразу поставил всё что надо и не пробовал найти необходимый минимум
# Мб пригодится поставить opencomposite для трансляции OpenVR в OpenXR
{ pkgs, ... }: {
services = {
# Open source XR runtime
monado = {
enable = true;
};
# An OpenXR streaming application to a standalone headset
# wivrn = {
# enable = true;
# openFirewall = true;
# };
};
programs = {
# Stream VR games from your PC to your headset via Wi-Fi
alvr = {
enable = true;
openFirewall = true;
};
# UI for Monado, the open source OpenXR runtime
# envision = {
# enable = true;
# openFirewall = true;
# };
};
}

View file

@ -18,7 +18,6 @@
accelProfile = "flat";
scrollMethod = "button";
scrollButton = 9; # Узнать айди можно через `xev -event button | grep button`
middleEmulation = false;
};
touchpad = {
accelProfile = "flat";
@ -45,9 +44,7 @@
xkb = {
layout = "us,ru";
variant = "";
# На виртуалке удалить caps_toggle
options = "grp:caps_toggle,grp:alt_shift_toggle"; # Менять язык на CapsLock или alt + shift
# Применить правила руками `setxkbmap -option grp:alt_shift_toggle`
options = "grp:caps_toggle"; # Менять язык на CapsLock
};
displayManager.sessionCommands = ''

View file

@ -67,18 +67,19 @@ in {
xdg.portal = {
enable = true;
configPackages = with pkgs; [
xdg-desktop-portal
# kdePackages.xdg-desktop-portal-kde
# xdg-desktop-portal-gtk # Чтоб загружать файлы и стримить в дискорде
xdg-desktop-portal-gtk # Чтоб загружать файлы и стримить в дискорде
];
extraPortals = with pkgs; [
xdg-desktop-portal
# kdePackages.xdg-desktop-portal-kde
# xdg-desktop-portal-gtk # Чтоб загружать файлы и стримить в дискорде
xdg-desktop-portal-gtk # Чтоб загружать файлы и стримить в дискорде
];
};
nix.settings.experimental-features = ["nix-command" "flakes"];
nix.settings = {
experimental-features = ["nix-command" "flakes"];
# For nix-gaming
substituters = ["https://nix-gaming.cachix.org"];
trusted-public-keys = ["nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="];
};
system.stateVersion = "24.05"; # Don't change it

View file

@ -16,6 +16,9 @@
# то не получится ставить расширения. Потому что там софт ставится от рута и vscode
# будет пытаться установить расширения в каталог nix store, куда нельзя что либо ставить без рута.
packages = with pkgs; [
#vscode # Мб надо в home.packages писать, чтоб расширения ставились без рута
#jetbrains-toolbox # Мб надо через home.packages писать
jetbrains.pycharm-professional
vscodium
];
@ -31,7 +34,6 @@
#NIX_LD_LIBRARY_PATH = "/run/current-system/sw/share/nix-ld/lib";
#NIX_LD = "/run/current-system/sw/share/nix-ld/lib/ld.so";
LD_LIBRARY_PATH = "/run/current-system/sw/share/nix-ld/lib";
PATH = "$PATH:${config.home.homeDirectory}/go/bin";
};
stateVersion = "24.05"; # Don't change it

View file

@ -45,8 +45,8 @@
# fwupd.enable = true; # DBus service that allows applications to update firmware
# greenclip.enable = true; # https://github.com/erebe/greenclip (использую clipmenu вместо этого)
# fstrim.enable = true; # Чистит ssd для норм производительности. Пока не пользуюсь
# archisteamfarm = {}; # Фарм карточек стима афк. Просто раскомментить мало, надо настроить
ollama = let
# archisteamfarm = {}; # Фарм карточек стима афк. Простро раскомментить мало, надо настроить
ollama = let
pinPackage =
{
name,
@ -75,53 +75,17 @@
# additional environment variables
# environmentVariables = { HSA_OVERRIDE_GFX_VERSION="10.3.0"; };
};
# languagetool = { # Языковой сервер для lsp ltex-ls. Жаба кусок кала, жрёт 1.6гб оперативы без нихуя
# enable = true;
# port = 8081;
# };
};
programs = {
nix-ld = { # Позволяет нормально юзать либы для венва и тп
enable = true;
libraries = with pkgs2; [
# libGL
# glib
# libGLU.out
stdenv.cc.cc # Нужно чтоб yt-dlp в dev shell видел ffmpeg
# Nekoray (Throne)
kdePackages.qtbase
kdePackages.qttools
kdePackages.qtwayland
kdePackages.qtsvg
kdePackages.qtimageformats
util-linux
zlib
zstd
mesa
libraries = with pkgs; [
gcc
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
glib
libGLU.out
stdenv.cc.cc
];
};
zsh.enable = true;
@ -150,6 +114,13 @@
};
xfconf.enable = true; # For Thunar configs
# gdk-pixbuf-query-loaders | grep avif
# ls /run/current-system/sw/lib/gdk-pixbuf-2.0/2.10.0/loaders/
# gdk-pixbuf.modulePackages = with pkgs; [
# webp-pixbuf-loader
# libavif
# ];
steam = {
enable = true;
extraCompatPackages = with pkgs; [ # Доп версии протона. Должны иметь `steamcompattool` output
@ -187,13 +158,12 @@
python3Packages.debugpy # Debug Adapter Protocol for Python
pyright # Python LSP
ruff # Extremely fast Python linter
uv # Fast package manager
# C/C++
clang-tools # Clangd? LSP
ccls # C/C++ LSP
clang # Компилятор
pkgs2.gcc # Компилятор
gcc # Компилятор
glibc # GNU C Library
gnumake # ?
cmake-language-server # CMake LSP
@ -211,9 +181,6 @@
delve # Go debugger
templ # A language for writing HTML user interfaces in Go.
golangci-lint # Fast linters Runner for Go
graphviz # Graph visualisation tool
gosec # Security checker
trivy # Security dependency scanner
# Nix
nixd # Nix LSP. Нет в mason
@ -247,8 +214,8 @@
# tailwindcss
# Protobuf
protols # LSP
# buf # LSP (крашит некоторые проекты в нвиме)
# protols # LSP
buf # LSP
protobuf
protoc-gen-go
protoc-gen-go-grpc
@ -260,7 +227,6 @@
vim-language-server # VimScript LSP
go-migrate # Database migrations. CLI and Golang library
postman # API Development Environment
kubectl # Для управления кубером
# For nvim
tree-sitter # For nvim
@ -282,14 +248,15 @@
## Terminal ##
##############
mdadm # Для создания рейд массивов
cryptsetup # Для шифрования дисков
pkgs2.openssl
mdadm
cryptsetup
openssl
wget
curl
git
xclip # Для работы буфера обмена
ffmpeg_7-full # Обработка видео. Нужен всегда и везде
xclip # Буфер обмена
ffmpeg_7 # Обработка видео. Нужен всегда и везде как зависимость
# imlib2Full # Image manipulation library
imagemagick # Обработка изображений. Мб тоже нужен всегда
vips # В 4 раза быстрее imagemagick?
tree # Структура файлов в терминале
@ -306,7 +273,6 @@
# zscroll # A text scroller for use with panels and shells https://github.com/noctuid/zscroll
tokei # Количество строк кода на разных языках в каталоге
pass # Менеджер паролей в терминале
nvtopPackages.full # Htop like gpu monitor
amdgpu_top # Tool to display AMD GPU usage
btop # Монитор ресурсов в терминале
rocmPackages.rocm-smi # Чтоб в btop было gpu (не работает)
@ -322,7 +288,7 @@
fzf # Нечёткий поиск
killall # Убить процессы. Мем, что в стоке не стоит
libnotify # Вызов оповещений через "notify-send"
gallery-dl # Качать много картинок с кучи разных сайтов
pkgs2.gallery-dl # Качать много картинок с кучи разных сайтов
shellcheck # Проверка shell скриптов на ошибки
pwgen # Генератор паролей
lm_sensors # Сенсоры
@ -390,10 +356,10 @@
f3d # Fast and minimalist 3D viewer using VTK. Thumbnailer for 3D files, including glTF, stl, step, ply, obj, fbx.
openscad # 3D model previews (stl, off, dxf, scad, csg). Этот именно для ranger, но мб пригодится и в других местах
pkgs2.kdePackages.dolphin # Долфин и софт для него
pkgs2.kdePackages.ffmpegthumbs
pkgs2.kdePackages.kdegraphics-thumbnailers
pkgs2.kdePackages.filelight
kdePackages.dolphin # Долфин и софт для него
kdePackages.ffmpegthumbs
kdePackages.kdegraphics-thumbnailers
kdePackages.filelight
##################
## File support ##
@ -428,15 +394,11 @@
mousai # Опенсорс шазам. Со временем просит платный api
spek # Спектрограмма аудио.
mpv # Смотреть видео
qpwgraph # Аналог qjackctl для pipewire
carla # Для накладывания зкуковых эффектов
rnnoise-plugin # Плагин для шумоподавления
# Смотреть картинки
imv # Не умеет показывать анимированные webp. Через раз может показывать avif
qview # Умеет в анимированные webp. Не умеет открывать avif
feh # Нужен в большом количестве софта как зависимость. Может в avif, но криво
############
## Social ##
############
@ -494,6 +456,12 @@
#########
neovim
# helix # A Kakoune/Neovim inspired editor, written in Rust.
# Закинул в home.nix
# vscode
# jetbrains-toolbox
# zed-editor
###########
## Icons ##
@ -545,10 +513,10 @@
pamixer # PulseAudio cli (громкость редачу)
easyeffects # PipeWire settings. Мне для эквалайзера нужен
weston # Для запуска wayland only apps на x11 (ещё есть cage, но он крашит систему при ребилде)
ltex-ls # Lsp для текста
nix-index # Проверить как отображаются некоторые пакеты(например libz.so.1). Запускается nix-index, а потом nix-locate --top-level <Название пакета>
docker
docker-compose
# Для работы некоторых тем sddm
kdePackages.qt5compat
libsForQt5.qt5.qtgraphicaleffects

View file

@ -41,7 +41,6 @@ ln -s ~/nixos-private-dots/nvim ~/.config/nvim
- `fd`
- `xclip` на X11 или `wl-clipboard` на Wayland
- `tree-sitter`
- `ueberzugpp`
- Любой nerd font
Пакеты для разных языков могут часть меняться, так что ищем в `packages.nix`
@ -147,9 +146,6 @@ Per project можно использовать `.editorconfig` файл в ко
| `st` | `S`earch `T`hemes | health.lua |
| `q` | Open diagnostic `Q`uicfix list | settings.lua |
| `f` | `F`ormat buffer | autoformat.lua |
| `Sd` | `S`ession `D`elete | session.lua |
| `Sc` | `S`ession `C`reate | session.lua |
| `Backspace` | Session restore | session.lua |
### Git

View file

@ -1,4 +0,0 @@
vim.bo.expandtab = true
vim.bo.tabstop = 2
vim.bo.shiftwidth = 2
vim.bo.softtabstop = 2

View file

@ -1,7 +1,6 @@
-- [[ Базовые настройки. Не плагины ]]
require 'kickstart.settings'
require 'custom.terminal'
require 'custom.sessions'
-- [[ Install `lazy.nvim` plugin manager ]]
-- See `:help lazy.nvim.txt` or https://github.com/folke/lazy.nvim for more info
@ -88,36 +87,17 @@ require('lazy').setup({
-- Feature-Rich Go Plugin for Neovim
require 'custom.plugins.golang',
-- Automated session manager
require 'custom.plugins.sessions',
-- Plugins for git
require 'custom.plugins.git',
-- Plugins for color highlight
require 'custom.plugins.colorizer',
-- Multicursor plugin
require 'custom.plugins.multicursor',
-- Symbol usage plugin
require 'custom.plugins.symbol_usage',
-- Adding history for nvim clipboard
require 'custom.plugins.clip_history',
-- Autoformat markdown tables
{
'Kicamon/markdown-table-mode.nvim',
config = function()
require('markdown-table-mode').setup { -- Если не работает, то можно прописать `:Mtm`
filetype = {
'*.md',
},
options = {
insert = true, -- when typing "|"
insert_leave = true, -- when leaving insert
pad_separator_line = false, -- add space in separator line
alig_style = 'default', -- default, left, center, right
},
}
require('markdown-table-mode').setup()
end,
},

View file

@ -1,51 +1,57 @@
{
"LuaSnip": { "branch": "master", "commit": "c9b9a22904c97d0eb69ccb9bab76037838326817" },
"cmp-nvim-lsp": { "branch": "main", "commit": "a8912b88ce488f411177fc8aed358b04dc246d7b" },
"cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" },
"cmp-path": { "branch": "main", "commit": "c6635aae33a50d6010bf1aa756ac2398a2d54c32" },
"auto-session": { "branch": "main", "commit": "021b64ed7d4ac68a37be3ad28d8e1cba5bec582c" },
"catppuccin": { "branch": "main", "commit": "f67b886d65a029f12ffa298701fb8f1efd89295d" },
"cmp-nvim-lsp": { "branch": "main", "commit": "99290b3ec1322070bcfb9e846450a46f6efa50f0" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"conform.nvim": { "branch": "master", "commit": "6632e7d788a85bf8405ea0c812d343fc308b7b8c" },
"conform.nvim": { "branch": "master", "commit": "70019124aa4f2e6838be9fbd2007f6d13b27a96d" },
"diffview.nvim": { "branch": "main", "commit": "4516612fe98ff56ae0415a259ff6361a89419b0a" },
"fidget.nvim": { "branch": "main", "commit": "d9ba6b7bfe29b3119a610892af67602641da778e" },
"friendly-snippets": { "branch": "main", "commit": "31f2a2657b6261724313281fe0d8ba6f43f4a4fa" },
"gitsigns.nvim": { "branch": "main", "commit": "d600d3922c1d001422689319a8f915136bb64e1e" },
"go.nvim": { "branch": "master", "commit": "ecffa1757ac8e84e1e128f12e0fdbf8418354f6f" },
"gruvbox.nvim": { "branch": "main", "commit": "a933d8666dad9363dc6908ae72cfc832299c2f59" },
"guihua.lua": { "branch": "master", "commit": "3bce83823fe59fe438b0484777e56250153aaebf" },
"hydra.nvim": { "branch": "main", "commit": "8c4a9f621ec7cdc30411a1f3b6d5eebb12b469dc" },
"image.nvim": { "branch": "master", "commit": "2e2d28b7734b5efdfc1219f4da8a46c761587bc2" },
"indent-blankline.nvim": { "branch": "master", "commit": "005b56001b2cb30bfa61b7986bc50657816ba4ba" },
"lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" },
"lazydev.nvim": { "branch": "main", "commit": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c" },
"luvit-meta": { "branch": "main", "commit": "1df30b60b1b4aecfebc785aa98943db6c6989716" },
"markdown-table-mode.nvim": { "branch": "main", "commit": "302ca4c1016c4895938027003a7b71d65a618b09" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" },
"mason-nvim-dap.nvim": { "branch": "main", "commit": "4c2cdc69d69fe00c15ae8648f7e954d99e5de3ea" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "1255518cb067e038a4755f5cb3e980f79b6ab89c" },
"mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" },
"mini.nvim": { "branch": "main", "commit": "a8b1d74f45dadf3554c0eed784c6ccd8ade67883" },
"multicursors.nvim": { "branch": "main", "commit": "72225ea9e4443c3f4b9df91d0193e07c4ee8d382" },
"neo-tree.nvim": { "branch": "main", "commit": "9b5d67119c46e3262ffe1508fe6d8540b79ad75d" },
"nui.nvim": { "branch": "main", "commit": "8d3bce9764e627b62b07424e0df77f680d47ffdb" },
"nvim-autopairs": { "branch": "master", "commit": "4d74e75913832866aa7de35e4202463ddf6efd1b" },
"nvim-cmp": { "branch": "main", "commit": "b5311ab3ed9c846b585c0c15b7559be131ec4be9" },
"nvim-colorizer.lua": { "branch": "master", "commit": "517df88cf2afb36652830df2c655df2da416a0ae" },
"nvim-dap": { "branch": "master", "commit": "7aade9e99bef5f0735cf966e715b3ce45515d786" },
"nvim-dap-go": { "branch": "main", "commit": "8763ced35b19c8dc526e04a70ab07c34e11ad064" },
"nvim-dap-ui": { "branch": "master", "commit": "881a69e25bd6658864fab47450025490b74be878" },
"nvim-lint": { "branch": "master", "commit": "3615c26c4922ae5f7366f0c1943a0e7cece04325" },
"nvim-lspconfig": { "branch": "master", "commit": "a56f4b9dde5daf3d4c7bb50cf78ab609537f2259" },
"nvim-neoclip.lua": { "branch": "main", "commit": "831a97c7697736411a05ff8b91e8798ea4c2d6fb" },
"nvim-nio": { "branch": "master", "commit": "21f5324bfac14e22ba26553caf69ec76ae8a7662" },
"nvim-treesitter": { "branch": "master", "commit": "684eeac91ed8e297685a97ef70031d19ac1de25a" },
"nvim-treesitter-context": { "branch": "master", "commit": "b8ec6e391020a3ee18547f3343b25fc7c9ada9cc" },
"nvim-web-devicons": { "branch": "master", "commit": "c90dee4e930ab9f49fa6d77f289bff335b49e972" },
"plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" },
"rustaceanvim": { "branch": "master", "commit": "e9c5aaba16fead831379d5f44617547a90b913c7" },
"symbol-usage.nvim": { "branch": "main", "commit": "e8712de8f339d40f96c0c89566f9bb97e647599d" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "1f08ed60cafc8f6168b72b80be2b2ea149813e55" },
"edge": { "branch": "master", "commit": "12ff979b43e3660053e14cd65101d5928e56f422" },
"everforest": { "branch": "master", "commit": "84fbfc99c9853408682f104063a7ef4465dae46a" },
"fidget.nvim": { "branch": "main", "commit": "9238947645ce17d96f30842e61ba81147185b657" },
"friendly-snippets": { "branch": "main", "commit": "efff286dd74c22f731cdec26a70b46e5b203c619" },
"gitsigns.nvim": { "branch": "main", "commit": "5f808b5e4fef30bd8aca1b803b4e555da07fc412" },
"go.nvim": { "branch": "master", "commit": "c6d5ca26377d01c4de1f7bff1cd62c8b43baa6bc" },
"gruvbox-material": { "branch": "master", "commit": "e41451337d33997aff4c078a83165a9f66e2d38d" },
"gruvbox.nvim": { "branch": "main", "commit": "68c3460a5d1d1a362318960035c9f3466d5011f5" },
"guihua.lua": { "branch": "master", "commit": "d783191eaa75215beae0c80319fcce5e6b3beeda" },
"image.nvim": { "branch": "master", "commit": "f1163cc2f6fff5b0de7c23c7502eee0df23a3e0e" },
"indent-blankline.nvim": { "branch": "master", "commit": "259357fa4097e232730341fa60988087d189193a" },
"kanagawa.nvim": { "branch": "master", "commit": "18ae5771b22d8f913ef541c827a8180b4cb12c8a" },
"lazy.nvim": { "branch": "main", "commit": "7e6c863bc7563efbdd757a310d17ebc95166cef3" },
"lazydev.nvim": { "branch": "main", "commit": "8620f82ee3f59ff2187647167b6b47387a13a018" },
"luvit-meta": { "branch": "main", "commit": "55709f183b0742a7e4f47688c284f81148ad4dc0" },
"markdown-table-mode.nvim": { "branch": "main", "commit": "870d0449c1c78c673faa9637a63036f9537b4caa" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "97d9f1d3ad205dece6bcafd1d71cf1507608f3c7" },
"mason-nvim-dap.nvim": { "branch": "main", "commit": "8b9363d83b5d779813cdd2819b8308651cec2a09" },
"mason-tool-installer.nvim": { "branch": "main", "commit": "c5e07b8ff54187716334d585db34282e46fa2932" },
"mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" },
"mini.nvim": { "branch": "main", "commit": "b1af49d98233180c6045e81f4aef5b663d032b62" },
"monokai-pro.nvim": { "branch": "master", "commit": "6c15e36834a624a32f46c6db8f9fc063995b24b6" },
"neo-tree.nvim": { "branch": "main", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" },
"nightfox.nvim": { "branch": "main", "commit": "595ffb8f291fc4a9bef3201a28b7c0379a41cdee" },
"nordic.nvim": { "branch": "main", "commit": "1ee4044077059b34eacd18d93613495a602c131f" },
"nui.nvim": { "branch": "main", "commit": "53e907ffe5eedebdca1cd503b00aa8692068ca46" },
"nvim-autopairs": { "branch": "master", "commit": "b464658e9b880f463b9f7e6ccddd93fb0013f559" },
"nvim-cmp": { "branch": "main", "commit": "8c82d0bd31299dbff7f8e780f5e06d2283de9678" },
"nvim-dap": { "branch": "master", "commit": "0e673accbb512e1e191dfb4fecea89cc38c1bcdd" },
"nvim-dap-go": { "branch": "main", "commit": "6aa88167ea1224bcef578e8c7160fe8afbb44848" },
"nvim-dap-ui": { "branch": "master", "commit": "e94d98649dccb6a3884b66aabc2e07beb279e535" },
"nvim-lint": { "branch": "master", "commit": "dfa45de973c3ce7bd1b9a6d346f896a68ad07e44" },
"nvim-lspconfig": { "branch": "master", "commit": "8121483b8132b7053120fafd83728178fb3febf6" },
"nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" },
"nvim-treesitter": { "branch": "master", "commit": "622a4a6ba76d1de52b72a965159213ae655b4ac7" },
"nvim-treesitter-context": { "branch": "master", "commit": "d0dd7ce5a9d0be1f28086e818e52fdc5c78975df" },
"nvim-web-devicons": { "branch": "master", "commit": "5740b7382429d20b6ed0bbdb0694185af9507d44" },
"plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" },
"rose-pine": { "branch": "main", "commit": "91548dca53b36dbb9d36c10f114385f759731be1" },
"rustaceanvim": { "branch": "master", "commit": "0a1876b970ab946be3f4d341e9d743a5d62d646a" },
"sonokai": { "branch": "master", "commit": "836ad3994d3d0eaea68126cabddf6319508584e8" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "dae2eac9d91464448b584c7949a31df8faefec56" },
"telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" },
"telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"todo-comments.nvim": { "branch": "main", "commit": "304a8d204ee787d2544d8bc23cd38d2f929e7cc5" },
"which-key.nvim": { "branch": "main", "commit": "370ec46f710e058c9c1646273e6b225acf47cbed" }
"todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" },
"tokyonight.nvim": { "branch": "main", "commit": "7bb270adaa7692c2c33befc35f5567fc596a2504" },
"which-key.nvim": { "branch": "main", "commit": "1f8d414f61e0b05958c342df9b6a4c89ce268766" }
}

View file

@ -1,14 +0,0 @@
-- Adding history for nvim clipboard
return {
{
'AckslD/nvim-neoclip.lua',
dependencies = {
{ 'nvim-telescope/telescope.nvim' },
},
config = function()
require('neoclip').setup()
vim.keymap.set('n', '<leader>sc', ':Telescope neoclip<CR>', { desc = '[S]earch [C]lip history' })
end,
},
}

View file

@ -1,63 +0,0 @@
-- A high-performance color highlighter
return {
{
'catgoose/nvim-colorizer.lua',
event = 'BufReadPre',
opts = { -- set to setup table
filetypes = { '*' }, -- Filetype options. Accepts table like `user_default_options`
buftypes = {}, -- Buftype options. Accepts table like `user_default_options`
-- Boolean | List of usercommands to enable. See User commands section.
user_commands = true, -- Enable all or some usercommands
lazy_load = false, -- Lazily schedule buffer highlighting setup function
user_default_options = {
names = true, -- "Name" codes like Blue or red. Added from `vim.api.nvim_get_color_map()`
names_opts = { -- options for mutating/filtering names.
lowercase = true, -- name:lower(), highlight `blue` and `red`
camelcase = true, -- name, highlight `Blue` and `Red`
uppercase = false, -- name:upper(), highlight `BLUE` and `RED`
strip_digits = false, -- ignore names with digits,
-- highlight `blue` and `red`, but not `blue3` and `red4`
},
-- Expects a table of color name to #RRGGBB value pairs. # is optional
-- Example: { cool = "#107dac", ["notcool"] = "ee9240" }
-- Set to false to disable, for example when setting filetype options
names_custom = false, -- Custom names to be highlighted: table|function|false
RGB = true, -- #RGB hex codes
RGBA = true, -- #RGBA hex codes
RRGGBB = true, -- #RRGGBB hex codes
RRGGBBAA = false, -- #RRGGBBAA hex codes
AARRGGBB = false, -- 0xAARRGGBB hex codes
rgb_fn = false, -- CSS rgb() and rgba() functions
hsl_fn = false, -- CSS hsl() and hsla() functions
css = false, -- Enable all CSS *features*:
-- names, RGB, RGBA, RRGGBB, RRGGBBAA, AARRGGBB, rgb_fn, hsl_fn
css_fn = false, -- Enable all CSS *functions*: rgb_fn, hsl_fn
-- Tailwind colors. boolean|'normal'|'lsp'|'both'. True sets to 'normal'
tailwind = false, -- Enable tailwind colors
tailwind_opts = { -- Options for highlighting tailwind names
update_names = false, -- When using tailwind = 'both', update tailwind names from LSP results. See tailwind section
},
-- parsers can contain values used in `user_default_options`
sass = { enable = false, parsers = { 'css' } }, -- Enable sass colors
-- Highlighting mode. 'background'|'foreground'|'virtualtext'
mode = 'background', -- Set the display mode
-- Virtualtext character to use
virtualtext = '',
-- Display virtualtext inline with color. boolean|'before'|'after'. True sets to 'after'
virtualtext_inline = false,
-- Virtualtext highlight mode: 'background'|'foreground'
virtualtext_mode = 'foreground',
-- update color values even if buffer is not focused
-- example use: cmp_menu, cmp_docs
always_update = false,
-- hooks to invert control of colorizer
hooks = {
-- called before line parsing. Accepts boolean or function that returns boolean
-- see hooks section below
disable_line_highlight = false,
},
},
},
},
}

View file

@ -9,13 +9,11 @@ return {
'nvim-treesitter/nvim-treesitter',
},
config = function()
require('go').setup {
tag_options = '',
}
require('go').setup()
vim.keymap.set({ 'n' }, '<leader>gta', ':GoAddTag<CR>', { desc = '[G]o [T]ag [A]dd' })
vim.keymap.set({ 'n' }, '<leader>gtr', ':GoRmTag<CR>', { desc = '[G]o [T]ag [R]emove' })
vim.keymap.set({ 'n' }, '<leader>gfs', ':GoFillStruct<CR>', { desc = '[G]o [F]ill [S]truct' })
vim.keymap.set({ 'n' }, '<leader>gfc', ':GoFillSwitch<CR>', { desc = '[G]o [F]ill Switch [C]ase' })
vim.keymap.set({ 'n' }, '<leader>gs', ':GoFillStruct<CR>', { desc = '[G]o fill [S]truct' })
vim.keymap.set({ 'n' }, '<leader>gc', ':GoFillSwitch<CR>', { desc = '[G]o fill Switch [C]ase' })
-- Go Fix Plurals - change func foo(b int, a int, r int) -> func foo(b, a, r int)
vim.keymap.set({ 'n' }, '<leader>gp', ':GoFixPlurals<CR>', { desc = '[G]o fix [P]lurals' })
vim.keymap.set({ 'n' }, '<leader>ge', ':GoIfErr<CR>', { desc = '[G]o if [E]rr' })

View file

@ -1,21 +0,0 @@
-- Multicursor
return {
{
'smoka7/multicursors.nvim',
event = 'VeryLazy',
dependencies = {
'nvimtools/hydra.nvim',
},
opts = {},
cmd = { 'MCstart', 'MCvisual', 'MCclear', 'MCpattern', 'MCvisualPattern', 'MCunderCursor' },
keys = {
{
mode = { 'v', 'n' },
'<Leader>m',
'<cmd>MCstart<cr>',
desc = 'Create a selection for selected text or word under the cursor',
},
},
},
}

View file

@ -0,0 +1,16 @@
-- A small automated session manager for Neovim
return {
{
'rmagatti/auto-session',
lazy = false,
---enables autocomplete for opts
---@module "auto-session"
---@type AutoSession.Config
opts = {
suppressed_dirs = { '~/', '~/Projects', '~/Downloads', '/' },
-- log_level = 'debug',
},
},
}

View file

@ -1,41 +0,0 @@
-- Symbol usage plugin
local SymbolKind = vim.lsp.protocol.SymbolKind
local function text_format(symbol)
local fragments = {}
-- Indicator that shows if there are any other symbols in the same line
local stacked_functions = symbol.stacked_count > 0 and (' | +%s'):format(symbol.stacked_count) or ''
if symbol.references then
local usage = symbol.references <= 1 and 'usage' or 'usages'
local num = symbol.references == 0 and 'no' or symbol.references
table.insert(fragments, ('%s %s'):format(num, usage))
end
if symbol.definition then
table.insert(fragments, symbol.definition .. ' defs')
end
if symbol.implementation then
table.insert(fragments, symbol.implementation .. ' impls')
end
return table.concat(fragments, ', ') .. stacked_functions
end
return {
{
'Wansmer/symbol-usage.nvim',
event = 'LspAttach', -- need run before LspAttach if you use nvim 0.9. On 0.10 use 'LspAttach'
config = function()
require('symbol-usage').setup {
filetypes = {},
log = { enabled = false, level = 'INFO', stdout = {}, log_file = {}, notify = {} },
text_format = text_format,
kinds = { SymbolKind.Function, SymbolKind.Method, SymbolKind.Class, SymbolKind.Struct, SymbolKind.Variable, SymbolKind.Constant },
}
end,
},
}

View file

@ -1,115 +0,0 @@
-- Add auto-sessions to mini.sessions plugin
-- Session names are generated dynamically based on the project directory and Git branch (if available)
-- Auto-save session on exit will only work if there is an active session in the project,
-- which can be set up, for example, via a custom key binding
-- When starting `nvim` with no arguments, will try to save session on exit
-- Whet starting `nvim .` (or another directory), will try to save session on exit
-- When starting `nvim some_file.txt` (or multiple files), won't do anything
-- Generate session name per project and per git branch for mini.sessions
local function get_git_branch()
local branch = vim.fn.systemlist('git branch --show-current')[1] or ''
return (vim.v.shell_error == 0 and branch ~= '') and branch or nil
end
local function session_name()
local cwd = vim.fn.getcwd() -- current working directory
local branch = get_git_branch()
local name = cwd
local sha = vim.fn.sha256(name)
if branch then
sha = sha .. '-' .. branch
end
return sha
end
-- Auto save session per project and per git branch on exit
local function should_save_session()
-- argc() returns the number of command line arguments
local argc = vim.fn.argc()
-- Case 1: nvim with no arguments
if argc == 0 then
return true
end
-- Case 2: nvim . (argument is a directory)
if argc == 1 then
local first_arg = vim.fn.argv(0) -- Get the first argument
return vim.fn.isdirectory(first_arg) == 1
end
return false
end
local function session_exist()
local session_dir = vim.fn.stdpath 'data' .. '/session/'
local session_path = session_dir .. session_name()
return vim.fn.filereadable(session_path) == 1
end
local function save_session()
if not should_save_session() then
return -- Do not save if there were files in the arguments
end
local name = session_name()
require('mini.sessions').write(name)
print('💾 Session Saved: ' .. name)
end
vim.api.nvim_create_autocmd('VimLeavePre', {
desc = 'Auto save session on exit if session exists',
callback = function()
if not session_exist() then
return -- Do not autosave session if there is no session in the project
end
save_session()
end,
})
-- Session restore
local function restore_session()
if not should_save_session() then
return
end
if not session_exist() then
return -- Do not restore session if there is no session in the project
end
local name = session_name()
require('mini.sessions').read(name)
print('💾 Session Restored: ' .. name)
end
vim.api.nvim_create_autocmd('User', {
pattern = 'VeryLazy', -- Lazy.nvim event
desc = 'Auto restore session after plugin load',
callback = function()
-- Adding a small delay for stability
vim.defer_fn(function()
restore_session()
end, 50)
end,
nested = true,
})
-- vim.keymap.set('n', '<leader><BS>', function()
-- restore_session()
-- end, { desc = 'Restore session' })
-- Session delete
vim.keymap.set('n', '<leader>Sd', function()
local name = session_name()
require('mini.sessions').delete(name)
print('💾 Session Deleted: ' .. name)
end, { desc = '[S]ession [D]elete' })
-- Session create
vim.keymap.set('n', '<leader>Sc', function()
save_session()
end, { desc = '[S]ession [C]reate' })

View file

@ -26,7 +26,7 @@ return {
-- Disable "format_on_save lsp_fallback" for languages that don't
-- have a well standardized coding style. You can add additional
-- languages here or re-enable it for the disabled ones.
local disable_filetypes = { c = true, cpp = true, json = true } -- Руками можно отформатировать через `<leader>f`
local disable_filetypes = { c = true, cpp = true }
local lsp_format_opt
if disable_filetypes[vim.bo[bufnr].filetype] then
lsp_format_opt = 'never'
@ -41,7 +41,7 @@ return {
formatters_by_ft = {
lua = { 'stylua' },
go = { 'gofmt', 'injected' },
-- sql = { 'sqlfluff' },
sql = { 'sqlfluff' },
-- ['*'] = { 'injected' }, -- enables injected-lang formatting for all filetypes
-- Conform can also run multiple formatters sequentially
@ -67,18 +67,18 @@ return {
-- end,
-- stdin = true,
-- },
-- sqlfluff = {
-- command = 'sqlfluff',
-- args = {
-- 'format',
-- -- 'fix',
-- -- '--dialect',
-- -- 'postgres',
-- -- '--disable-progress-bar',
-- '-',
-- },
-- stdin = true,
-- },
sqlfluff = {
command = 'sqlfluff',
args = {
'format',
-- 'fix',
-- '--dialect',
-- 'postgres',
-- '--disable-progress-bar',
'-',
},
stdin = true,
},
},
},
},

View file

@ -24,7 +24,7 @@ return {
{
'rafamadriz/friendly-snippets',
config = function()
-- require('luasnip.loaders.from_vscode').lazy_load()
require('luasnip.loaders.from_vscode').lazy_load()
end,
},
},
@ -36,7 +36,6 @@ return {
-- into multiple repos for maintenance purposes.
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-path',
'hrsh7th/cmp-nvim-lsp-signature-help',
},
config = function()
-- See `:help cmp`
@ -68,12 +67,11 @@ return {
-- This will auto-import if your LSP supports it.
-- This will expand snippets if the LSP sent a snippet.
-- ['<C-y>'] = cmp.mapping.confirm { select = true },
['<Tab>'] = cmp.mapping.confirm { select = true },
-- If you prefer more traditional completion keymaps,
-- you can uncomment the following lines
-- ['<CR>'] = cmp.mapping.confirm { select = true },
['<C-Tab>'] = cmp.mapping.select_next_item(),
['<Tab>'] = cmp.mapping.select_next_item(),
['<S-Tab>'] = cmp.mapping.select_prev_item(),
-- Allows Up arrow to fall back without interacting with cmp
@ -128,7 +126,6 @@ return {
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
{ name = 'path' },
{ name = 'nvim_lsp_signature_help' },
},
}
end,

View file

@ -6,9 +6,8 @@ return {
local lint = require 'lint'
lint.linters_by_ft = {
-- markdown = { 'markdownlint' },
-- sql = { 'sqlfluff' },
-- go = { 'golangcilint' },
-- proto = { 'buf_lint' }, -- Крашит
sql = { 'sqlfluff' },
go = { 'golangcilint' },
}
-- To allow other plugins to add linters to require('lint').linters_by_ft,

View file

@ -83,8 +83,7 @@ return {
-- Jump to the implementation of the word under your cursor.
-- Useful when your language has ways of declaring types without an actual implementation.
-- Было gI [G]oto [I]mplementation
map('gi', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation')
map('gI', require('telescope.builtin').lsp_implementations, '[G]oto [I]mplementation')
-- Jump to the type of the word under your cursor.
-- Useful when you're not sure what type a variable is and you want to see
@ -206,22 +205,18 @@ return {
-- SQL
-- lspconfig.postgres_lsp.setup { force_setup = true }
-- lspconfig.sqls.setup {
-- on_attach = function(client)
-- -- Выключить форматирование
-- client.server_capabilities.documentFormattingProvider = false
-- end,
-- }
lspconfig.sqls.setup {
on_attach = function(client)
-- Выключить форматирование
client.server_capabilities.documentFormattingProvider = false
end,
}
-- Nix
lspconfig.nixd.setup {}
-- Golang
lspconfig.gopls.setup {
completion = {
unimported = false,
},
}
lspconfig.gopls.setup {}
lspconfig.templ.setup {}
-- Frontend
@ -287,14 +282,7 @@ return {
-- lspconfig.rust_analyzer.setup {}
-- Bash
lspconfig.bashls.setup {
on_attach = function(client, bufnr)
local filename = vim.api.nvim_buf_get_name(bufnr)
if filename:match '/%.env$' or filename:match '/%.env%..+$' then
client.stop() -- отключить LSP только для .env
end
end,
}
lspconfig.bashls.setup {}
-- JSON
local cap_json = vim.lsp.protocol.make_client_capabilities()
@ -303,31 +291,12 @@ return {
capabilities = cap_json,
}
-- Natural language
lspconfig.ltex.setup {
settings = {
ltex = {
enabled = { 'bibtex', 'context', 'context.tex', 'html', 'latex', 'markdown', 'org', 'restructuredtext', 'rsweave', 'go' },
language = 'en',
additionalRules = {
enablePickyRules = true,
motherTongue = 'ru-RU',
},
disabledRules = {
['en'] = { 'EN_QUOTES', 'WORD_CONTAINS_UNDERSCORE', 'DASH_RULE', 'PUNCTUATION_PARAGRAPH_END' },
['ru-RU'] = { 'EN_QUOTES', 'WORD_CONTAINS_UNDERSCORE', 'DASH_RULE', 'PUNCTUATION_PARAGRAPH_END' },
},
-- languageToolHttpServerUri = 'http://localhost:8081/',
},
},
}
-- Other
lspconfig.taplo.setup {}
lspconfig.vimls.setup {}
lspconfig.yamlls.setup {}
lspconfig.protols.setup {}
-- lspconfig.buf_ls.setup {}
-- lspconfig.protols.setup {}
lspconfig.buf_ls.setup {}
-- Ensure the servers and tools above are installed
-- To check the current status of installed tools and/or manually install

View file

@ -19,29 +19,6 @@ return {
-- - sr)' - [S]urround [R]eplace [)] [']
require('mini.surround').setup()
-- Sessions
require('mini.sessions').setup {
-- Whether to read default session if Neovim opened without file arguments
autoread = false,
-- Whether to write currently read session before quitting Neovim
autowrite = false,
-- Whether to force possibly harmful actions (meaning depends on function)
force = { read = false, write = true, delete = true },
-- Hook functions for actions. Default `nil` means 'do nothing'.
hooks = {
-- Before successful action
pre = { read = nil, write = nil, delete = nil },
-- After successful action
post = { read = nil, write = nil, delete = nil },
},
-- Whether to print session path after action
verbose = { read = false, write = true, delete = true },
}
-- Simple and easy statusline.
-- You could remove this setup call if you don't like it,
-- and try some other statusline plugin

View file

@ -12,84 +12,84 @@
-- https://dotfyle.com/neovim/colorscheme/top
-- -- Убедитесь, что Sonokai установлен через lazy.nvim или другой менеджер
-- local variants = { 'default', 'atlantis', 'andromeda', 'shusia', 'maia', 'espresso' }
-- Убедитесь, что Sonokai установлен через lazy.nvim или другой менеджер
local variants = { 'default', 'atlantis', 'andromeda', 'shusia', 'maia', 'espresso' }
-- -- Создаем псевдонимы для каждой темы
-- for _, variant in ipairs(variants) do
-- local alias = 'sonokai-' .. variant
-- vim.api.nvim_create_user_command('Colorscheme' .. variant, function()
-- vim.g.sonokai_style = variant
-- vim.cmd 'colorscheme sonokai'
-- end, {})
-- Создаем псевдонимы для каждой темы
for _, variant in ipairs(variants) do
local alias = 'sonokai-' .. variant
vim.api.nvim_create_user_command('Colorscheme' .. variant, function()
vim.g.sonokai_style = variant
vim.cmd 'colorscheme sonokai'
end, {})
-- -- Регистрируем в Neovim как отдельный colorscheme
-- vim.api.nvim_set_hl(0, alias, {})
-- vim.cmd(string.format("autocmd ColorSchemePre %s let g:sonokai_style = '%s' | colorscheme sonokai", alias, variant))
-- end
-- Регистрируем в Neovim как отдельный colorscheme
vim.api.nvim_set_hl(0, alias, {})
vim.cmd(string.format("autocmd ColorSchemePre %s let g:sonokai_style = '%s' | colorscheme sonokai", alias, variant))
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,59 +149,59 @@ return {
vim.cmd.colorscheme 'gruvbox'
end,
},
-- {
-- 'sainnhe/gruvbox-material',
-- priority = 1000,
-- init = function()
-- -- 'hard', 'medium', 'soft'
-- vim.g.gruvbox_material_background = 'medium'
-- -- 'material', 'mix', 'original'
-- vim.g.gruvbox_material_foreground = 'mix'
-- -- 'grey', 'colored', 'highlighted'
-- vim.g.gruvbox_material_diagnostic_virtual_text = 'colored'
-- vim.g.gruvbox_material_diagnostic_line_highlight = 1
-- vim.g.gruvbox_material_diagnostic_text_highlight = 1
{
'sainnhe/gruvbox-material',
priority = 1000,
init = function()
-- 'hard', 'medium', 'soft'
vim.g.gruvbox_material_background = 'medium'
-- 'material', 'mix', 'original'
vim.g.gruvbox_material_foreground = 'mix'
-- 'grey', 'colored', 'highlighted'
vim.g.gruvbox_material_diagnostic_virtual_text = 'colored'
vim.g.gruvbox_material_diagnostic_line_highlight = 1
vim.g.gruvbox_material_diagnostic_text_highlight = 1
-- -- vim.g.gruvbox_material_inlay_hints_background = 'dimmed'
-- -- vim.g.gruvbox_material_better_performance = 1
-- -- vim.g.gruvbox_material_spell_foreground = 'colored'
-- -- vim.g.gruvbox_material_enable_bold = 1
-- -- vim.g.gruvbox_material_enable_italic = true
-- -- vim.cmd.colorscheme 'gruvbox-material'
-- 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,
-- },
-- vim.g.gruvbox_material_inlay_hints_background = 'dimmed'
-- vim.g.gruvbox_material_better_performance = 1
-- vim.g.gruvbox_material_spell_foreground = 'colored'
-- vim.g.gruvbox_material_enable_bold = 1
-- vim.g.gruvbox_material_enable_italic = true
-- vim.cmd.colorscheme 'gruvbox-material'
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,
},
}

View file

@ -1,22 +1,10 @@
-- Highlight todo, notes, etc in comments
-- NOTE: adding a note
-- PERF: fully optimised
-- TODO: What else?
-- TEST:
-- HACK: hmmm, this looks a bit funky
-- WARNING: ????
-- WARN:
-- FIXME:
-- FIX: this needs fixing
-- BUG: test
return {
{
'folke/todo-comments.nvim',
event = 'VimEnter',
dependencies = { 'nvim-lua/plenary.nvim' },
opts = {
-- signs = false
},
opts = { signs = false },
},
}

View file

@ -63,7 +63,6 @@ return {
-- { '<leader>d', group = '[D]ocument' },
{ '<leader>r', group = '[R]ename' },
{ '<leader>s', group = '[S]earch' },
{ '<leader>S', group = '[S]ession' },
{ '<leader>w', group = '[W]orkspace' },
{ '<leader>t', group = '[T]oggle' },
{ '<leader>g', group = '[G]olang' },

View file

@ -27,8 +27,7 @@ vim.opt.expandtab = true
-- yaml lsp за меня решают сколько пробелов мне надо. Это фикс
-- Их параметры конфига для переназначения не работают. Пришлось костыль сделать
vim.cmd [[
autocmd FileType yaml setlocal shiftwidth=2 tabstop=2 softtabstop=2 expandtab
autocmd BufEnter *.py :setlocal shiftwidth=4 tabstop=4 softtabstop=4 noexpandtab
autocmd FileType yaml setlocal shiftwidth=4 tabstop=4 softtabstop=4 expandtab
]]
-- Комментировать .proto код биндом
@ -39,14 +38,6 @@ vim.api.nvim_create_autocmd('FileType', {
end,
})
-- Комментировать .sql код биндом
vim.api.nvim_create_autocmd('FileType', {
pattern = 'sql',
callback = function()
vim.bo.commentstring = '-- %s'
end,
})
-- Enable mouse mode, can be useful for resizing splits for example!
vim.opt.mouse = 'a'
@ -183,102 +174,3 @@ vim.api.nvim_create_autocmd('TextYankPost', {
vim.highlight.on_yank()
end,
})
vim.keymap.set('n', 'wa', ':wa<CR>', { desc = 'Alias for :wa' })
-- -- Установка трёх раздельных столбцов
-- vim.opt.signcolumn = 'yes:3' -- [Вирт.номера][Git][Номера строк]
-- vim.opt.number = true
-- vim.opt.relativenumber = true
--
-- -- Группа для виртуальных номеров
-- local virt_sign_group = 'virtnum_group'
--
-- -- Создаём знаки для чисел 1-99
-- for i = 1, 99 do
-- vim.fn.sign_define('VirtNum' .. i, {
-- text = string.format('%2d', i), -- Фиксированная ширина 2 символа
-- texthl = 'LineNr',
-- numhl = '',
-- linehl = '',
-- priority = 5,
-- })
-- end
--
-- -- Знак для текущей строки (пустой)
-- vim.fn.sign_define('VirtNumCurrent', {
-- text = ' ', -- Два пробела для выравнивания
-- texthl = 'LineNr',
-- priority = 5,
-- })
--
-- -- Функция для обновления виртуальных номеров
-- local function update_virtual_numbers()
-- local bufnr = vim.api.nvim_get_current_buf()
-- local cur_line = vim.api.nvim_win_get_cursor(0)[1]
-- local topline = vim.fn.line 'w0'
-- local bottomline = vim.fn.line 'w$'
--
-- -- Убираем только наши знаки
-- vim.fn.sign_unplace(virt_sign_group, { buffer = bufnr })
--
-- for lnum = topline, bottomline do
-- if vim.fn.foldclosed(lnum) == -1 then
-- local sign_name
-- if lnum == cur_line then
-- sign_name = 'VirtNumCurrent'
-- else
-- local dist = math.abs(lnum - cur_line) + 1
-- sign_name = (dist <= 99) and ('VirtNum' .. dist) or 'VirtNum99'
-- end
--
-- vim.fn.sign_place(
-- 0, -- Автоматический ID
-- virt_sign_group,
-- sign_name,
-- bufnr,
-- { lnum = lnum }
-- )
-- end
-- end
-- end
--
-- -- Автокоманды для обновления
-- vim.api.nvim_create_autocmd({
-- 'CursorMoved',
-- 'CursorMovedI',
-- 'BufEnter',
-- 'WinScrolled',
-- 'InsertLeave',
-- 'TextChanged',
-- }, {
-- callback = update_virtual_numbers,
-- })
--
-- -- Фикс для скролла мышью
-- vim.api.nvim_create_autocmd('WinScrolled', {
-- callback = function()
-- vim.schedule(update_virtual_numbers)
-- end,
-- })
--
-- -- Настройка gitsigns с ЯВНЫМ указанием колонки
-- if pcall(require, 'gitsigns') then
-- require('gitsigns').setup {
-- signcolumn = 2, -- Явно указываем вторую колонку для Git
-- numhl = false,
-- current_line_blame = false,
-- update_debounce = 100,
-- signs = {
-- add = { text = '▏', priority = 10 },
-- change = { text = '▏', priority = 10 },
-- delete = { text = '▁', priority = 10 },
-- topdelete = { text = '▔', priority = 10 },
-- changedelete = { text = '▒', priority = 10 },
-- untracked = { text = '┆', priority = 10 },
-- },
-- }
-- end
--
-- -- Настройка отступов
-- vim.opt.numberwidth = 3 -- Ширина колонки номеров строк

View file

@ -1,9 +1,9 @@
Тут будут файлы, которые через nix нельзя сделать нормально. Например некоторые симлинки перезаписываются почти пустыми файлами, если делать их через nix. Так как nix не имеет возможности один раз именно создать файл, а не симлинк, мне приходится делать этот скрипт
Конфиг для thunar всегда будет забивать на мои настройки. Всегда будет удалять мои настройки и заменять пустыми, чтоб я восстанавливал всё через gui
Ебучий конфиг для thunar всегда будет класть хуй на мои настройки. Всегда эта блядь будет удалять мои настройки и заменять пустыми, чтоб я восстанавливал всё через gui
Конфиг для `strawberry` может меняться. Так что прям фул бекапить его мб смысла мало. Надо будет потом симлинк сделать себе в бекапы на ссд (`strawberry` игнорит все мои конфиги, надо через гуи настраивать)
## Применение скрипта
Когда система готова и все симлинки отправлены куда надо, этот скрипт именно скопирует нужные файлы в нужные каталоги. В теории, тогда программы не будут перезаписывать, а будут дополнять этот файл. Но это не точно. Разрабы далбаёбы
Когда система готова и все симлинки отправлены куда надо, этот скрипт именно скопирует нужные файлы в нужные каталоги. В теории, тогда программы не будут перезаписывать, а будут дополнять этот файл. Но это не точно. Разрабы далбаёбы

View file

@ -1,9 +1,9 @@
#!/usr/bin/env bash
mkdir -p $HOME/.config/xfce4/
cp $HOME/nixos_dots/shit/helpers.rc $HOME/.config/xfce4/helpers.rc
cp $HOME/nixos_dots/shit/mimeapps.list $HOME/.config/mimeapps.list
cp $HOME/nixos-private-dots/shit/helpers.rc $HOME/.config/xfce4/helpers.rc
cp $HOME/nixos-private-dots/shit/mimeapps.list $HOME/.config/mimeapps.list
cp -r $HOME/nixos_dots/shit/Kvantum $HOME/.config/Kvantum
cp -r $HOME/nixos_dots/shit/qt5ct $HOME/.config/qt5ct
cp -r $HOME/nixos_dots/shit/qt6ct $HOME/.config/qt6ct
cp -r $HOME/nixos-private-dots/shit/Kvantum $HOME/.config/Kvantum
cp -r $HOME/nixos-private-dots/shit/qt5ct $HOME/.config/qt5ct
cp -r $HOME/nixos-private-dots/shit/qt6ct $HOME/.config/qt6ct

View file

@ -1,33 +1,33 @@
[Added Associations]
application/json=nvim.desktop;librewolf.desktop;firefox.desktop;chromium.desktop
application/x-sh=nvim.desktop
application/x-shellscript=nvim.desktop
application/xml=nvim.desktop
application/yaml=nvim.desktop
image/*=imv.desktop;com.interversehq.qView.desktop
image/apng=imv.desktop;com.interversehq.qView.desktop
application/json=nvim.desktop;codium.desktop;librewolf.desktop;firefox.desktop;chromium.desktop
application/x-sh=nvim.desktop;codium.desktop
application/x-shellscript=nvim.desktop;codium.desktop
application/xml=nvim.desktop;codium.desktop
application/yaml=nvim.desktop;codium.desktop
image/*=com.interversehq.qView.desktop;imv.desktop
image/apng=com.interversehq.qView.desktop;imv.desktop
image/avif=imv.desktop
image/gif=imv.desktop;com.interversehq.qView.desktop
image/jpeg=imv.desktop;com.interversehq.qView.desktop
image/pjpeg=imv.desktop;com.interversehq.qView.desktop
image/png=imv.desktop;com.interversehq.qView.desktop
image/svg+xml=imv.desktop;com.interversehq.qView.desktop
image/vnd.microsoft.icon=imv.desktop;com.interversehq.qView.desktop
image/webp=imv.desktop;com.interversehq.qView.desktop
image/x-icon=imv.desktop;com.interversehq.qView.desktop
text/*=nvim.desktop
text/css=nvim.desktop
text/csv=nvim.desktop
text/html=nvim.desktop;librewolf.desktop;firefox.desktop;chromium.desktop
text/javascript=nvim.desktop
text/markdown=nvim.desktop
text/plain=nvim.desktop
text/x-asm=nvim.desktop
text/x-c=nvim.desktop
text/x-python=nvim.desktop
image/gif=com.interversehq.qView.desktop;imv.desktop
image/jpeg=;com.interversehq.qView.desktop;imv.desktop;
image/pjpeg=com.interversehq.qView.desktop;imv.desktop
image/png=com.interversehq.qView.desktop;imv.desktop;;
image/svg+xml=com.interversehq.qView.desktop;imv.desktop
image/vnd.microsoft.icon=com.interversehq.qView.desktop;imv.desktop
image/webp=com.interversehq.qView.desktop;imv.desktop
image/x-icon=com.interversehq.qView.desktop;imv.desktop
text/*=nvim.desktop;codium.desktop
text/css=nvim.desktop;codium.desktop
text/csv=nvim.desktop;codium.desktop
text/html=nvim.desktop;codium.desktop;librewolf.desktop;firefox.desktop;chromium.desktop
text/javascript=nvim.desktop;codium.desktop
text/markdown=nvim.desktop;codium.desktop
text/plain=nvim.desktop;codium.desktop
text/x-asm=nvim.desktop;codium.desktop
text/x-c=nvim.desktop;codium.desktop
text/x-python=nvim.desktop;codium.desktop
[Default Applications]
application/json=nvim.desktop;librewolf.desktop;firefox.desktop;chromium.desktop
application/json=nvim.desktop;codium.desktop;librewolf.desktop;firefox.desktop;chromium.desktop
application/pdf=org.gnome.Evince.desktop
application/x-bittorrent=qbittorrent.desktop
application/x-extension-htm=librewolf.desktop
@ -35,12 +35,12 @@ application/x-extension-html=librewolf.desktop
application/x-extension-shtml=librewolf.desktop
application/x-extension-xht=librewolf.desktop
application/x-extension-xhtml=librewolf.desktop
application/x-sh=nvim.desktop
application/x-shellscript=nvim.desktop
application/x-zerosize=nvim.desktop
application/x-sh=nvim.desktop;codium.desktop
application/x-shellscript=nvim.desktop;codium.desktop
application/x-zerosize=nvim.desktop;codium.desktop
application/xhtml+xml=librewolf.desktop
application/xml=nvim.desktop
application/yaml=nvim.desktop
application/xml=nvim.desktop;codium.desktop
application/yaml=nvim.desktop;codium.desktop
application/zip=ark.desktop
audio/*=mpv.desktop
audio/aac=mpv.desktop
@ -54,28 +54,28 @@ audio/webm=mpv.desktop
audio/x-matroska=mpv.desktop
audio/x-mpegurl=mpv.desktop
audio/x-opus+ogg=mpv.desktop
image/*=imv.desktop;com.interversehq.qView.desktop
image/apng=imv.desktop;com.interversehq.qView.desktop
image/*=com.interversehq.qView.desktop;imv.desktop
image/apng=com.interversehq.qView.desktop;imv.desktop
image/avif=imv.desktop
image/gif=imv.desktop;com.interversehq.qView.desktop
image/jpeg=imv.desktop;com.interversehq.qView.desktop
image/pjpeg=imv.desktop;com.interversehq.qView.desktop
image/png=imv.desktop;com.interversehq.qView.desktop
image/svg+xml=imv.desktop;com.interversehq.qView.desktop
image/vnd.microsoft.icon=imv.desktop;com.interversehq.qView.desktop
image/webp=imv.desktop;com.interversehq.qView.desktop
image/x-icon=imv.desktop;com.interversehq.qView.desktop
image/gif=com.interversehq.qView.desktop;imv.desktop
image/jpeg=com.interversehq.qView.desktop;imv.desktop
image/pjpeg=com.interversehq.qView.desktop;imv.desktop
image/png=com.interversehq.com.interversehq.qView.desktop
image/svg+xml=com.interversehq.qView.desktop;imv.desktop
image/vnd.microsoft.icon=com.interversehq.qView.desktop;imv.desktop
image/webp=com.interversehq.qView.desktop;imv.desktop
image/x-icon=com.interversehq.qView.desktop;imv.desktop
inode/directory=dolphin.desktop
text/*=nvim.desktop
text/css=nvim.desktop
text/csv=nvim.desktop
text/html=librewolf.desktop;firefox.desktop;chromium.desktop;nvim.desktop
text/javascript=nvim.desktop
text/markdown=nvim.desktop
text/plain=nvim.desktop
text/x-asm=nvim.desktop
text/x-c=nvim.desktop
text/x-python=nvim.desktop
text/*=nvim.desktop;codium.desktop
text/css=nvim.desktop;codium.desktop
text/csv=nvim.desktop;codium.desktop
text/html=librewolf.desktop;firefox.desktop;chromium.desktop;nvim.desktop;codium.desktop
text/javascript=nvim.desktop;codium.desktop
text/markdown=nvim.desktop;codium.desktop
text/plain=nvim.desktop;codium.desktop
text/x-asm=nvim.desktop;codium.desktop
text/x-c=nvim.desktop;codium.desktop
text/x-python=nvim.desktop;codium.desktop
video/*=mpv.desktop
video/mp4=mpv.desktop
video/mpeg=mpv.desktop