This commit is contained in:
2026-01-15 20:39:10 +03:00
parent b051d3d55f
commit 5755610075
22 changed files with 643 additions and 572 deletions
+2 -1
View File
@@ -95,7 +95,8 @@ let
throttled.enable = true;
journald = {
extraConfig = ''
SystemMaxUse=512M
SystemMaxUse=512M
'';
};
openssh = {
+2 -1
View File
@@ -43,7 +43,8 @@ let
earlyoom.enable = true;
journald = {
extraConfig = ''
SystemMaxUse=512M
SystemMaxUse=512M
'';
};
samba = {
+2 -1
View File
@@ -24,7 +24,8 @@ let
services = {
journald = {
extraConfig = ''
SystemMaxUse=512M
SystemMaxUse=512M
'';
};
earlyoom.enable = true;
+4
View File
@@ -41,6 +41,10 @@
# url = "github:nix-community/NUR";
# inputs.nixpkgs.follows = "nixpkgs";
# };
noctalia = {
url = "github:noctalia-dev/noctalia-shell";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager"; # flake:home-manager
inputs.nixpkgs.follows = "nixpkgs";
+66
View File
@@ -0,0 +1,66 @@
{
config,
pkgs,
...
}:
{
imports = [
inputs.noctalia.homeModules.default
];
programs.noctalia-shell = {
enable = true;
settings = {
# configure noctalia here
bar = {
density = "compact";
position = "right";
showCapsule = false;
widgets = {
left = [
{
id = "ControlCenter";
useDistroLogo = true;
}
{
id = "WiFi";
}
{
id = "Bluetooth";
}
];
center = [
{
hideUnoccupied = false;
id = "Workspace";
labelMode = "none";
}
];
right = [
{
alwaysShowPercentage = false;
id = "Battery";
warningThreshold = 30;
}
{
formatHorizontal = "HH:mm";
formatVertical = "HH mm";
id = "Clock";
useMonospacedFont = true;
usePrimaryColor = true;
}
];
};
};
colorSchemes.predefinedScheme = "Monochrome";
general = {
avatarImage = "/home/drfoobar/.face";
radiusRatio = 0.2;
};
location = {
monthBeforeDay = true;
name = "Marseille, France";
};
};
# this may also be a string or a path to a JSON file.
};
}
+3 -1
View File
@@ -33,6 +33,7 @@ in
./modules/plasma-manager.nix
# ./modules/external.nix
./modules/external-mini-laptop.nix
./modules/noctalia.nix
];
xdg = {
enable = true;
@@ -63,7 +64,8 @@ in
};
home.activation = {
yaziSync = ''
${pkgs.rsync}/bin/rsync -Lrv "${config.home.homeDirectory}/.config/yazi/" "${xlib.dirs.user-storage}/yazi/"
${pkgs.rsync}/bin/rsync -Lrv "${config.home.homeDirectory}/.config/yazi/" "${xlib.dirs.user-storage}/yazi/"
'';
};
}
+2 -1
View File
@@ -40,7 +40,8 @@ in
};
home.activation = {
yaziSync = ''
${pkgs.rsync}/bin/rsync -Lrv --no-A --no-X "${config.home.homeDirectory}/.config/yazi/" "${xlib.dirs.storage}/yazi/"
${pkgs.rsync}/bin/rsync -Lrv --no-A --no-X "${config.home.homeDirectory}/.config/yazi/" "${xlib.dirs.storage}/yazi/"
'';
};
}
+2 -1
View File
@@ -43,7 +43,8 @@ in
};
home.activation = {
yaziSync = ''
${pkgs.rsync}/bin/rsync -Lrv "${config.home.homeDirectory}/.config/yazi/" "${xlib.dirs.wsl-storage}/yazi/"
${pkgs.rsync}/bin/rsync -Lrv "${config.home.homeDirectory}/.config/yazi/" "${xlib.dirs.wsl-storage}/yazi/"
'';
};
}
+1
View File
@@ -5,6 +5,7 @@
imports = [
# ./kde.nix
./gnome.nix
./noctalia.nix
#./xfce.nix
#./deepin.nix
];
-38
View File
@@ -1,38 +0,0 @@
{
config,
lib,
pkgs,
...
}:
{
# qt = {
# enable = true;
# style = "breeze";
# platformTheme = "kde6"; # kde6
# };
environment.plasma6.excludePackages = with pkgs; [
kdePackages.plasma-browser-integration
kdePackages.elisa
kdePackages.ksshaskpass
kdePackages.kwallet
kdePackages.kwallet-pam
kdePackages.kwalletmanager
# libsForQt5.kwallet
# libsForQt5.kwallet-pam # error
# libsForQt5.kwalletmanager
];
services = {
displayManager = {
sddm = {
enable = true;
theme = "WhiteSur-light";
wayland = {
enable = true;
compositor = "kwin";
};
};
};
desktopManager.plasma6.enable = true;
};
programs.partition-manager.enable = true;
}
+12
View File
@@ -0,0 +1,12 @@
{
config,
lib,
pkgs,
...
}:
{
environment.systemPackages = with pkgs; [
inputs.noctalia.packages.${pkgs.stdenv.hostPlatform.system}.default
# ... maybe other stuff
];
}
+4 -3
View File
@@ -93,9 +93,10 @@ in
nano = {
enable = true;
nanorc = ''
set nowrap
set tabstospaces
set tabsize 2
set nowrap
set tabstospaces
set tabsize 2
'';
syntaxHighlight = true;
};
+6 -5
View File
@@ -38,11 +38,12 @@
polkit = {
enable = true;
extraConfig = ''
polkit.addRule(function(action, subject) {
if (subject.isInGroup("wheel")){ // for sudo
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if (subject.isInGroup("wheel")){ // for sudo
return polkit.Result.YES;
}
});
'';
};
};
+10 -9
View File
@@ -19,15 +19,16 @@
theme = "robbyrussell";
};
shellInit = ''
beet-n() {
echo "$*" | aichat -cer beets
}
beet-p() {
beet mod path:. playlist="$*"
}
beet-ims() {
beet im ./ -S $*
}
beet-n() {
echo "$*" | aichat -cer beets
}
beet-p() {
beet mod path:. playlist="$*"
}
beet-ims() {
beet im ./ -S $*
}
'';
shellAliases = {
# shell
+5 -4
View File
@@ -153,10 +153,11 @@ in
];
requires = [ "coolwsd.service" ];
script = ''
${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_url --value ${lib.escapeShellArg wopi_url}
${occ}/bin/nextcloud-occ config:app:set richdocuments public_wopi_url --value ${lib.escapeShellArg public_wopi_url}
${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_allowlist --value ${lib.escapeShellArg wopi_allowlist}
${occ}/bin/nextcloud-occ richdocuments:setup
${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_url --value ${lib.escapeShellArg wopi_url}
${occ}/bin/nextcloud-occ config:app:set richdocuments public_wopi_url --value ${lib.escapeShellArg public_wopi_url}
${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_allowlist --value ${lib.escapeShellArg wopi_allowlist}
${occ}/bin/nextcloud-occ richdocuments:setup
'';
serviceConfig = {
Type = "oneshot";
+5 -3
View File
@@ -13,7 +13,8 @@
description = "Backup data using rsync";
requisite = [ "mnt-archive.mount" ]; # hard-code
script = ''
${pkgs.rsync}/bin/rsync -rtv --delete ${xlib.dirs.services-folder}/ ${xlib.dirs.archive-drive}/Services/
${pkgs.rsync}/bin/rsync -rtv --delete ${xlib.dirs.services-folder}/ ${xlib.dirs.archive-drive}/Services/
'';
serviceConfig = {
Type = "oneshot";
@@ -28,8 +29,9 @@
description = "Backup data using rsync";
requisite = [ "mnt-mobile.mount" ]; # hard-code
script = ''
${pkgs.rsync}/bin/rsync -rtv --delete ${xlib.dirs.server-home}/Music/ ${xlib.dirs.mobile-drive}/Music/
${pkgs.rsync}/bin/rsync -rtv --delete "${xlib.dirs.server-home}/Hosts/epral/Neo Backup/" "${xlib.dirs.mobile-drive}/Neo Backup/"
${pkgs.rsync}/bin/rsync -rtv --delete ${xlib.dirs.server-home}/Music/ ${xlib.dirs.mobile-drive}/Music/
${pkgs.rsync}/bin/rsync -rtv --delete "${xlib.dirs.server-home}/Hosts/epral/Neo Backup/" "${xlib.dirs.mobile-drive}/Neo Backup/"
'';
serviceConfig = {
Type = "oneshot";
+6 -3
View File
@@ -36,16 +36,19 @@
WorkingDirectory = "${xlib.dirs.user-services}/zapret";
User = "root";
ExecStart = ''
/run/current-system/sw/bin/bash ${xlib.dirs.user-services}/zapret/main_script.sh -nointeractive
/run/current-system/sw/bin/bash ${xlib.dirs.user-services}/zapret/main_script.sh -nointeractive
'';
ExecStop = ''
/run/current-system/sw/bin/bash ${xlib.dirs.user-services}/zapret/stop_and_clean_nft.sh
/run/current-system/sw/bin/bash ${xlib.dirs.user-services}/zapret/stop_and_clean_nft.sh
'';
# ExecStopPost = ''
# /run/current-system/sw/bin/echo "Сервис завершён"
# '';
PIDFile = ''
/run/zapret_discord_youtube.pid
/run/zapret_discord_youtube.pid
'';
# Restart = "on-failure";
# RestartSec = "5s";
+3 -2
View File
@@ -64,8 +64,9 @@
TimeoutSec = 300;
};
script = ''
cd /mnt/containers/3x-ui
podman build -t compose2nix/3xui_app -f ./Dockerfile .
cd /mnt/containers/3x-ui
podman build -t compose2nix/3xui_app -f ./Dockerfile .
'';
};
+24 -15
View File
@@ -24,11 +24,12 @@ in
root = "${inputs.zeroq-credentials.services.xray.subs}";
locations."/" = {
extraConfig = ''
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/pubray;
if ($subfile = "") { return 403; }
rewrite ^/$ $subfile break;
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/pubray;
if ($subfile = "") { return 403; }
rewrite ^/$ $subfile break;
'';
};
};
@@ -40,7 +41,8 @@ in
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
client_max_body_size 5G;
'';
};
# "node-red.zeroq.ru" = {
@@ -73,7 +75,8 @@ in
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
client_max_body_size 5G;
'';
};
"office.zeroq.ru" = {
@@ -86,10 +89,11 @@ in
};
};
extraConfig = ''
client_max_body_size 5G;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 5G;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
''; # absolute_redirect off;
};
"immich.zeroq.ru" = {
@@ -100,7 +104,8 @@ in
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
client_max_body_size 5G;
'';
};
"nextcloud.zeroq.ru" = {
@@ -117,7 +122,8 @@ in
};
};
extraConfig = ''
client_max_body_size 5G;
client_max_body_size 5G;
'';
};
"calibre.zeroq.ru" = {
@@ -128,7 +134,8 @@ in
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
client_max_body_size 5G;
'';
};
"pdf.zeroq.ru" = {
@@ -139,7 +146,8 @@ in
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
client_max_body_size 5G;
'';
};
"ai.zeroq.ru" = {
@@ -150,7 +158,8 @@ in
proxyWebsockets = true;
};
extraConfig = ''
client_max_body_size 5G;
client_max_body_size 5G;
'';
};
};