@@ -1,24 +0,0 @@
|
||||
{config, pkgs, lib, ...}:
|
||||
|
||||
{
|
||||
|
||||
systemd.services.Sovran_SystemsOS_File_Fixes_And_New_Services = {
|
||||
|
||||
unitConfig = {
|
||||
After = "btcpayserver.service";
|
||||
Requires = "network-online.target";
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
ExecStartPre= "/run/current-system/sw/bin/sleep 30";
|
||||
ExecStart = "/run/current-system/sw/bin/wget https://git.sovransystems.com/Sovran_Systems/Sovran_SystemsOS/raw/branch/main/file_fixes_and_new_services/Sovran_SystemsOS_File_Fixes_And_New_Services.sh -O /home/free/Downloads/Sovran_SystemsOS_File_Fixes_And_New_Services.sh ; /run/current-system/sw/bin/bash /home/free/Downloads/Sovran_SystemsOS_File_Fixes_And_New_Services.sh";
|
||||
RemainAfterExit = "yes";
|
||||
User = "root";
|
||||
Type = "oneshot";
|
||||
};
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
};
|
||||
|
||||
}
|
@@ -1,153 +0,0 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
|
||||
## Bitcoind
|
||||
|
||||
services.bitcoind = {
|
||||
enable = true;
|
||||
dataDir = "/run/media/Second_Drive/BTCEcoandBackup/Bitcoin_Node";
|
||||
txindex = true;
|
||||
tor.proxy = true;
|
||||
disablewallet = true;
|
||||
extraConfig = ''
|
||||
peerbloomfilters=1
|
||||
server=1
|
||||
'';
|
||||
};
|
||||
|
||||
systemd.services.bitcoind.wants = [ "network-online.target" ];
|
||||
|
||||
nix-bitcoin.onionServices.bitcoind.enable = true;
|
||||
nix-bitcoin.onionServices.electrs.enable = true;
|
||||
nix-bitcoin.onionServices.rtl.enable = true;
|
||||
|
||||
|
||||
|
||||
## Electrs
|
||||
|
||||
services.electrs = {
|
||||
enable = true;
|
||||
tor.enforce = true;
|
||||
dataDir = "/run/media/Second_Drive/BTCEcoandBackup/Electrs_Data";
|
||||
};
|
||||
|
||||
|
||||
|
||||
## CLN
|
||||
|
||||
services.clightning = {
|
||||
enable = true;
|
||||
tor.proxy = true;
|
||||
tor.enforce = true;
|
||||
port = 9737;
|
||||
extraConfig = ''
|
||||
experimental-offers
|
||||
'';
|
||||
};
|
||||
|
||||
nix-bitcoin.onionServices.clightning.public = true;
|
||||
|
||||
|
||||
services.clightning.replication = {
|
||||
enable = true;
|
||||
local.directory = "/run/media/Second_Drive/BTCEcoandBackup/clightning_db_backup";
|
||||
encrypt = false;
|
||||
};
|
||||
|
||||
|
||||
|
||||
## LND
|
||||
|
||||
services.lnd = {
|
||||
enable = true;
|
||||
tor.enforce = true;
|
||||
tor.proxy = true;
|
||||
extraConfig = ''
|
||||
|
||||
protocol.option-scid-alias=true
|
||||
|
||||
'';
|
||||
};
|
||||
|
||||
nix-bitcoin.onionServices.lnd.public = true;
|
||||
|
||||
services.lightning-loop = {
|
||||
enable = true;
|
||||
tor.enforce = true;
|
||||
tor.proxy = true;
|
||||
};
|
||||
|
||||
services.lightning-pool = {
|
||||
enable = true;
|
||||
tor.enforce = true;
|
||||
tor.proxy = true;
|
||||
};
|
||||
|
||||
|
||||
## RTL
|
||||
|
||||
services.rtl = {
|
||||
enable = true;
|
||||
tor.enforce = true;
|
||||
port = 3050;
|
||||
nightTheme = true;
|
||||
nodes = {
|
||||
clightning = {
|
||||
enable = true;
|
||||
extraConfig = {
|
||||
Settings = {
|
||||
enableOffers = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
lnd = {
|
||||
enable = true;
|
||||
loop = true;
|
||||
};
|
||||
|
||||
reverseOrder = true;
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
## Lndconnect
|
||||
|
||||
services.lnd.lndconnect = {
|
||||
enable = true;
|
||||
onion = true;
|
||||
};
|
||||
|
||||
services.clightning.plugins.clnrest = {
|
||||
enable = true;
|
||||
lnconnect = {
|
||||
enable = true;
|
||||
onion = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
## BTCpay Server
|
||||
|
||||
services.btcpayserver = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
services.btcpayserver.lightningBackend = "lnd";
|
||||
|
||||
|
||||
## System
|
||||
|
||||
nix-bitcoin.generateSecrets = true;
|
||||
|
||||
nix-bitcoin.nodeinfo.enable = true;
|
||||
|
||||
nix-bitcoin.operator = {
|
||||
enable = true;
|
||||
name = "free";
|
||||
};
|
||||
|
||||
nix-bitcoin.useVersionLockedPkgs = true;
|
||||
|
||||
}
|
@@ -1,8 +0,0 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
|
||||
systemd.services.postgresql.postStart = lib.mkForce '''';
|
||||
|
||||
|
||||
}
|
@@ -1,54 +0,0 @@
|
||||
{config, pkgs, lib, ...}:
|
||||
|
||||
let
|
||||
personalization = import ./personalization.nix;
|
||||
|
||||
in
|
||||
{
|
||||
|
||||
systemd.services.coturn-helper = {
|
||||
|
||||
script = ''
|
||||
|
||||
systemctl restart coturn
|
||||
|
||||
'';
|
||||
|
||||
unitConfig = {
|
||||
Type = "simple";
|
||||
After = "btcpayserver.service";
|
||||
Requires = "network-online.target";
|
||||
};
|
||||
|
||||
serviceConfig = {
|
||||
RemainAfterExit = "yes";
|
||||
Type = "oneshot";
|
||||
};
|
||||
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
|
||||
};
|
||||
|
||||
|
||||
services.coturn = {
|
||||
|
||||
enable = true;
|
||||
use-auth-secret = true;
|
||||
static-auth-secret = "${personalization.coturn_static_auth_secret}";
|
||||
realm = personalization.matrix_url;
|
||||
cert = "/var/lib/coturn/${personalization.matrix_url}.crt.pem";
|
||||
pkey = "/var/lib/coturn/${personalization.matrix_url}.key.pem";
|
||||
min-port = 49152;
|
||||
max-port = 65535;
|
||||
listening-port = 5349;
|
||||
no-cli = true;
|
||||
extraConfig = ''
|
||||
verbose
|
||||
external-ip=${personalization.external_ip_secret}
|
||||
stale-nonce
|
||||
fingerprint
|
||||
'';
|
||||
|
||||
};
|
||||
|
||||
}
|
@@ -1,22 +0,0 @@
|
||||
{
|
||||
|
||||
matrix_url = builtins.readFile /var/lib/domains/matrix;
|
||||
wordpress_url = builtins.readFile /var/lib/domains/wordpress;
|
||||
nextcloud_url = builtins.readFile /var/lib/domains/nextcloud;
|
||||
btcpayserver_url = builtins.readFile /var/lib/domains/btcpayserver;
|
||||
caddy_email_for_acme = builtins.readFile /var/lib/domains/sslemail;
|
||||
vaultwarden_url = builtins.readFile /var/lib/domains/vaultwarden;
|
||||
|
||||
##
|
||||
|
||||
external_ip_secret = builtins.readFile /var/lib/secrets/external_ip;
|
||||
coturn_static_auth_secret = builtins.readFile /var/lib/secrets/turn;
|
||||
|
||||
##
|
||||
|
||||
matrixdb = builtins.readFile /var/lib/secrets/matrixdb;
|
||||
nextclouddb = builtins.readFile /var/lib/secrets/nextclouddb;
|
||||
wordpressdb = builtins.readFile /var/lib/secrets/wordpressdb;
|
||||
|
||||
|
||||
}
|
@@ -1,66 +0,0 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
|
||||
let
|
||||
|
||||
custom-php = pkgs.php83.buildEnv {
|
||||
extensions = { enabled, all }: enabled ++ (with all; [ bz2 apcu redis imagick memcached ]);
|
||||
extraConfig = ''
|
||||
|
||||
display_errors = On
|
||||
display_startup_errors = On
|
||||
max_execution_time = 10000
|
||||
max_input_time = 3000
|
||||
memory_limit = 1G;
|
||||
opcache.enable=1;
|
||||
opcache.memory_consumption=512;
|
||||
opcache_revalidate_freq = 240;
|
||||
opcache.max_accelerated_files=20000;
|
||||
post_max_size = 3G
|
||||
upload_max_filesize = 3G
|
||||
apc.enable_cli=1
|
||||
opcache.interned_strings_buffer = 192
|
||||
redis.session.locking_enabled=1
|
||||
redis.session.lock_retries=-1
|
||||
redis.session.lock_wait_time=10000
|
||||
|
||||
'';
|
||||
};
|
||||
in
|
||||
|
||||
{
|
||||
users.users = {
|
||||
|
||||
php = {
|
||||
isSystemUser = true;
|
||||
createHome = false;
|
||||
uid = 7777;
|
||||
};
|
||||
};
|
||||
|
||||
users.users.php.group = "php";
|
||||
|
||||
users.groups.php = {};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
|
||||
custom-php
|
||||
];
|
||||
|
||||
services.phpfpm.pools = {
|
||||
mypool = {
|
||||
user = "caddy";
|
||||
group = "php";
|
||||
phpPackage = custom-php;
|
||||
settings = {
|
||||
"pm" = "dynamic";
|
||||
"pm.max_children" = 75;
|
||||
"pm.start_servers" = 10;
|
||||
"pm.min_spare_servers" = 5;
|
||||
"pm.max_spare_servers" = 20;
|
||||
"pm.max_requests" = 500;
|
||||
"clear_env" = "no";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@@ -1,73 +0,0 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
|
||||
####### CREATE NEW USER (ADMIN OR NOT) VIA TERMINAL #######
|
||||
|
||||
# (Run as root in terminal) matrix-synapse-register_new_matrix_user #
|
||||
|
||||
####### #######
|
||||
|
||||
let
|
||||
personalization = import ./personalization.nix;
|
||||
in
|
||||
{
|
||||
services.matrix-synapse = {
|
||||
enable = true;
|
||||
settings = {
|
||||
push.include_content = false;
|
||||
group_unread_count_by_room = false;
|
||||
encryption_enabled_by_default_for_room_type = "invite";
|
||||
allow_profile_lookup_over_federation = false;
|
||||
allow_device_name_lookup_over_federation = false;
|
||||
server_name = personalization.matrix_url;
|
||||
url_preview_enabled = true;
|
||||
max_upload_size = "1024M";
|
||||
url_preview_ip_range_blacklist = [
|
||||
"10.0.0.0/8"
|
||||
"100.64.0.0/10"
|
||||
"169.254.0.0/16"
|
||||
"172.16.0.0/12"
|
||||
"192.0.0.0/24"
|
||||
"192.0.2.0/24"
|
||||
"192.168.0.0/16"
|
||||
"192.88.99.0/24"
|
||||
"198.18.0.0/15"
|
||||
"198.51.100.0/24"
|
||||
"2001:db8::/32"
|
||||
"203.0.113.0/24"
|
||||
"224.0.0.0/4"
|
||||
"::1/128"
|
||||
"fc00::/7"
|
||||
"fe80::/10"
|
||||
"fec0::/10"
|
||||
"ff00::/8"
|
||||
];
|
||||
url_preview_ip_ranger_whitelist = [ "127.0.0.1" ];
|
||||
turn_shared_secret = "${personalization.coturn_static_auth_secret}";
|
||||
turn_uris = [
|
||||
"turn:${personalization.matrix_url}:5349?transport=udp"
|
||||
"turn:${personalization.matrix_url}:5349?transport=tcp"
|
||||
];
|
||||
presence.enabled = true;
|
||||
enable_registration = false;
|
||||
registration_shared_secret = config.age.secrets.matrix_reg_secret.path;
|
||||
listeners = [
|
||||
{
|
||||
port = 8008;
|
||||
bind_addresses = [ "::1" ];
|
||||
type = "http";
|
||||
tls = false;
|
||||
x_forwarded = true;
|
||||
resources = [ {
|
||||
names = [ "client" ];
|
||||
compress = true;
|
||||
}
|
||||
{
|
||||
names = [ "federation" ];
|
||||
compress = false;
|
||||
} ];
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
@@ -1,41 +0,0 @@
|
||||
{ lib, stdenv, fetchzip, buildPackages }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "systemd-manager";
|
||||
version = "18";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://github.com/hardpixel/systemd-manager/releases/download/v${version}/systemd-manager-v${version}.zip";
|
||||
hash = "sha256-Kd8ZxZ1f6aR1vThrWStsjk8cHrjo2KCYQgpg1em/n2k=";
|
||||
stripRoot = false;
|
||||
};
|
||||
|
||||
passthru = {
|
||||
extensionUuid = "systemd-manager@hardpixel.eu";
|
||||
extensionPortalSlug = "systemd-manager";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ buildPackages.glib ];
|
||||
|
||||
buildPhase = ''
|
||||
runHook preBuild
|
||||
if [ -d schemas ]; then
|
||||
glib-compile-schemas --strict schemas
|
||||
fi
|
||||
runHook postBuild
|
||||
'';
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
mkdir -p $out/share/gnome-shell/extensions
|
||||
cp -r -T . $out/share/gnome-shell/extensions/${passthru.extensionUuid}
|
||||
runHook postInstall
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "GNOME Shell extension to manage systemd services";
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = with maintainers; [ ];
|
||||
homepage = "https://github.com/hardpixel/systemd-manager";
|
||||
};
|
||||
}
|
@@ -1,21 +0,0 @@
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
personalization = import ./personalization.nix;
|
||||
in
|
||||
{
|
||||
|
||||
services.vaultwarden = {
|
||||
enable = true;
|
||||
config = {
|
||||
|
||||
DOMAIN = "https://${personalization.vaultwarden_url}";
|
||||
SIGNUPS_ALLOWED = false;
|
||||
ROCKET_ADDRESS = "127.0.0.1";
|
||||
ROCKET_PORT = 8777;
|
||||
ROCKET_LOG = "critical";
|
||||
};
|
||||
dbBackend = "sqlite";
|
||||
environmentFile = "/var/lib/secrets/vaultwarden/vaultwarden.env";
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user