This commit is contained in:
2026-01-11 13:00:40 +03:00
parent 41a9f7e028
commit e16acfd437
17 changed files with 99 additions and 56 deletions
+2 -1
View File
@@ -95,7 +95,8 @@ let
throttled.enable = true; throttled.enable = true;
journald = { journald = {
extraConfig = '' extraConfig = ''
SystemMaxUse=512M
SystemMaxUse=512M
''; '';
}; };
openssh = { openssh = {
+2 -1
View File
@@ -43,7 +43,8 @@ let
earlyoom.enable = true; earlyoom.enable = true;
journald = { journald = {
extraConfig = '' extraConfig = ''
SystemMaxUse=512M
SystemMaxUse=512M
''; '';
}; };
samba = { samba = {
+2 -1
View File
@@ -24,7 +24,8 @@ let
services = { services = {
journald = { journald = {
extraConfig = '' extraConfig = ''
SystemMaxUse=512M
SystemMaxUse=512M
''; '';
}; };
earlyoom.enable = true; earlyoom.enable = true;
+1
View File
@@ -117,5 +117,6 @@
// (import ./deploy flakeContext) // (import ./deploy flakeContext)
// (import ./home flakeContext) // (import ./home flakeContext)
// (import ./modules flakeContext) // (import ./modules flakeContext)
// (import ./overlays flakeContext)
// (import ./pkgs flakeContext); // (import ./pkgs flakeContext);
} }
+3
View File
@@ -23,6 +23,9 @@ let
disko.nixosModules.disko # disko module disko.nixosModules.disko # disko module
nixvim.nixosModules.nixvim # nixvim module nixvim.nixosModules.nixvim # nixvim module
]; ];
nixpkgs.overlays = [
inputs.self.nixosOverlays.default
];
_module.args = { _module.args = {
inputs = inputs; inputs = inputs;
xlib = config.xlib; xlib = config.xlib;
+4 -3
View File
@@ -97,9 +97,10 @@ in
nano = { nano = {
enable = true; enable = true;
nanorc = '' nanorc = ''
set nowrap
set tabstospaces set nowrap
set tabsize 2 set tabstospaces
set tabsize 2
''; '';
syntaxHighlight = true; syntaxHighlight = true;
}; };
+6 -5
View File
@@ -38,11 +38,12 @@
polkit = { polkit = {
enable = true; enable = true;
extraConfig = '' extraConfig = ''
polkit.addRule(function(action, subject) {
if (subject.isInGroup("wheel")){ // for sudo polkit.addRule(function(action, subject) {
return polkit.Result.YES; if (subject.isInGroup("wheel")){ // for sudo
} return polkit.Result.YES;
}); }
});
''; '';
}; };
}; };
+10 -9
View File
@@ -19,15 +19,16 @@
theme = "robbyrussell"; theme = "robbyrussell";
}; };
shellInit = '' shellInit = ''
beet-n() {
echo "$*" | aichat -cer beets beet-n() {
} echo "$*" | aichat -cer beets
beet-p() { }
beet mod path:. playlist="$*" beet-p() {
} beet mod path:. playlist="$*"
beet-ims() { }
beet im ./ -S $* beet-ims() {
} beet im ./ -S $*
}
''; '';
shellAliases = { shellAliases = {
# shell # shell
+5 -4
View File
@@ -153,10 +153,11 @@ in
]; ];
requires = [ "coolwsd.service" ]; requires = [ "coolwsd.service" ];
script = '' 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_url --value ${lib.escapeShellArg wopi_url}
${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_allowlist --value ${lib.escapeShellArg wopi_allowlist} ${occ}/bin/nextcloud-occ config:app:set richdocuments public_wopi_url --value ${lib.escapeShellArg public_wopi_url}
${occ}/bin/nextcloud-occ richdocuments:setup ${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_allowlist --value ${lib.escapeShellArg wopi_allowlist}
${occ}/bin/nextcloud-occ richdocuments:setup
''; '';
serviceConfig = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
+5 -3
View File
@@ -13,7 +13,8 @@
description = "Backup data using rsync"; description = "Backup data using rsync";
requisite = [ "mnt-archive.mount" ]; # hard-code requisite = [ "mnt-archive.mount" ]; # hard-code
script = '' 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 = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
@@ -28,8 +29,9 @@
description = "Backup data using rsync"; description = "Backup data using rsync";
requisite = [ "mnt-mobile.mount" ]; # hard-code requisite = [ "mnt-mobile.mount" ]; # hard-code
script = '' 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 = { serviceConfig = {
Type = "oneshot"; Type = "oneshot";
+6 -3
View File
@@ -36,16 +36,19 @@
WorkingDirectory = "${xlib.dirs.user-services}/zapret"; WorkingDirectory = "${xlib.dirs.user-services}/zapret";
User = "root"; User = "root";
ExecStart = '' 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 = '' 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 = '' # ExecStopPost = ''
# /run/current-system/sw/bin/echo "Сервис завершён" # /run/current-system/sw/bin/echo "Сервис завершён"
# ''; # '';
PIDFile = '' PIDFile = ''
/run/zapret_discord_youtube.pid
/run/zapret_discord_youtube.pid
''; '';
# Restart = "on-failure"; # Restart = "on-failure";
# RestartSec = "5s"; # RestartSec = "5s";
+3 -2
View File
@@ -64,8 +64,9 @@
TimeoutSec = 300; TimeoutSec = 300;
}; };
script = '' 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}"; root = "${inputs.zeroq-credentials.services.xray.subs}";
locations."/" = { locations."/" = {
extraConfig = '' extraConfig = ''
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/pubray;
if ($subfile = "") { return 403; } auth_basic "Restricted";
rewrite ^/$ $subfile break; auth_basic_user_file /etc/nginx/pubray;
if ($subfile = "") { return 403; }
rewrite ^/$ $subfile break;
''; '';
}; };
}; };
@@ -40,7 +41,8 @@ in
proxyWebsockets = true; proxyWebsockets = true;
}; };
extraConfig = '' extraConfig = ''
client_max_body_size 5G;
client_max_body_size 5G;
''; '';
}; };
# "node-red.zeroq.ru" = { # "node-red.zeroq.ru" = {
@@ -73,7 +75,8 @@ in
proxyWebsockets = true; proxyWebsockets = true;
}; };
extraConfig = '' extraConfig = ''
client_max_body_size 5G;
client_max_body_size 5G;
''; '';
}; };
"office.zeroq.ru" = { "office.zeroq.ru" = {
@@ -86,10 +89,11 @@ in
}; };
}; };
extraConfig = '' extraConfig = ''
client_max_body_size 5G;
proxy_set_header X-Forwarded-Proto $scheme; client_max_body_size 5G;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
''; # absolute_redirect off; ''; # absolute_redirect off;
}; };
"immich.zeroq.ru" = { "immich.zeroq.ru" = {
@@ -100,7 +104,8 @@ in
proxyWebsockets = true; proxyWebsockets = true;
}; };
extraConfig = '' extraConfig = ''
client_max_body_size 5G;
client_max_body_size 5G;
''; '';
}; };
"nextcloud.zeroq.ru" = { "nextcloud.zeroq.ru" = {
@@ -117,7 +122,8 @@ in
}; };
}; };
extraConfig = '' extraConfig = ''
client_max_body_size 5G;
client_max_body_size 5G;
''; '';
}; };
"calibre.zeroq.ru" = { "calibre.zeroq.ru" = {
@@ -128,7 +134,8 @@ in
proxyWebsockets = true; proxyWebsockets = true;
}; };
extraConfig = '' extraConfig = ''
client_max_body_size 5G;
client_max_body_size 5G;
''; '';
}; };
"pdf.zeroq.ru" = { "pdf.zeroq.ru" = {
@@ -139,7 +146,8 @@ in
proxyWebsockets = true; proxyWebsockets = true;
}; };
extraConfig = '' extraConfig = ''
client_max_body_size 5G;
client_max_body_size 5G;
''; '';
}; };
"ai.zeroq.ru" = { "ai.zeroq.ru" = {
@@ -150,7 +158,8 @@ in
proxyWebsockets = true; proxyWebsockets = true;
}; };
extraConfig = '' extraConfig = ''
client_max_body_size 5G;
client_max_body_size 5G;
''; '';
}; };
}; };
+6
View File
@@ -0,0 +1,6 @@
{ inputs, ... }@flakeContext:
{
nixosOverlays = {
default = import ./pkgs.nix flakeContext;
};
}
+9
View File
@@ -0,0 +1,9 @@
{ inputs, ... }:
self: super: {
yazi = super.yazi.overrideDerivation (old: {
passthru = (old.passthru or { }) // {
configHome = configHome;
};
});
}
+4 -3
View File
@@ -14,9 +14,10 @@ let
unpackZigArtifact = unpackZigArtifact =
{ name, artifact }: { name, artifact }:
runCommandLocal name { nativeBuildInputs = [ zig ]; } '' runCommandLocal name { nativeBuildInputs = [ zig ]; } ''
hash="$(zig fetch --global-cache-dir "$TMPDIR" ${artifact})"
mv "$TMPDIR/p/$hash" "$out" hash="$(zig fetch --global-cache-dir "$TMPDIR" ${artifact})"
chmod 755 "$out" mv "$TMPDIR/p/$hash" "$out"
chmod 755 "$out"
''; '';
fetchZig = fetchZig =
+6 -5
View File
@@ -17,11 +17,12 @@ stdenv.mkDerivation (finalAttrs: {
hash = "sha256-868FK3wr/fjXzrQJ4YVDBvzNuX818lufEx/K0fvJdWo="; hash = "sha256-868FK3wr/fjXzrQJ4YVDBvzNuX818lufEx/K0fvJdWo=";
}; };
postPatch = '' postPatch = ''
ln -s ${
callPackage ./build.zig.zon.nix { ln -s ${
zig = zig_0_15; callPackage ./build.zig.zon.nix {
} zig = zig_0_15;
} $ZIG_GLOBAL_CACHE_DIR/p }
} $ZIG_GLOBAL_CACHE_DIR/p
''; '';
nativeBuildInputs = [ zig_0_15 ]; nativeBuildInputs = [ zig_0_15 ];