full ready, part 1
This commit is contained in:
parent
8b1b233d6c
commit
9bbe4cc23b
27 changed files with 221 additions and 296 deletions
61
README.md
61
README.md
|
|
@ -1,4 +1,4 @@
|
|||
Это мои приватные дотсы
|
||||
Это мои дотсы
|
||||
|
||||
Железо, на котором это работает:
|
||||
- CPU: i5 10400f
|
||||
|
|
@ -16,6 +16,65 @@ nix-prefetch-git link
|
|||
font = lib.mkForce "JetBrainsMono Nerd Font 11";
|
||||
```
|
||||
|
||||
Узнать localhost виртуалки, чтоб конектиться по ssh:
|
||||
```sh
|
||||
ip a
|
||||
```
|
||||
|
||||
## Другие README файлы в этих дотсах
|
||||
|
||||
- [Копия man page для bspwm с доп инфой](./modules/home-manager/wm/bspwm/bspwm.md)
|
||||
- [Описание плагинов для mpv](./modules/home-manager/mpv/README.md)
|
||||
|
||||
## Мини гайд по NixOS
|
||||
|
||||
- Одинаковые вещи могут делаться разными способами. Это норма. По началу меня это бесило, когда читал чужие дотсы
|
||||
- [Плейлист](https://www.youtube.com/playlist?list=PLko9chwSoP-15ZtZxu64k_CuTzXrFpxPE) с английскими видео. Мне больше всего понравились видео под номерами [16](https://youtu.be/a67Sv4Mbxmc), [18](https://youtu.be/b641h63lqy0), [21](https://youtu.be/rEovNpg7J0M), [27](https://youtu.be/ljHkWgBaQWU) и [28](https://youtu.be/JCeYq72Sko0).
|
||||
- Пакеты искать [тут](https://search.nixos.org/packages). Параметры для сток NixOS [тут](https://search.nixos.org/options). Параметры для home-manager [тут](https://home-manager-options.extranix.com/?query=&release=master). Для моих конфигов надо обязательно искать в unstable ветке, ибо параметры могут отличаться.
|
||||
- Для системной темы тут используется stylix. Все его параметры можно найти [тут](https://stylix.danth.me/options/nixos.html).
|
||||
|
||||
## Процесс установки
|
||||
|
||||
Сначала качаем nixos kde или nixos gnome вариант и устанавливаем систему через визуальный установщик.
|
||||
|
||||
Дальше есть два способа. Оба нужны, чтоб заменить имя юзера на своё перед установкой моих дотсов. Для этого надо открыть файл `./nixos/configuration.nix` и заменить переменную `username` на ник своего юзера.
|
||||
|
||||
### Первый способ
|
||||
|
||||
Сделать форк этого репозитория. Внести нужные изменения. После установки NixOS временно включить гит и установить систему:
|
||||
```sh
|
||||
nix shell -p git
|
||||
sudo nixos-rebuild boot --flake github:Buliway/nixos-dots --impure
|
||||
```
|
||||
Параметр `boot` делает так, что настройки не применяются сразу. После установки надо будет перезапустить пк. Если хочешь проверить как оно заработает без ребута пк, то используй `switch` вместо `boot`.
|
||||
|
||||
### Второй способ
|
||||
|
||||
После установки NixOS временно включить гит, клонировать репозиторий, изменить нужный файл, ребилдить систему:
|
||||
```sh
|
||||
nix shell -p git
|
||||
git clone https://github.com/Buliway/nixos-dots
|
||||
nano ~/nixos-dots/nixos/configuration.nix
|
||||
# Заменить переменную `username` на ник своего юзера
|
||||
sudo nixos-rebuild boot --impure --flake ~/nixos-dots
|
||||
```
|
||||
Параметр `boot` делает так, что настройки не применяются сразу. После установки надо будет перезапустить пк. Если хочешь проверить как оно заработает без ребута пк, то используй `switch` вместо `boot`.
|
||||
|
||||
## После установки надо
|
||||
|
||||
Это заметка для меня. Каждый ставит то, что ему надо
|
||||
|
||||
- Включить подкачку на 64 гига в `/etc/nixos/hardware-configuration.nix` через такой синтаксис:
|
||||
```nix
|
||||
swapDevices = [ {
|
||||
device = "/swapfile";
|
||||
size = 64*1024; # В мегабайтах
|
||||
} ];
|
||||
```
|
||||
- Включить автомаунд бекап ссд и сделать симлинк на него в `~/backups` в файле `./modules/nixos/filesystems.nix` и раскомментировать импорт в `./nixos/configuration.nix`.
|
||||
- Сделать симлинки на все нужные вещи в `./modules/home-manager/symlinks.nix`. Например браузеры я так бекаплю
|
||||
- Раскомментировать нужные мне настройки звука в `./modules/nixos/sound.nix`
|
||||
|
||||
## Бинды
|
||||
|
||||
Клавиша `Super` это клавиша `Win`
|
||||
|
|
|
|||
17
flake.lock
generated
17
flake.lock
generated
|
|
@ -220,27 +220,10 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable": {
|
||||
"locked": {
|
||||
"lastModified": 1722869614,
|
||||
"narHash": "sha256-7ojM1KSk3mzutD7SkrdSflHXEujPvW1u7QuqWoTLXQU=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "883180e6550c1723395a3a342f830bfc5c371f6b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-24.05",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"nixpkgs-stable": "nixpkgs-stable",
|
||||
"stylix": "stylix"
|
||||
}
|
||||
},
|
||||
|
|
|
|||
14
flake.nix
14
flake.nix
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||
# nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||
|
||||
stylix = {
|
||||
url = "github:danth/stylix";
|
||||
|
|
@ -24,7 +24,17 @@
|
|||
outputs = { self, nixpkgs, ... }@inputs:
|
||||
let
|
||||
system = "x86_64-linux"; # Не понимаю зачем, если это в hardware.nix указывается
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
# pkgs = nixpkgs.legacyPackages.${system};
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
permittedInsecurePackages = [
|
||||
"python-2.7.18.8"
|
||||
"electron-25.9.0"
|
||||
];
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
nixosConfigurations = {
|
||||
|
|
|
|||
|
|
@ -12,34 +12,6 @@
|
|||
# force = true;
|
||||
# };
|
||||
|
||||
# bookmarks = [
|
||||
# {
|
||||
# name = "wikipedia";
|
||||
# tags = [ "wiki" ];
|
||||
# keyword = "wiki";
|
||||
# url = "https://en.wikipedia.org/wiki/Special:Search?search=%s&go=Go";
|
||||
# }
|
||||
# {
|
||||
# name = "kernel.org";
|
||||
# url = "https://www.kernel.org";
|
||||
# }
|
||||
# {
|
||||
# name = "Nix sites";
|
||||
# toolbar = true;
|
||||
# bookmarks = [
|
||||
# {
|
||||
# name = "homepage";
|
||||
# url = "https://nixos.org/";
|
||||
# }
|
||||
# {
|
||||
# name = "wiki";
|
||||
# tags = [ "wiki" "nix" ];
|
||||
# url = "https://wiki.nixos.org/";
|
||||
# }
|
||||
# ];
|
||||
# }
|
||||
# ];
|
||||
|
||||
# nativeMessagingHosts.ff2mpv = true; # Чтоб ff2mpv работал
|
||||
|
||||
# settings = {
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
imports = [
|
||||
./browsers/chromium.nix
|
||||
./browsers/firefox.nix
|
||||
./browsers/librewolf.nix
|
||||
# ./browsers/chromium.nix
|
||||
# ./browsers/firefox.nix
|
||||
# ./browsers/librewolf.nix
|
||||
./browsers/lynx.nix
|
||||
|
||||
./file-managers/ranger/ranger.nix
|
||||
|
|
@ -23,7 +23,7 @@
|
|||
./terminal/zellij.nix
|
||||
./terminal/zsh.nix
|
||||
|
||||
# ./wm/bspwm/bspwm.nix
|
||||
./wm/bspwm/bspwm.nix
|
||||
./wm/rofi/rofi.nix
|
||||
./wm/dunst.nix
|
||||
./wm/lockscreen.nix
|
||||
|
|
|
|||
|
|
@ -60,25 +60,25 @@
|
|||
"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" ]; # Надо ли заменять это и всё что ниже на NixVim?
|
||||
"text/css" = [ "nvim.desktop" ];
|
||||
"text/csv" = [ "nvim.desktop" ];
|
||||
"text/html" = [ "nvim.desktop" "librewolf.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" ];
|
||||
"application/x-sh" = [ "nvim.desktop" ];
|
||||
"application/x-shellscript" = [ "nvim.desktop" ];
|
||||
"application/xml" = [ "nvim.desktop" ];
|
||||
"application/yaml" = [ "nvim.desktop" ];
|
||||
"text/*" = [ "nvim.desktop" "code.desktop" ]; # Надо ли заменять nvim и всё что ниже на NixVim?
|
||||
"text/css" = [ "nvim.desktop" "code.desktop" ];
|
||||
"text/csv" = [ "nvim.desktop" "code.desktop" ];
|
||||
"text/html" = [ "nvim.desktop" "code.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
|
||||
"text/javascript" = [ "nvim.desktop" "code.desktop" ];
|
||||
"text/markdown" = [ "nvim.desktop" "code.desktop" ];
|
||||
"text/plain" = [ "nvim.desktop" "code.desktop" ];
|
||||
"text/x-asm" = [ "nvim.desktop" "code.desktop" ];
|
||||
"text/x-c" = [ "nvim.desktop" "code.desktop" ];
|
||||
"text/x-python" = [ "nvim.desktop" "code.desktop" ];
|
||||
"application/json" = [ "nvim.desktop" "code.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
|
||||
"application/x-sh" = [ "nvim.desktop" "code.desktop" ];
|
||||
"application/x-shellscript" = [ "nvim.desktop" "code.desktop" ];
|
||||
"application/xml" = [ "nvim.desktop" "code.desktop" ];
|
||||
"application/yaml" = [ "nvim.desktop" "code.desktop" ];
|
||||
# Мб потом добавить для docs варианты и разные виды архивов и ebook
|
||||
# Other
|
||||
"application/pdf" = [ "org.gnome.Evince.desktop" ];
|
||||
"application/x-zerosize" = [ "nvim.desktop" ]; # Файл нулевого размера
|
||||
"application/x-zerosize" = [ "nvim.desktop" "code.desktop" ]; # Файл нулевого размера
|
||||
"application/zip" = [ "ark.desktop" ];
|
||||
"application/x-bittorrent" = [ "qbittorrent.desktop" ];
|
||||
"x-scheme-handler/magnet" = [ "qbittorrent.desktop" ];
|
||||
|
|
@ -86,6 +86,7 @@
|
|||
"x-scheme-handler/mailto" = [ "thunderbird.desktop" ];
|
||||
"x-scheme-handler/jetbrains" = [ "jetbrains-toolbox.desktop" ];
|
||||
};
|
||||
|
||||
associations.added = { # Дополнительные приложения для нужного файла. Будет в меню "Открыть с помощью"
|
||||
# Images
|
||||
"image/*" = [ "imv.desktop" "qview.desktop" ];
|
||||
|
|
@ -100,21 +101,21 @@
|
|||
"image/x-icon" = [ "imv.desktop" "qview.desktop" ];
|
||||
"image/vnd.microsoft.icon" = [ "imv.desktop" "qview.desktop" ];
|
||||
# Text
|
||||
"text/*" = [ "nvim.desktop" "code.desktop" "codium.desktop" ]; # Надо ли заменять nvim и всё что ниже на NixVim?
|
||||
"text/css" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
||||
"text/csv" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
||||
"text/html" = [ "nvim.desktop" "code.desktop" "codium.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
|
||||
"text/javascript" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
||||
"text/markdown" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
||||
"text/plain" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
||||
"text/x-asm" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
||||
"text/x-c" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
||||
"text/x-python" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
||||
"application/json" = [ "nvim.desktop" "code.desktop" "codium.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
|
||||
"application/x-sh" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
||||
"application/x-shellscript" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
||||
"application/xml" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
||||
"application/yaml" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
||||
"text/*" = [ "nvim.desktop" "code.desktop" ]; # Надо ли заменять nvim и всё что ниже на NixVim?
|
||||
"text/css" = [ "nvim.desktop" "code.desktop" ];
|
||||
"text/csv" = [ "nvim.desktop" "code.desktop" ];
|
||||
"text/html" = [ "nvim.desktop" "code.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
|
||||
"text/javascript" = [ "nvim.desktop" "code.desktop" ];
|
||||
"text/markdown" = [ "nvim.desktop" "code.desktop" ];
|
||||
"text/plain" = [ "nvim.desktop" "code.desktop" ];
|
||||
"text/x-asm" = [ "nvim.desktop" "code.desktop" ];
|
||||
"text/x-c" = [ "nvim.desktop" "code.desktop" ];
|
||||
"text/x-python" = [ "nvim.desktop" "code.desktop" ];
|
||||
"application/json" = [ "nvim.desktop" "code.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
|
||||
"application/x-sh" = [ "nvim.desktop" "code.desktop" ];
|
||||
"application/x-shellscript" = [ "nvim.desktop" "code.desktop" ];
|
||||
"application/xml" = [ "nvim.desktop" "code.desktop" ];
|
||||
"application/yaml" = [ "nvim.desktop" "code.desktop" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
@ -1,6 +1,8 @@
|
|||
{ pkgs, ... }: { # https://nixos.wiki/wiki/Visual_Studio_Code
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
|
||||
# Что-то из этого может пригодиться, если хочу ставить пакеты без декларативности
|
||||
# package = pkgs.vscode.fhs; # Почему в вики написано ".fhs", если пакет называется "-fhs"?
|
||||
# package = pkgs.vscode-with-extensions; # Мб это надо?
|
||||
|
||||
|
|
@ -34,8 +36,6 @@
|
|||
];
|
||||
|
||||
userSettings = {
|
||||
# "workbench.colorTheme" = "Gruvbox Dark Medium";
|
||||
# "editor.fontFamily" = "JetBrainsMono Nerd Font";
|
||||
"telemetry.telemetryLevel" = "off";
|
||||
"update.showReleaseNotes" = false;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ let
|
|||
dir = "backups"; # Имя каталога для бекапов. Мб захочу поменять
|
||||
in {
|
||||
home.file = { # В .config этим нельзя кидать
|
||||
# "${dir}".source = "/mnt/${dir}"; # Чтоб остальные симлинки были от ~/backups
|
||||
# "${dir}".source = /mnt/${dir}; # Чтоб остальные симлинки были от ~/backups
|
||||
|
||||
# Secrets
|
||||
# ".password-store".source = "~/${dir}/Backups/.password-store"; # Для утилиты pass
|
||||
|
|
|
|||
|
|
@ -2,26 +2,10 @@
|
|||
programs.alacritty = { # Минимализм
|
||||
enable = true;
|
||||
settings = { # https://alacritty.org/config-alacritty.html
|
||||
window.pandding = {
|
||||
x = 15;
|
||||
y = 15;
|
||||
window.padding = {
|
||||
x = 5;
|
||||
y = 5;
|
||||
};
|
||||
# font = let
|
||||
# nerdFont = "JetBrainsMono Nerd Font";
|
||||
# in {
|
||||
# normal = {
|
||||
# family = nerdFont;
|
||||
# };
|
||||
# bold = {
|
||||
# family = nerdFont;
|
||||
# };
|
||||
# italic = {
|
||||
# family = nerdFont;
|
||||
# };
|
||||
# bold_italic = {
|
||||
# family = nerdFont;
|
||||
# };
|
||||
# };
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }: {
|
||||
{
|
||||
programs.kitty = { # Быстрое отображение медиа, но кривой SSH
|
||||
enable = true;
|
||||
|
||||
|
|
@ -7,11 +7,5 @@
|
|||
enableFishIntegration = true;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
|
||||
# font = { # Stylix сам укажет mono шрифт
|
||||
# name = "JetBrainsMono Nerd Font";
|
||||
# package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
||||
# size = 9;
|
||||
# };
|
||||
};
|
||||
}
|
||||
|
|
@ -15,7 +15,7 @@
|
|||
shellAliases = let
|
||||
flakeDir = "~/dots";
|
||||
in {
|
||||
rb = "sudo nixos-rebuild switch --flake ${flakeDir}"; # Применить новый конфиг
|
||||
rb = "sudo nixos-rebuild switch --impure --flake ${flakeDir}"; # Применить новый конфиг
|
||||
|
||||
# Можно назвать аналогом "sudo pacman -Su", не "Syu", репу не обновляет
|
||||
upg = "sudo nixos-rebuild switch --upgrade --flake ${flakeDir}"; # Обновить пакеты, но не репозиторий во fleke.lock
|
||||
|
|
@ -43,7 +43,7 @@
|
|||
oh-my-zsh = { # https://github.com/ohmyzsh/ohmyzsh
|
||||
enable = true;
|
||||
plugins = [ # Комментирую то, в надобности чего не уверен, но показалось интересным. Можно удалить
|
||||
"alias-finder" # Напомнит, если у написанной команды есть алиас
|
||||
"alias-finder" # Напомнит, если у написанной команды есть алиас (нет)
|
||||
"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
|
||||
|
|
@ -85,8 +85,8 @@
|
|||
"universalarchive" # Run "ua <format> <files>"" to compress <files> into an archive file using <format>
|
||||
#"vi-mode" # https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/vi-mode
|
||||
#"watson" # Completion for https://github.com/TailorDev/Watson (CLI to track your time)
|
||||
"z" # Tracks your most visited directories and allows you to access them with very few keystrokes
|
||||
#"zoxide" # Как "z", но быстрее и с более сложным и точным алгоритмом для ранжирования директорий
|
||||
# "z" # Tracks your most visited directories and allows you to access them with very few keystrokes
|
||||
"zoxide" # Как "z", но быстрее и с более сложным и точным алгоритмом для ранжирования директорий
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{ # Управление окнами. В инете примерно ноль нормальной документации с описанием всех параметров. Проклинал
|
||||
# xsession.windowManager.bspwm = {
|
||||
# xsession.windowManager.bspwm = { # Походу не надо включать тут, если я симлинк ниже использую
|
||||
# enable = true;
|
||||
# };
|
||||
|
||||
|
|
|
|||
|
|
@ -18,14 +18,14 @@
|
|||
# pgrep -x polybar > /dev/null || polybar & # Запускаем polybar если он не запущен
|
||||
# pgrep -x dunst > /dev/null || dunst & # Запускаем dunst если он не запущен
|
||||
|
||||
# ksnip &
|
||||
ksnip &
|
||||
# nekoray &
|
||||
# obsidian &
|
||||
# planify &
|
||||
lxqt-policykit-agent &
|
||||
|
||||
# Я ебал рот видеть инет в трее. Замени эту ёбань на rofi и отдельную кнопку в polybar
|
||||
# nm-applet &
|
||||
nm-applet &
|
||||
|
||||
#########################
|
||||
## Настройки мониторов ##
|
||||
|
|
|
|||
|
|
@ -43,34 +43,23 @@
|
|||
progress_bar_max_width = 300; # Set the maximum width for the progress bar
|
||||
|
||||
indicate_hidden = "yes"; # Show how many messages are currently hidden (because of notification_limit).
|
||||
#transparency = 5; # Прозрачность от 0 до 100%. Требует композитор, например picom. Не вижу смысла его ставить
|
||||
padding = 6; # Padding between text and separator.
|
||||
horizontal_padding = 6; # Horizontal padding.
|
||||
text_icon_padding = 0; # Padding between text and icon.
|
||||
frame_width = 3; # Defines width in pixels of frame around the notification window. Set to 0 to disable.
|
||||
# frame_color = "#8EC07C"; # Defines color of the frame around the notification window.
|
||||
sort = "no"; # Sort messages by urgency.
|
||||
separator_height = 2; # Draw a line of "separator_height" pixel height between two notifications. Set to 0 to disable.
|
||||
|
||||
# Don't remove messages, if the user is idle (no mouse or keyboard input) for longer than idle_threshold seconds.
|
||||
# Set to 0 to disable.
|
||||
# A client can set the 'transient' hint to bypass this. See the rules section for how to disable this if necessary
|
||||
idle_threshold = 0;
|
||||
|
||||
separator_height = 2; # Draw a line of "separator_height" pixel height between two notifications. Set to 0 to disable.
|
||||
# Define a color for the separator.
|
||||
# possible values are:
|
||||
# * auto: dunst tries to find a color fitting to the background;
|
||||
# * foreground: use the same color as the foreground;
|
||||
# * frame: use the same color as the frame;
|
||||
# * anything else will be interpreted as a X color.
|
||||
# separator_color = "frame";
|
||||
|
||||
############
|
||||
### Text ###
|
||||
############
|
||||
|
||||
# font = lib.mkForce "JetBrainsMono Nerd Font 11"; # Перезаписать шрифт от stylix
|
||||
|
||||
# The spacing between lines.
|
||||
# If the height is smaller than the font height, it will get raised to the font height.
|
||||
line_height = 3;
|
||||
|
|
@ -213,30 +202,18 @@
|
|||
urgency_low = {
|
||||
# IMPORTANT: colors have to be defined in quotation marks.
|
||||
# Otherwise the "#" and following would be interpreted as a comment.
|
||||
# frame_color = "#3B7C87";
|
||||
# foreground = "#3B7C87";
|
||||
# background = "#191311";
|
||||
#background = "#2B313C";
|
||||
timeout = 4;
|
||||
# Icon for notifications with low urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon;
|
||||
};
|
||||
|
||||
urgency_normal = {
|
||||
# frame_color = "#5B8234";
|
||||
# foreground = "#5B8234";
|
||||
# background = "#191311";
|
||||
#background = "#2B313C";
|
||||
timeout = 6;
|
||||
# Icon for notifications with normal urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon;
|
||||
};
|
||||
|
||||
urgency_critical = {
|
||||
# frame_color = "#B7472A";
|
||||
# foreground = "#B7472A";
|
||||
# background = "#191311";
|
||||
#background = "#2B313C";
|
||||
timeout = 8;
|
||||
# Icon for notifications with critical urgency, uncomment to enable
|
||||
#default_icon = /path/to/icon;
|
||||
|
|
|
|||
|
|
@ -10,7 +10,6 @@
|
|||
{ pkgs, ... }: { # Запускатор софта и не только
|
||||
programs.rofi = { # https://github.com/davatorium/rofi
|
||||
enable = true;
|
||||
# font = "JetBrainsMono Nerd Font 10";
|
||||
terminal = "${pkgs.alacritty}/bin/alacritty"; # Path to the terminal which will be used to run console applications
|
||||
location = "center"; # The location rofi appears on the screen.
|
||||
# cycle = true; # Whether to cycle through the results list.
|
||||
|
|
@ -41,6 +40,6 @@
|
|||
};
|
||||
|
||||
# xdg.configFile = {
|
||||
# "rofi/pidor.rasi".source = config.rasi;
|
||||
# "rofi/config.rasi".source = config.rasi;
|
||||
# };
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,13 @@
|
|||
{
|
||||
imports = [
|
||||
./env.nix
|
||||
# ./env.nix # Мб не надо, ибо редачу через home.nix?
|
||||
# ./filesystems.nix
|
||||
./hardware.nix
|
||||
./locale.nix
|
||||
./network.nix
|
||||
./sound.nix
|
||||
./stylix.nix
|
||||
./virtmanager.nix
|
||||
./virtualisation.nix
|
||||
./xserver.nix
|
||||
];
|
||||
}
|
||||
|
|
@ -4,20 +4,6 @@
|
|||
{ pkgs, ... }: {
|
||||
hardware = { # Параметры для 24.05 и unstable могут сильно отличаться
|
||||
|
||||
# Список пакетов-драйверов, которые будут активированы лишь при нахождении подходящего оборудования
|
||||
# firmware = with pkgs; [];
|
||||
|
||||
# Мало раскомментить. Надо настроить при необходимости
|
||||
# fancontrol = {};
|
||||
|
||||
# В стоке false. Не понял зачем надо, сохранил из интереса
|
||||
# enableAllFirmware = true;
|
||||
|
||||
# Разные способы управлять яркостью экрана и подсветки для юзеров в группе video
|
||||
# Подробности тут https://wiki.archlinux.org/title/Backlight#Backlight_utilities
|
||||
# brillo.enable = true;
|
||||
# acpilight.enable = true;
|
||||
|
||||
amdgpu = {
|
||||
opencl.enable = true; # # Enable OpenCL support using ROCM runtime library.
|
||||
amdvlk = {
|
||||
|
|
@ -32,18 +18,7 @@
|
|||
enable = true;
|
||||
enable32Bit = true; # install 32-bit drivers for 32-bit applications (such as Wine).
|
||||
extraPackages = with pkgs; [ # Мб часть пакетов стоит удалить отсюда и закинуть в обычные пакеты
|
||||
# amdvlk # AMD Open Source Driver For Vulkan
|
||||
# vulkan-tools
|
||||
# dxvk # Чтоб wine игры запускались через vulkan, а не opengl (Direct3D 8/9/10/11)
|
||||
# vkd3d # Чтоб wine игры запускались через vulkan, а не opengl (Direct3D 12)
|
||||
# # vkbasalt # Баф Vulkan для улучшения визуальной графики игр https://github.com/DadSchoorse/vkBasalt
|
||||
libva # VAAPI (Video Acceleration API)
|
||||
# libva-utils # VAAPI (Video Acceleration API)
|
||||
# rocmPackages.clr.icd # OpenCL
|
||||
# clinfo # Проверяет работает ли OpenCL?
|
||||
# ];
|
||||
# extraPackages32 = with pkgs; [ # 32 bit
|
||||
# driversi686Linux.amdvlk # Vulkan support for 32-bit applications
|
||||
];
|
||||
};
|
||||
|
||||
|
|
@ -51,6 +26,23 @@
|
|||
|
||||
keyboard.qmk.enable = true; # Еnable non-root access to the firmware of QMK keyboards.
|
||||
|
||||
# Список пакетов-драйверов, которые будут активированы лишь при нахождении подходящего оборудования
|
||||
# firmware = with pkgs; [];
|
||||
|
||||
# Мало раскомментить. Надо настроить при необходимости
|
||||
# fancontrol = {};
|
||||
|
||||
# В стоке false. Не понял зачем надо, сохранил из интереса
|
||||
# enableAllFirmware = true;
|
||||
|
||||
# Whether to enable firmware with a license allowing redistribution.
|
||||
# enableRedistributableFirmware = true;
|
||||
|
||||
# Разные способы управлять яркостью экрана и подсветки для юзеров в группе video
|
||||
# Подробности тут https://wiki.archlinux.org/title/Backlight#Backlight_utilities
|
||||
# brillo.enable = true;
|
||||
# acpilight.enable = true;
|
||||
|
||||
};
|
||||
|
||||
# HIP
|
||||
|
|
@ -59,7 +51,7 @@
|
|||
# "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
|
||||
# ];
|
||||
|
||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
||||
# boot.initrd.kernelModules = [ "amdgpu" ]; # Мб не обязательно
|
||||
|
||||
# Для AMD существует два драйвера Vulkan
|
||||
# Один официальный от AMD - amdvlk
|
||||
|
|
|
|||
|
|
@ -14,8 +14,8 @@
|
|||
"10-clock-rate" = {
|
||||
context.properties = {
|
||||
default.clock.rate = 48000;
|
||||
# Ниже измени под свой пк. У меня цап поддерживает всё это. Можешь оставить только 48000, если не знаешь что ставить
|
||||
default.clock.allowed-rates = [ 44100 48000 88200 96000 176400 192000 352800 384000 705600 768000 ];
|
||||
# Ниже измени под свой пк. У меня цап поддерживает всё это. Можешь закомментить, если не знаешь что ставить
|
||||
# default.clock.allowed-rates = [ 44100 48000 88200 96000 176400 192000 352800 384000 705600 768000 ];
|
||||
};
|
||||
};
|
||||
# Ниже настройки для минимальной задержки в играх (например osu!stable через wine)
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
polarity = "dark"; # "light" or "either". Если "either", то он сам определяет что будет красивее
|
||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-medium.yaml"; # Если хочешь генерить тему из обоев, то удали эту строку
|
||||
image = config.lib.stylix.pixel "base0A"; # Вместо обоев будет заливка фона одним цветом из темы
|
||||
image = config.lib.stylix.pixel "base00"; # Вместо обоев будет заливка фона одним цветом из темы
|
||||
#image = "./wallpaper.png" # Если хочешь норм обои, то просто укажи путь до изображения
|
||||
|
||||
cursor = {
|
||||
|
|
@ -17,17 +17,6 @@
|
|||
|
||||
fonts = {
|
||||
|
||||
# packages = with pkgs; [
|
||||
# noto-fonts # Шрифт от гугла, цель которого поддержка всех языков мира
|
||||
# noto-fonts-cjk-serif # Отображение иероглифов. Версия с засечками
|
||||
# # noto-fonts-cjk-sans # Отображение иероглифов. Версия без засечек
|
||||
# carlito # Совместим с Calibri, разработан как его свободная альтернатива. Без засечек
|
||||
# terminus_font
|
||||
# inconsolata
|
||||
# font-awesome
|
||||
# liberation_ttf
|
||||
# ];
|
||||
|
||||
# Ширина символов одинаковая
|
||||
monospace = { # default = DejaVu Sans Mono
|
||||
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
||||
|
|
|
|||
|
|
@ -1,15 +0,0 @@
|
|||
{ pkgs, ... }: { # Работа с виртуальными машинами
|
||||
|
||||
virtualisation.libvirtd = { # https://nixos.wiki/wiki/Libvirt
|
||||
|
||||
enable = true;
|
||||
|
||||
qemu = {
|
||||
package = pkgs.qemu_full;
|
||||
};
|
||||
};
|
||||
|
||||
# Network autostart - `virsh net-autostart default` в терминале
|
||||
programs.virt-manager.enable = true; # https://nixos.wiki/wiki/Virt-manager
|
||||
|
||||
}
|
||||
54
modules/nixos/virtualisation.nix
Normal file
54
modules/nixos/virtualisation.nix
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
{ pkgs, ... }: { # Работа с виртуальными машинами
|
||||
|
||||
virtualisation = {
|
||||
# podman.enable = true;
|
||||
# waydroid.enable = true;
|
||||
|
||||
# docker = {
|
||||
# enable = true;
|
||||
# # daemon.settings = {
|
||||
# # fixed-cidr-v6 = "fd00::/80";
|
||||
# # ipv6 = true;
|
||||
# # };
|
||||
# rootless = {
|
||||
# enable = true;
|
||||
# # daemon.settings = {
|
||||
# # fixed-cidr-v6 = "fd00::/80";
|
||||
# # ipv6 = true;
|
||||
# # };
|
||||
# };
|
||||
# };
|
||||
|
||||
# spiceUSBRedirection.enable = true; # Connect USB devices to libvirt VMs, both local and remote.
|
||||
libvirtd = { # https://nixos.wiki/wiki/Libvirt
|
||||
enable = true;
|
||||
qemu.package = pkgs.qemu_full;
|
||||
};
|
||||
};
|
||||
|
||||
# Network autostart - `virsh net-autostart default` в терминале
|
||||
programs.virt-manager.enable = true; # https://nixos.wiki/wiki/Virt-manager
|
||||
|
||||
#################################################
|
||||
## Это надо включить на виртуалке, не на хосте ##
|
||||
## Позволяет работать virtio драйверу ##
|
||||
## Мб на хосте надо в терминал spice-vdagent ##
|
||||
#################################################
|
||||
|
||||
# The host must provide the needed virtio serial port under the special name org.qemu.guest_agent.0.
|
||||
# https://wiki.libvirt.org/Qemu_guest_agent.html#setting-qemu-ga-up
|
||||
# Ниже xml код для qemu. Но не работает. Я не смог заставить работать виртуалку на virtio
|
||||
# <channel type='unix'>
|
||||
# <source mode='bind' path='/var/lib/libvirt/qemu/f16x86_64.agent'/>
|
||||
# <target type='virtio' name='org.qemu.guest_agent.0'/>
|
||||
# </channel>
|
||||
|
||||
# services = {
|
||||
# openssh.enable = true; # Потом удали. Это ставится на виртуалку, чтоб к ней конект по ssh работал.
|
||||
# qemuGuest.enable = true; # Time syncing and scripting
|
||||
# spice-vdagentd.enable = true; # Clipboard sharing
|
||||
# spice-webdavd.enable = true; # VirtFS alternative for directory sharing
|
||||
# qemuGuest.package = pkgs.qemu_full; # Time syncing and scripting
|
||||
# };
|
||||
|
||||
}
|
||||
|
|
@ -3,7 +3,8 @@
|
|||
# https://www.reddit.com/r/NixOS/comments/14dlvbr/sddm_theme/
|
||||
|
||||
|
||||
{
|
||||
{ pkgs, ... }: {
|
||||
|
||||
services.displayManager = {
|
||||
defaultSession = "none+bspwm"; # only effective for GDM, LightDM and SDDM
|
||||
};
|
||||
|
|
@ -25,46 +26,13 @@
|
|||
windowManager.bspwm.enable = true;
|
||||
|
||||
displayManager = {
|
||||
# sddm = { # Display manager от kde
|
||||
# enable = true; # Вход в систему
|
||||
# theme = pkgs.sddm-sugar-dark; # https://github.com/MarianArlt/sddm-sugar-dark
|
||||
# };
|
||||
|
||||
lightdm = { # Минималистичный display manager
|
||||
enable = true;
|
||||
# background = "./bg.png";
|
||||
greeters = {
|
||||
tiny.enable = true; # Фул минималистичная тема без ничего
|
||||
|
||||
# gtk = { # GTK тема с кучей настроек. Я поставил сток настройки как шаблон
|
||||
# enable = true;
|
||||
# cursorTheme = {
|
||||
# size = 16;
|
||||
# package = pkgs.adwaita-icon-theme;
|
||||
# name = "Adwaita";
|
||||
# };
|
||||
# iconTheme = {
|
||||
# package = pkgs.adwaita-icon-theme;
|
||||
# name = "Adwaita";
|
||||
# };
|
||||
# theme = {
|
||||
# package = pkgs.gnome-themes-extra;
|
||||
# name = "Adwaita";
|
||||
# };
|
||||
# indicators = [
|
||||
# "~host"
|
||||
# "~spacer"
|
||||
# "~clock"
|
||||
# "~spacer"
|
||||
# "~session"
|
||||
# "~language"
|
||||
# "~a11y"
|
||||
# "~power"
|
||||
# ];
|
||||
# clock-format = "%H:%M:%S %d.%m.%y";
|
||||
# extraConfig = "";
|
||||
# };
|
||||
};
|
||||
# greeters = {
|
||||
# tiny.enable = true; # Фул минималистичная тема без ничего
|
||||
# # gtk.enable = true; # GTK тема с кучей настроек
|
||||
# };
|
||||
};
|
||||
};
|
||||
|
||||
|
|
@ -78,7 +46,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
|
||||
# videoDrivers = [ "amdgpu" ]; # https://nixos.wiki/wiki/AMD_GPU
|
||||
# deviceSection = ''Option "TearFree" "True"'';
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,11 +12,18 @@ in {
|
|||
inputs.home-manager.nixosModules.default
|
||||
../modules/nixos/bundle.nix
|
||||
./packages.nix
|
||||
# ./filesystems.nix
|
||||
];
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest; # Ядро линуха, ласт версия
|
||||
# boot.plymouth.enable = true; # Логотип загрузки вместо спама?
|
||||
|
||||
boot.loader = {
|
||||
systemd-boot.enable = true;
|
||||
# systemd-boot.enable = true;
|
||||
grub = {
|
||||
enable = true;
|
||||
efiSupport = true;
|
||||
device = "nodev"; # nodev позволяет не устанавливать grub в конкретное место, но видеть его ui
|
||||
};
|
||||
efi.canTouchEfiVariables = true;
|
||||
# kernelParams = [ # https://nixos.wiki/wiki/AMD_GPU#Dual_Monitors
|
||||
# "video=DP-3:1920x1080@165"
|
||||
|
|
|
|||
|
|
@ -1,40 +0,0 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/1f25a4af-ec4c-4b98-a17f-27b004c11bbf";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/770E-A86E";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
|
||||
swapDevices = [ {
|
||||
device = "/swapfile";
|
||||
size = 16*1024;
|
||||
} ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
}
|
||||
|
|
@ -15,9 +15,7 @@
|
|||
# Например, я читал, что если ставить vscode через configuration.nix, а не через пакеты юзера,
|
||||
# то не получится ставить расширения. Потому что там софт ставится от рута и vscode
|
||||
# будет пытаться установить расширения в каталог nix store, куда нельзя что либо ставить без рута.
|
||||
packages = with pkgs; [
|
||||
|
||||
];
|
||||
# packages = with pkgs; [ ];
|
||||
|
||||
sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
|
|
|
|||
|
|
@ -1,10 +1,5 @@
|
|||
{ pkgs, ... }: {
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
permittedInsecurePackages = ["python-2.7.18.8" "electron-25.9.0"];
|
||||
};
|
||||
|
||||
# https://nixos.wiki/wiki/Fonts
|
||||
fonts.packages = with pkgs; [
|
||||
noto-fonts # Шрифт от гугла, цель которого поддержка всех языков мира
|
||||
|
|
@ -25,8 +20,6 @@
|
|||
tumbler.enable = true; # Thumbnail support for Thunar file manager
|
||||
unclutter.enable = true; # Enable unclutter to hide your mouse cursor when inactive
|
||||
# greenclip.enable = true; # https://github.com/erebe/greenclip (использую clipmenu вместо этого)
|
||||
openssh.enable = true; # Потом удали. Это ставится на виртуалку, чтоб к ней конект по ssh работал.
|
||||
spice-vdagentd.enable = true; # Общий буфер обмена с виртуалкой
|
||||
# fstrim.enable = true; # Чистит ssd для норм производительности. Пока не пользуюсь
|
||||
# archisteamfarm = {}; # Фарм карточек стима афк. Простро раскомментить мало, надо настроить
|
||||
};
|
||||
|
|
@ -215,7 +208,7 @@
|
|||
ffmpegthumbnailer # A lightweight video thumbnailer
|
||||
gnome-epub-thumbnailer # Thumbnailer for EPub and MOBI books
|
||||
nufraw-thumbnailer # Thumbnailer for .raw images from digital cameras
|
||||
mcomix # Comic book reader and image viewer. Thumbnailer for .crb comicbook archives
|
||||
# mcomix # Comic book reader and image viewer. Thumbnailer for .crb comicbook archives (требует mupdf, который крашит систему)
|
||||
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, но мб пригодится и в других местах
|
||||
|
||||
|
|
@ -268,8 +261,8 @@
|
|||
## Games ##
|
||||
###########
|
||||
|
||||
# steam # Мб не надо сюда писать, раз через programs.steam редачу
|
||||
# inputs.nix-gaming.packages.${pkgs.system}.osu-stable # osu!stable from nix-gaming
|
||||
# steam # Мб не надо сюда писать, раз через programs.steam редачу
|
||||
# heroic # A Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac
|
||||
# lutris # Запускать игры не из стима
|
||||
bottles # Минималистичная альтернатива lutris
|
||||
|
|
@ -321,5 +314,4 @@
|
|||
libva-utils # Проверяет работоспособность VAAPI?
|
||||
clinfo # Проверяет работоспособность OpenCL?
|
||||
];
|
||||
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue