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
|
- CPU: i5 10400f
|
||||||
|
|
@ -16,6 +16,65 @@ nix-prefetch-git link
|
||||||
font = lib.mkForce "JetBrainsMono Nerd Font 11";
|
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`
|
Клавиша `Super` это клавиша `Win`
|
||||||
|
|
|
||||||
17
flake.lock
generated
17
flake.lock
generated
|
|
@ -220,27 +220,10 @@
|
||||||
"type": "github"
|
"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": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nixpkgs-stable": "nixpkgs-stable",
|
|
||||||
"stylix": "stylix"
|
"stylix": "stylix"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
14
flake.nix
14
flake.nix
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
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 = {
|
stylix = {
|
||||||
url = "github:danth/stylix";
|
url = "github:danth/stylix";
|
||||||
|
|
@ -24,7 +24,17 @@
|
||||||
outputs = { self, nixpkgs, ... }@inputs:
|
outputs = { self, nixpkgs, ... }@inputs:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux"; # Не понимаю зачем, если это в hardware.nix указывается
|
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
|
in
|
||||||
{
|
{
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
|
|
|
||||||
|
|
@ -12,34 +12,6 @@
|
||||||
# force = true;
|
# 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 работал
|
# nativeMessagingHosts.ff2mpv = true; # Чтоб ff2mpv работал
|
||||||
|
|
||||||
# settings = {
|
# settings = {
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./browsers/chromium.nix
|
# ./browsers/chromium.nix
|
||||||
./browsers/firefox.nix
|
# ./browsers/firefox.nix
|
||||||
./browsers/librewolf.nix
|
# ./browsers/librewolf.nix
|
||||||
./browsers/lynx.nix
|
./browsers/lynx.nix
|
||||||
|
|
||||||
./file-managers/ranger/ranger.nix
|
./file-managers/ranger/ranger.nix
|
||||||
|
|
@ -23,7 +23,7 @@
|
||||||
./terminal/zellij.nix
|
./terminal/zellij.nix
|
||||||
./terminal/zsh.nix
|
./terminal/zsh.nix
|
||||||
|
|
||||||
# ./wm/bspwm/bspwm.nix
|
./wm/bspwm/bspwm.nix
|
||||||
./wm/rofi/rofi.nix
|
./wm/rofi/rofi.nix
|
||||||
./wm/dunst.nix
|
./wm/dunst.nix
|
||||||
./wm/lockscreen.nix
|
./wm/lockscreen.nix
|
||||||
|
|
|
||||||
|
|
@ -60,25 +60,25 @@
|
||||||
"audio/x-mpegurl" = [ "mpv.desktop" ]; # Для .m3u. Это файл-плейлист
|
"audio/x-mpegurl" = [ "mpv.desktop" ]; # Для .m3u. Это файл-плейлист
|
||||||
"audio/x-opus+ogg" = [ "mpv.desktop" ]; # What's this? Why not "audio/ogg" and "audio/opus"?
|
"audio/x-opus+ogg" = [ "mpv.desktop" ]; # What's this? Why not "audio/ogg" and "audio/opus"?
|
||||||
# Text
|
# Text
|
||||||
"text/*" = [ "nvim.desktop" ]; # Надо ли заменять это и всё что ниже на NixVim?
|
"text/*" = [ "nvim.desktop" "code.desktop" ]; # Надо ли заменять nvim и всё что ниже на NixVim?
|
||||||
"text/css" = [ "nvim.desktop" ];
|
"text/css" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"text/csv" = [ "nvim.desktop" ];
|
"text/csv" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"text/html" = [ "nvim.desktop" "librewolf.desktop" ];
|
"text/html" = [ "nvim.desktop" "code.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
|
||||||
"text/javascript" = [ "nvim.desktop" ];
|
"text/javascript" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"text/markdown" = [ "nvim.desktop" ];
|
"text/markdown" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"text/plain" = [ "nvim.desktop" ];
|
"text/plain" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"text/x-asm" = [ "nvim.desktop" ];
|
"text/x-asm" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"text/x-c" = [ "nvim.desktop" ];
|
"text/x-c" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"text/x-python" = [ "nvim.desktop" ];
|
"text/x-python" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"application/json" = [ "nvim.desktop" ];
|
"application/json" = [ "nvim.desktop" "code.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
|
||||||
"application/x-sh" = [ "nvim.desktop" ];
|
"application/x-sh" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"application/x-shellscript" = [ "nvim.desktop" ];
|
"application/x-shellscript" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"application/xml" = [ "nvim.desktop" ];
|
"application/xml" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"application/yaml" = [ "nvim.desktop" ];
|
"application/yaml" = [ "nvim.desktop" "code.desktop" ];
|
||||||
# Мб потом добавить для docs варианты и разные виды архивов и ebook
|
# Мб потом добавить для docs варианты и разные виды архивов и ebook
|
||||||
# Other
|
# Other
|
||||||
"application/pdf" = [ "org.gnome.Evince.desktop" ];
|
"application/pdf" = [ "org.gnome.Evince.desktop" ];
|
||||||
"application/x-zerosize" = [ "nvim.desktop" ]; # Файл нулевого размера
|
"application/x-zerosize" = [ "nvim.desktop" "code.desktop" ]; # Файл нулевого размера
|
||||||
"application/zip" = [ "ark.desktop" ];
|
"application/zip" = [ "ark.desktop" ];
|
||||||
"application/x-bittorrent" = [ "qbittorrent.desktop" ];
|
"application/x-bittorrent" = [ "qbittorrent.desktop" ];
|
||||||
"x-scheme-handler/magnet" = [ "qbittorrent.desktop" ];
|
"x-scheme-handler/magnet" = [ "qbittorrent.desktop" ];
|
||||||
|
|
@ -86,6 +86,7 @@
|
||||||
"x-scheme-handler/mailto" = [ "thunderbird.desktop" ];
|
"x-scheme-handler/mailto" = [ "thunderbird.desktop" ];
|
||||||
"x-scheme-handler/jetbrains" = [ "jetbrains-toolbox.desktop" ];
|
"x-scheme-handler/jetbrains" = [ "jetbrains-toolbox.desktop" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
associations.added = { # Дополнительные приложения для нужного файла. Будет в меню "Открыть с помощью"
|
associations.added = { # Дополнительные приложения для нужного файла. Будет в меню "Открыть с помощью"
|
||||||
# Images
|
# Images
|
||||||
"image/*" = [ "imv.desktop" "qview.desktop" ];
|
"image/*" = [ "imv.desktop" "qview.desktop" ];
|
||||||
|
|
@ -100,21 +101,21 @@
|
||||||
"image/x-icon" = [ "imv.desktop" "qview.desktop" ];
|
"image/x-icon" = [ "imv.desktop" "qview.desktop" ];
|
||||||
"image/vnd.microsoft.icon" = [ "imv.desktop" "qview.desktop" ];
|
"image/vnd.microsoft.icon" = [ "imv.desktop" "qview.desktop" ];
|
||||||
# Text
|
# Text
|
||||||
"text/*" = [ "nvim.desktop" "code.desktop" "codium.desktop" ]; # Надо ли заменять nvim и всё что ниже на NixVim?
|
"text/*" = [ "nvim.desktop" "code.desktop" ]; # Надо ли заменять nvim и всё что ниже на NixVim?
|
||||||
"text/css" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
"text/css" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"text/csv" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
"text/csv" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"text/html" = [ "nvim.desktop" "code.desktop" "codium.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
|
"text/html" = [ "nvim.desktop" "code.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
|
||||||
"text/javascript" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
"text/javascript" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"text/markdown" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
"text/markdown" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"text/plain" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
"text/plain" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"text/x-asm" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
"text/x-asm" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"text/x-c" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
"text/x-c" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"text/x-python" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
"text/x-python" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"application/json" = [ "nvim.desktop" "code.desktop" "codium.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
|
"application/json" = [ "nvim.desktop" "code.desktop" "librewolf.desktop" "firefox.desktop" "chromium.desktop" ];
|
||||||
"application/x-sh" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
"application/x-sh" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"application/x-shellscript" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
"application/x-shellscript" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"application/xml" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
"application/xml" = [ "nvim.desktop" "code.desktop" ];
|
||||||
"application/yaml" = [ "nvim.desktop" "code.desktop" "codium.desktop" ];
|
"application/yaml" = [ "nvim.desktop" "code.desktop" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
{ pkgs, ... }: { # https://nixos.wiki/wiki/Visual_Studio_Code
|
{ pkgs, ... }: { # https://nixos.wiki/wiki/Visual_Studio_Code
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
# Что-то из этого может пригодиться, если хочу ставить пакеты без декларативности
|
||||||
# package = pkgs.vscode.fhs; # Почему в вики написано ".fhs", если пакет называется "-fhs"?
|
# package = pkgs.vscode.fhs; # Почему в вики написано ".fhs", если пакет называется "-fhs"?
|
||||||
# package = pkgs.vscode-with-extensions; # Мб это надо?
|
# package = pkgs.vscode-with-extensions; # Мб это надо?
|
||||||
|
|
||||||
|
|
@ -34,8 +36,6 @@
|
||||||
];
|
];
|
||||||
|
|
||||||
userSettings = {
|
userSettings = {
|
||||||
# "workbench.colorTheme" = "Gruvbox Dark Medium";
|
|
||||||
# "editor.fontFamily" = "JetBrainsMono Nerd Font";
|
|
||||||
"telemetry.telemetryLevel" = "off";
|
"telemetry.telemetryLevel" = "off";
|
||||||
"update.showReleaseNotes" = false;
|
"update.showReleaseNotes" = false;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ let
|
||||||
dir = "backups"; # Имя каталога для бекапов. Мб захочу поменять
|
dir = "backups"; # Имя каталога для бекапов. Мб захочу поменять
|
||||||
in {
|
in {
|
||||||
home.file = { # В .config этим нельзя кидать
|
home.file = { # В .config этим нельзя кидать
|
||||||
# "${dir}".source = "/mnt/${dir}"; # Чтоб остальные симлинки были от ~/backups
|
# "${dir}".source = /mnt/${dir}; # Чтоб остальные симлинки были от ~/backups
|
||||||
|
|
||||||
# Secrets
|
# Secrets
|
||||||
# ".password-store".source = "~/${dir}/Backups/.password-store"; # Для утилиты pass
|
# ".password-store".source = "~/${dir}/Backups/.password-store"; # Для утилиты pass
|
||||||
|
|
|
||||||
|
|
@ -2,26 +2,10 @@
|
||||||
programs.alacritty = { # Минимализм
|
programs.alacritty = { # Минимализм
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = { # https://alacritty.org/config-alacritty.html
|
settings = { # https://alacritty.org/config-alacritty.html
|
||||||
window.pandding = {
|
window.padding = {
|
||||||
x = 15;
|
x = 5;
|
||||||
y = 15;
|
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
|
programs.kitty = { # Быстрое отображение медиа, но кривой SSH
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
|
@ -7,11 +7,5 @@
|
||||||
enableFishIntegration = true;
|
enableFishIntegration = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# font = { # Stylix сам укажет mono шрифт
|
|
||||||
# name = "JetBrainsMono Nerd Font";
|
|
||||||
# package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
|
||||||
# size = 9;
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -15,7 +15,7 @@
|
||||||
shellAliases = let
|
shellAliases = let
|
||||||
flakeDir = "~/dots";
|
flakeDir = "~/dots";
|
||||||
in {
|
in {
|
||||||
rb = "sudo nixos-rebuild switch --flake ${flakeDir}"; # Применить новый конфиг
|
rb = "sudo nixos-rebuild switch --impure --flake ${flakeDir}"; # Применить новый конфиг
|
||||||
|
|
||||||
# Можно назвать аналогом "sudo pacman -Su", не "Syu", репу не обновляет
|
# Можно назвать аналогом "sudo pacman -Su", не "Syu", репу не обновляет
|
||||||
upg = "sudo nixos-rebuild switch --upgrade --flake ${flakeDir}"; # Обновить пакеты, но не репозиторий во fleke.lock
|
upg = "sudo nixos-rebuild switch --upgrade --flake ${flakeDir}"; # Обновить пакеты, но не репозиторий во fleke.lock
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
oh-my-zsh = { # https://github.com/ohmyzsh/ohmyzsh
|
oh-my-zsh = { # https://github.com/ohmyzsh/ohmyzsh
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = [ # Комментирую то, в надобности чего не уверен, но показалось интересным. Можно удалить
|
plugins = [ # Комментирую то, в надобности чего не уверен, но показалось интересным. Можно удалить
|
||||||
"alias-finder" # Напомнит, если у написанной команды есть алиас
|
"alias-finder" # Напомнит, если у написанной команды есть алиас (нет)
|
||||||
"aliases" # "als" в терминале покажет все алиасы. Можно добавить слово для фильтрации
|
"aliases" # "als" в терминале покажет все алиасы. Можно добавить слово для фильтрации
|
||||||
"autoenv" # If a directory contains an .env file, it will automatically be executed when you cd into it
|
"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
|
||||||
|
|
@ -85,8 +85,8 @@
|
||||||
"universalarchive" # Run "ua <format> <files>"" to compress <files> into an archive file using <format>
|
"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
|
#"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)
|
#"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
|
# "z" # Tracks your most visited directories and allows you to access them with very few keystrokes
|
||||||
#"zoxide" # Как "z", но быстрее и с более сложным и точным алгоритмом для ранжирования директорий
|
"zoxide" # Как "z", но быстрее и с более сложным и точным алгоритмом для ранжирования директорий
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
{ # Управление окнами. В инете примерно ноль нормальной документации с описанием всех параметров. Проклинал
|
{ # Управление окнами. В инете примерно ноль нормальной документации с описанием всех параметров. Проклинал
|
||||||
# xsession.windowManager.bspwm = {
|
# xsession.windowManager.bspwm = { # Походу не надо включать тут, если я симлинк ниже использую
|
||||||
# enable = true;
|
# enable = true;
|
||||||
# };
|
# };
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,14 +18,14 @@
|
||||||
# pgrep -x polybar > /dev/null || polybar & # Запускаем polybar если он не запущен
|
# pgrep -x polybar > /dev/null || polybar & # Запускаем polybar если он не запущен
|
||||||
# pgrep -x dunst > /dev/null || dunst & # Запускаем dunst если он не запущен
|
# pgrep -x dunst > /dev/null || dunst & # Запускаем dunst если он не запущен
|
||||||
|
|
||||||
# ksnip &
|
ksnip &
|
||||||
# nekoray &
|
# nekoray &
|
||||||
# obsidian &
|
# obsidian &
|
||||||
# planify &
|
# planify &
|
||||||
lxqt-policykit-agent &
|
lxqt-policykit-agent &
|
||||||
|
|
||||||
# Я ебал рот видеть инет в трее. Замени эту ёбань на rofi и отдельную кнопку в polybar
|
# Я ебал рот видеть инет в трее. Замени эту ёбань на rofi и отдельную кнопку в polybar
|
||||||
# nm-applet &
|
nm-applet &
|
||||||
|
|
||||||
#########################
|
#########################
|
||||||
## Настройки мониторов ##
|
## Настройки мониторов ##
|
||||||
|
|
|
||||||
|
|
@ -43,34 +43,23 @@
|
||||||
progress_bar_max_width = 300; # Set the maximum width for the progress bar
|
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).
|
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.
|
padding = 6; # Padding between text and separator.
|
||||||
horizontal_padding = 6; # Horizontal padding.
|
horizontal_padding = 6; # Horizontal padding.
|
||||||
text_icon_padding = 0; # Padding between text and icon.
|
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_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.
|
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.
|
# 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.
|
# 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
|
# A client can set the 'transient' hint to bypass this. See the rules section for how to disable this if necessary
|
||||||
idle_threshold = 0;
|
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 ###
|
### Text ###
|
||||||
############
|
############
|
||||||
|
|
||||||
# font = lib.mkForce "JetBrainsMono Nerd Font 11"; # Перезаписать шрифт от stylix
|
|
||||||
|
|
||||||
# The spacing between lines.
|
# The spacing between lines.
|
||||||
# If the height is smaller than the font height, it will get raised to the font height.
|
# If the height is smaller than the font height, it will get raised to the font height.
|
||||||
line_height = 3;
|
line_height = 3;
|
||||||
|
|
@ -213,30 +202,18 @@
|
||||||
urgency_low = {
|
urgency_low = {
|
||||||
# IMPORTANT: colors have to be defined in quotation marks.
|
# IMPORTANT: colors have to be defined in quotation marks.
|
||||||
# Otherwise the "#" and following would be interpreted as a comment.
|
# Otherwise the "#" and following would be interpreted as a comment.
|
||||||
# frame_color = "#3B7C87";
|
|
||||||
# foreground = "#3B7C87";
|
|
||||||
# background = "#191311";
|
|
||||||
#background = "#2B313C";
|
|
||||||
timeout = 4;
|
timeout = 4;
|
||||||
# Icon for notifications with low urgency, uncomment to enable
|
# Icon for notifications with low urgency, uncomment to enable
|
||||||
#default_icon = /path/to/icon;
|
#default_icon = /path/to/icon;
|
||||||
};
|
};
|
||||||
|
|
||||||
urgency_normal = {
|
urgency_normal = {
|
||||||
# frame_color = "#5B8234";
|
|
||||||
# foreground = "#5B8234";
|
|
||||||
# background = "#191311";
|
|
||||||
#background = "#2B313C";
|
|
||||||
timeout = 6;
|
timeout = 6;
|
||||||
# Icon for notifications with normal urgency, uncomment to enable
|
# Icon for notifications with normal urgency, uncomment to enable
|
||||||
#default_icon = /path/to/icon;
|
#default_icon = /path/to/icon;
|
||||||
};
|
};
|
||||||
|
|
||||||
urgency_critical = {
|
urgency_critical = {
|
||||||
# frame_color = "#B7472A";
|
|
||||||
# foreground = "#B7472A";
|
|
||||||
# background = "#191311";
|
|
||||||
#background = "#2B313C";
|
|
||||||
timeout = 8;
|
timeout = 8;
|
||||||
# Icon for notifications with critical urgency, uncomment to enable
|
# Icon for notifications with critical urgency, uncomment to enable
|
||||||
#default_icon = /path/to/icon;
|
#default_icon = /path/to/icon;
|
||||||
|
|
|
||||||
|
|
@ -10,7 +10,6 @@
|
||||||
{ pkgs, ... }: { # Запускатор софта и не только
|
{ pkgs, ... }: { # Запускатор софта и не только
|
||||||
programs.rofi = { # https://github.com/davatorium/rofi
|
programs.rofi = { # https://github.com/davatorium/rofi
|
||||||
enable = true;
|
enable = true;
|
||||||
# font = "JetBrainsMono Nerd Font 10";
|
|
||||||
terminal = "${pkgs.alacritty}/bin/alacritty"; # Path to the terminal which will be used to run console applications
|
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.
|
location = "center"; # The location rofi appears on the screen.
|
||||||
# cycle = true; # Whether to cycle through the results list.
|
# cycle = true; # Whether to cycle through the results list.
|
||||||
|
|
@ -41,6 +40,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# xdg.configFile = {
|
# xdg.configFile = {
|
||||||
# "rofi/pidor.rasi".source = config.rasi;
|
# "rofi/config.rasi".source = config.rasi;
|
||||||
# };
|
# };
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,13 @@
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./env.nix
|
# ./env.nix # Мб не надо, ибо редачу через home.nix?
|
||||||
|
# ./filesystems.nix
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./locale.nix
|
./locale.nix
|
||||||
./network.nix
|
./network.nix
|
||||||
./sound.nix
|
./sound.nix
|
||||||
./stylix.nix
|
./stylix.nix
|
||||||
./virtmanager.nix
|
./virtualisation.nix
|
||||||
./xserver.nix
|
./xserver.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
@ -4,20 +4,6 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
hardware = { # Параметры для 24.05 и unstable могут сильно отличаться
|
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 = {
|
amdgpu = {
|
||||||
opencl.enable = true; # # Enable OpenCL support using ROCM runtime library.
|
opencl.enable = true; # # Enable OpenCL support using ROCM runtime library.
|
||||||
amdvlk = {
|
amdvlk = {
|
||||||
|
|
@ -32,18 +18,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
enable32Bit = true; # install 32-bit drivers for 32-bit applications (such as Wine).
|
enable32Bit = true; # install 32-bit drivers for 32-bit applications (such as Wine).
|
||||||
extraPackages = with pkgs; [ # Мб часть пакетов стоит удалить отсюда и закинуть в обычные пакеты
|
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 # 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.
|
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
|
# HIP
|
||||||
|
|
@ -59,7 +51,7 @@
|
||||||
# "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
|
# "L+ /opt/rocm/hip - - - - ${pkgs.rocmPackages.clr}"
|
||||||
# ];
|
# ];
|
||||||
|
|
||||||
boot.initrd.kernelModules = [ "amdgpu" ];
|
# boot.initrd.kernelModules = [ "amdgpu" ]; # Мб не обязательно
|
||||||
|
|
||||||
# Для AMD существует два драйвера Vulkan
|
# Для AMD существует два драйвера Vulkan
|
||||||
# Один официальный от AMD - amdvlk
|
# Один официальный от AMD - amdvlk
|
||||||
|
|
|
||||||
|
|
@ -14,8 +14,8 @@
|
||||||
"10-clock-rate" = {
|
"10-clock-rate" = {
|
||||||
context.properties = {
|
context.properties = {
|
||||||
default.clock.rate = 48000;
|
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)
|
# Ниже настройки для минимальной задержки в играх (например osu!stable через wine)
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
|
|
||||||
polarity = "dark"; # "light" or "either". Если "either", то он сам определяет что будет красивее
|
polarity = "dark"; # "light" or "either". Если "either", то он сам определяет что будет красивее
|
||||||
base16Scheme = "${pkgs.base16-schemes}/share/themes/gruvbox-dark-medium.yaml"; # Если хочешь генерить тему из обоев, то удали эту строку
|
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" # Если хочешь норм обои, то просто укажи путь до изображения
|
#image = "./wallpaper.png" # Если хочешь норм обои, то просто укажи путь до изображения
|
||||||
|
|
||||||
cursor = {
|
cursor = {
|
||||||
|
|
@ -17,17 +17,6 @@
|
||||||
|
|
||||||
fonts = {
|
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
|
monospace = { # default = DejaVu Sans Mono
|
||||||
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
|
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/
|
# https://www.reddit.com/r/NixOS/comments/14dlvbr/sddm_theme/
|
||||||
|
|
||||||
|
|
||||||
{
|
{ pkgs, ... }: {
|
||||||
|
|
||||||
services.displayManager = {
|
services.displayManager = {
|
||||||
defaultSession = "none+bspwm"; # only effective for GDM, LightDM and SDDM
|
defaultSession = "none+bspwm"; # only effective for GDM, LightDM and SDDM
|
||||||
};
|
};
|
||||||
|
|
@ -25,46 +26,13 @@
|
||||||
windowManager.bspwm.enable = true;
|
windowManager.bspwm.enable = true;
|
||||||
|
|
||||||
displayManager = {
|
displayManager = {
|
||||||
# sddm = { # Display manager от kde
|
|
||||||
# enable = true; # Вход в систему
|
|
||||||
# theme = pkgs.sddm-sugar-dark; # https://github.com/MarianArlt/sddm-sugar-dark
|
|
||||||
# };
|
|
||||||
|
|
||||||
lightdm = { # Минималистичный display manager
|
lightdm = { # Минималистичный display manager
|
||||||
enable = true;
|
enable = true;
|
||||||
# background = "./bg.png";
|
# background = "./bg.png";
|
||||||
greeters = {
|
# greeters = {
|
||||||
tiny.enable = true; # Фул минималистичная тема без ничего
|
# tiny.enable = true; # Фул минималистичная тема без ничего
|
||||||
|
# # gtk.enable = true; # GTK тема с кучей настроек
|
||||||
# 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 = "";
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -78,7 +46,7 @@
|
||||||
# https://discourse.nixos.org/t/amd-gpu-optimal-settings/27648/3
|
# https://discourse.nixos.org/t/amd-gpu-optimal-settings/27648/3
|
||||||
|
|
||||||
# videoDrivers = [ "nvidia" ]; # https://nixos.wiki/wiki/Nvidia
|
# 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"'';
|
# deviceSection = ''Option "TearFree" "True"'';
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -12,11 +12,18 @@ in {
|
||||||
inputs.home-manager.nixosModules.default
|
inputs.home-manager.nixosModules.default
|
||||||
../modules/nixos/bundle.nix
|
../modules/nixos/bundle.nix
|
||||||
./packages.nix
|
./packages.nix
|
||||||
# ./filesystems.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
boot.kernelPackages = pkgs.linuxPackages_latest; # Ядро линуха, ласт версия
|
||||||
|
# boot.plymouth.enable = true; # Логотип загрузки вместо спама?
|
||||||
|
|
||||||
boot.loader = {
|
boot.loader = {
|
||||||
systemd-boot.enable = true;
|
# systemd-boot.enable = true;
|
||||||
|
grub = {
|
||||||
|
enable = true;
|
||||||
|
efiSupport = true;
|
||||||
|
device = "nodev"; # nodev позволяет не устанавливать grub в конкретное место, но видеть его ui
|
||||||
|
};
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
# kernelParams = [ # https://nixos.wiki/wiki/AMD_GPU#Dual_Monitors
|
# kernelParams = [ # https://nixos.wiki/wiki/AMD_GPU#Dual_Monitors
|
||||||
# "video=DP-3:1920x1080@165"
|
# "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 через configuration.nix, а не через пакеты юзера,
|
||||||
# то не получится ставить расширения. Потому что там софт ставится от рута и vscode
|
# то не получится ставить расширения. Потому что там софт ставится от рута и vscode
|
||||||
# будет пытаться установить расширения в каталог nix store, куда нельзя что либо ставить без рута.
|
# будет пытаться установить расширения в каталог nix store, куда нельзя что либо ставить без рута.
|
||||||
packages = with pkgs; [
|
# packages = with pkgs; [ ];
|
||||||
|
|
||||||
];
|
|
||||||
|
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
EDITOR = "nvim";
|
EDITOR = "nvim";
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,5 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
|
|
||||||
nixpkgs.config = {
|
|
||||||
allowUnfree = true;
|
|
||||||
permittedInsecurePackages = ["python-2.7.18.8" "electron-25.9.0"];
|
|
||||||
};
|
|
||||||
|
|
||||||
# https://nixos.wiki/wiki/Fonts
|
# https://nixos.wiki/wiki/Fonts
|
||||||
fonts.packages = with pkgs; [
|
fonts.packages = with pkgs; [
|
||||||
noto-fonts # Шрифт от гугла, цель которого поддержка всех языков мира
|
noto-fonts # Шрифт от гугла, цель которого поддержка всех языков мира
|
||||||
|
|
@ -25,8 +20,6 @@
|
||||||
tumbler.enable = true; # Thumbnail support for Thunar file manager
|
tumbler.enable = true; # Thumbnail support for Thunar file manager
|
||||||
unclutter.enable = true; # Enable unclutter to hide your mouse cursor when inactive
|
unclutter.enable = true; # Enable unclutter to hide your mouse cursor when inactive
|
||||||
# greenclip.enable = true; # https://github.com/erebe/greenclip (использую clipmenu вместо этого)
|
# greenclip.enable = true; # https://github.com/erebe/greenclip (использую clipmenu вместо этого)
|
||||||
openssh.enable = true; # Потом удали. Это ставится на виртуалку, чтоб к ней конект по ssh работал.
|
|
||||||
spice-vdagentd.enable = true; # Общий буфер обмена с виртуалкой
|
|
||||||
# fstrim.enable = true; # Чистит ssd для норм производительности. Пока не пользуюсь
|
# fstrim.enable = true; # Чистит ssd для норм производительности. Пока не пользуюсь
|
||||||
# archisteamfarm = {}; # Фарм карточек стима афк. Простро раскомментить мало, надо настроить
|
# archisteamfarm = {}; # Фарм карточек стима афк. Простро раскомментить мало, надо настроить
|
||||||
};
|
};
|
||||||
|
|
@ -215,7 +208,7 @@
|
||||||
ffmpegthumbnailer # A lightweight video thumbnailer
|
ffmpegthumbnailer # A lightweight video thumbnailer
|
||||||
gnome-epub-thumbnailer # Thumbnailer for EPub and MOBI books
|
gnome-epub-thumbnailer # Thumbnailer for EPub and MOBI books
|
||||||
nufraw-thumbnailer # Thumbnailer for .raw images from digital cameras
|
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.
|
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, но мб пригодится и в других местах
|
openscad # 3D model previews (stl, off, dxf, scad, csg). Этот именно для ranger, но мб пригодится и в других местах
|
||||||
|
|
||||||
|
|
@ -268,8 +261,8 @@
|
||||||
## Games ##
|
## Games ##
|
||||||
###########
|
###########
|
||||||
|
|
||||||
# steam # Мб не надо сюда писать, раз через programs.steam редачу
|
|
||||||
# inputs.nix-gaming.packages.${pkgs.system}.osu-stable # osu!stable from nix-gaming
|
# 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
|
# heroic # A Native GOG, Epic, and Amazon Games Launcher for Linux, Windows and Mac
|
||||||
# lutris # Запускать игры не из стима
|
# lutris # Запускать игры не из стима
|
||||||
bottles # Минималистичная альтернатива lutris
|
bottles # Минималистичная альтернатива lutris
|
||||||
|
|
@ -321,5 +314,4 @@
|
||||||
libva-utils # Проверяет работоспособность VAAPI?
|
libva-utils # Проверяет работоспособность VAAPI?
|
||||||
clinfo # Проверяет работоспособность OpenCL?
|
clinfo # Проверяет работоспособность OpenCL?
|
||||||
];
|
];
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
Add table
Reference in a new issue