no longer needed
This commit is contained in:
@@ -1,124 +0,0 @@
|
|||||||
## Custom Add-ons for Sovran_SystemsOS and The Sovran Pro
|
|
||||||
|
|
||||||
Add-ons are extra features you can have enabled before your Sovran Pro is shipped to you or you can enable them yourself.
|
|
||||||
|
|
||||||
## The information about each Feature
|
|
||||||
|
|
||||||
1. Since Sovran_SystemsOS runs Bitcoin Knots by default as opposed to Bitcion Core, you can customize your Sovran Pro's Bitcoin node to run Bitcoin Core.
|
|
||||||
|
|
||||||
https://github.com/bitcoin/bitcoin
|
|
||||||
|
|
||||||
2. BIP-110 keeps Bitcoin more efficient as Peer to Peer Cash and you can run it along side your Bitocoin node.
|
|
||||||
|
|
||||||
https://github.com/bitcoin/bips/blob/master/bip-0110.mediawiki
|
|
||||||
|
|
||||||
3. The Bitcoin Mempool can be added and can be accessed via Tor or on your local network.
|
|
||||||
|
|
||||||
https://github.com/mempool/mempool
|
|
||||||
|
|
||||||
4. The Haven Relay for NOSTR (NOTES AND OTHER STUFF TRANSMITED BY RELAYS) is a Decenterized Social Media/File Sharing.
|
|
||||||
|
|
||||||
https://github.com/barrydeen/haven
|
|
||||||
|
|
||||||
5. You can run the new Element Voice and Video calling backend.
|
|
||||||
|
|
||||||
https://github.com/element-hq/element-call
|
|
||||||
|
|
||||||
6. You can run the Gnome Remote Desktop to view your desktop from another computer in the nextwork.
|
|
||||||
|
|
||||||
https://gitlab.gnome.org/GNOME/gnome-remote-desktop
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## The DIY for each Feature
|
|
||||||
|
|
||||||
All code belongs in the `custom.nix` file located at `/etc/nixos/custom.nix`.
|
|
||||||
|
|
||||||
If you would like to enable these features yourself after you have received your Sovran Pro, then open the *terminal* app and type or paste in
|
|
||||||
|
|
||||||
```bash
|
|
||||||
ssh root@localhost
|
|
||||||
```
|
|
||||||
Type in the password in the diaolog box if necessary. It is the same password to run the Sovran_Systems_Updater app.
|
|
||||||
|
|
||||||
Then press enter.
|
|
||||||
|
|
||||||
Next, type or paste in
|
|
||||||
```bash
|
|
||||||
nano /etc/nixos/custom.nix
|
|
||||||
```
|
|
||||||
Then press enter.
|
|
||||||
|
|
||||||
Next type or paste the codes below *(Code for each Feature)* each on their own line into the termainl/nano window right above the last `}`
|
|
||||||
|
|
||||||
Once done, press `ctr s` then `ctr x` to save and exit.
|
|
||||||
|
|
||||||
Last, type or paste in
|
|
||||||
```bash
|
|
||||||
nixos-rebuild switch --impure
|
|
||||||
```
|
|
||||||
Then press enter.
|
|
||||||
|
|
||||||
After it is done bulding, reboot your Sovran Pro typeing or pasting in
|
|
||||||
```bash
|
|
||||||
reboot
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## The code for each Feature (All Features are disabled by default)
|
|
||||||
|
|
||||||
1. The code to enable Bitcoin Core is as follows:
|
|
||||||
|
|
||||||
```nix
|
|
||||||
sovran_systemsOS.features.bitcoin-core = lib.mkForce true;
|
|
||||||
```
|
|
||||||
|
|
||||||
2. The code to enable BIP-110 is as follows:
|
|
||||||
|
|
||||||
```nix
|
|
||||||
sovran_systemsOS.features.bip110 = lib.mkForce true;
|
|
||||||
```
|
|
||||||
|
|
||||||
3. The code to enable Mempool is as follows:
|
|
||||||
|
|
||||||
```nix
|
|
||||||
sovran_systemsOS.features.mempool = lib.mkForce true;
|
|
||||||
```
|
|
||||||
|
|
||||||
4. The code to enable Haven Relay is as follows (also Haven will need a new domain to work):
|
|
||||||
|
|
||||||
```nix
|
|
||||||
sovran_systemsOS.features.haven = lib.mkForce true;
|
|
||||||
sovran_systemsOS.nostr_npub = "pasteyournpubhere";
|
|
||||||
```
|
|
||||||
|
|
||||||
5. The code to enable Element Calling is as follows (also Element Calling will need a new domain to work):
|
|
||||||
|
|
||||||
```nix
|
|
||||||
sovran_systemsOS.features.element-calling = lib.mkForce true;
|
|
||||||
```
|
|
||||||
|
|
||||||
6. The code to enable Gnome Remote Desktop is as follows:
|
|
||||||
|
|
||||||
```nix
|
|
||||||
sovran_systemsOS.features.rdp = lib.mkForce true;
|
|
||||||
```
|
|
||||||
Next, in a open the terminal app and in the new window paste this in:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
ssh root@localhost
|
|
||||||
```
|
|
||||||
Press enter
|
|
||||||
|
|
||||||
Type in the password if required. It will be the same password to run the Sovran_SystemsOS_Updater app.
|
|
||||||
|
|
||||||
Last, paste in this command to see the log in information to log in from any RDP client software (i.e. Remmina) from any computer on your home network
|
|
||||||
```bash
|
|
||||||
cat /var/lib/gnome-remote-desktop/rdp-credentials
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,68 +0,0 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
# The cron job scans /var/lib/njalla/hooks.d/ for DDNS URLs
|
|
||||||
systemd.services.njalla-ddns = {
|
|
||||||
description = "Njalla Dynamic DNS Updater";
|
|
||||||
after = [ "network-online.target" ];
|
|
||||||
wants = [ "network-online.target" ];
|
|
||||||
serviceConfig = {
|
|
||||||
Type = "oneshot";
|
|
||||||
};
|
|
||||||
script = ''
|
|
||||||
set -euo pipefail
|
|
||||||
|
|
||||||
IP=$(${pkgs.dig}/bin/dig @resolver4.opendns.com myip.opendns.com +short -4)
|
|
||||||
|
|
||||||
if [ -z "$IP" ]; then
|
|
||||||
echo "Failed to resolve external IP"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Only update if IP changed
|
|
||||||
LAST_IP_FILE="/var/lib/njalla/.last_ip"
|
|
||||||
LAST_IP=""
|
|
||||||
[ -f "$LAST_IP_FILE" ] && LAST_IP=$(cat "$LAST_IP_FILE")
|
|
||||||
|
|
||||||
if [ "$IP" = "$LAST_IP" ]; then
|
|
||||||
echo "IP unchanged ($IP), skipping"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -n "$IP" > "$LAST_IP_FILE"
|
|
||||||
echo "IP changed to $IP, updating DNS records..."
|
|
||||||
|
|
||||||
# Update external_ip secret
|
|
||||||
echo -n "$IP" > /var/lib/secrets/external_ip
|
|
||||||
|
|
||||||
# Process each DDNS hook
|
|
||||||
HOOKS_DIR="/var/lib/njalla/hooks.d"
|
|
||||||
mkdir -p "$HOOKS_DIR"
|
|
||||||
|
|
||||||
for hook in "$HOOKS_DIR"/*; do
|
|
||||||
[ -f "$hook" ] || continue
|
|
||||||
DDNS_URL=$(cat "$hook")
|
|
||||||
SERVICE=$(basename "$hook")
|
|
||||||
echo "Updating $SERVICE..."
|
|
||||||
${pkgs.curl}/bin/curl -s "''${DDNS_URL}''${IP}" || echo "Failed: $SERVICE"
|
|
||||||
done
|
|
||||||
|
|
||||||
echo "Done."
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
|
|
||||||
# Run every 15 minutes
|
|
||||||
systemd.timers.njalla-ddns = {
|
|
||||||
wantedBy = [ "timers.target" ];
|
|
||||||
timerConfig = {
|
|
||||||
OnCalendar = "*:0/15";
|
|
||||||
Persistent = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Ensure directory exists
|
|
||||||
systemd.tmpfiles.rules = [
|
|
||||||
"d /var/lib/njalla 0700 root root -"
|
|
||||||
"d /var/lib/njalla/hooks.d 0700 root root -"
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{ config, pkgs, lib, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
sovran-manage = pkgs.writeShellScriptBin "sovran-manage" (builtins.readFile ../../scripts/sovran-manage.sh);
|
|
||||||
in
|
|
||||||
{
|
|
||||||
environment.systemPackages = [
|
|
||||||
sovran-manage
|
|
||||||
pkgs.pwgen
|
|
||||||
pkgs.dig
|
|
||||||
pkgs.curl
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,46 +0,0 @@
|
|||||||
case "$service" in
|
|
||||||
wordpress)
|
|
||||||
echo -e " ${BOLD}WordPress has been fully configured.${NC}"
|
|
||||||
echo ""
|
|
||||||
echo " View your admin credentials:"
|
|
||||||
echo -e " ${CYAN}sovran-manage show-creds wordpress${NC}"
|
|
||||||
echo ""
|
|
||||||
echo -e " Login at: ${CYAN}https://${domain}/wp-admin/${NC}"
|
|
||||||
echo ""
|
|
||||||
echo " Manage plugins:"
|
|
||||||
echo -e " ${CYAN}sovran-manage wp plugin install woocommerce --activate${NC}"
|
|
||||||
echo -e " ${CYAN}sovran-manage wp plugin list${NC}"
|
|
||||||
echo -e " ${CYAN}sovran-manage wp theme install flavor flavor --activate${NC}"
|
|
||||||
echo ""
|
|
||||||
;;
|
|
||||||
|
|
||||||
nextcloud)
|
|
||||||
echo -e " ${BOLD}Nextcloud has been fully configured.${NC}"
|
|
||||||
echo ""
|
|
||||||
echo " Pre-installed apps: Calendar, Contacts, Tasks, Notes, Deck"
|
|
||||||
echo ""
|
|
||||||
echo " View your admin credentials:"
|
|
||||||
echo -e " ${CYAN}sovran-manage show-creds nextcloud${NC}"
|
|
||||||
echo ""
|
|
||||||
echo -e " Login at: ${CYAN}https://${domain}/${NC}"
|
|
||||||
echo ""
|
|
||||||
echo " Manage apps:"
|
|
||||||
echo -e " ${CYAN}sovran-manage occ app:install cookbook${NC}"
|
|
||||||
echo -e " ${CYAN}sovran-manage occ app:list${NC}"
|
|
||||||
echo ""
|
|
||||||
;;
|
|
||||||
|
|
||||||
matrix)
|
|
||||||
echo -e " Matrix Synapse is running."
|
|
||||||
echo -e " URL: ${CYAN}https://${domain}${NC}"
|
|
||||||
echo ""
|
|
||||||
echo " Create your first user:"
|
|
||||||
echo -e " ${CYAN}sovran-manage matrix register-user${NC}"
|
|
||||||
echo ""
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo -e " URL: ${CYAN}https://${domain}${NC}"
|
|
||||||
echo ""
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
Binary file not shown.
|
Before Width: | Height: | Size: 2.9 MiB |
Reference in New Issue
Block a user