Compare commits
19
Commits
4d1c3565c9
...
f39f59fb81
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f39f59fb81 | ||
|
|
61fc61cceb | ||
|
|
4b9800aef3 | ||
|
|
c447674ef9 | ||
|
|
a77bfc5070 | ||
|
|
7b381d0387 | ||
|
|
ec43d631d4 | ||
|
|
82a9952e63 | ||
|
|
1eb4be2c01 | ||
|
|
6f1edb938e | ||
|
|
bd96782229 | ||
|
|
cf23438a5c | ||
|
|
d2c3fd066e | ||
|
|
1bfec68d77 | ||
|
|
bda1372a1d | ||
|
|
13c700ca44 | ||
|
|
f6f87d6b03 | ||
|
|
4f75117540 | ||
|
|
2bb02e50d9 |
No files matched your search
+27
-5
@@ -2,13 +2,35 @@
|
||||
|
||||
First off, thank you for considering contributing to Sovran_SystemsOS! 🎉
|
||||
|
||||
## This Github Repo
|
||||
## Development and Release Repositories
|
||||
|
||||
This repo is for the development of Sovran_SystemsOS and serves as its connection to the GitHub ecosystem. The main repo for Sovran_SystemsOS is hosted at https://git.sovransystems.com/Sovran_Systems/Sovran_SystemsOS/src/branch/stable. All activity in this GitHub repo is tested and eventually mirrored to the main repo on Gitea, as the ethos of Sovran_SystemsOS is self-sovereignty.
|
||||
The GitHub repository is the primary location for Sovran_SystemsOS development
|
||||
and collaboration and serves as the project's connection to the GitHub
|
||||
ecosystem. Most work is contributed through feature branches and pull requests
|
||||
that target GitHub `main`. Development may also begin in a local branch or on
|
||||
`staging-dev` at the project's self-hosted Gitea instance:
|
||||
https://git.sovransystems.com/Sovran_Systems/Sovran_SystemsOS.
|
||||
|
||||
Please note: this repo may contain new features and code not yet in the stable branch on Gitea, and this code is not fully tested.
|
||||
GitHub `main` and Gitea `staging-dev` are kept synchronized as the active
|
||||
development line, although one may briefly lead the other while changes are
|
||||
being integrated. The canonical, release-ready code is maintained on Gitea's
|
||||
[`stable` branch](https://git.sovransystems.com/Sovran_Systems/Sovran_SystemsOS/src/branch/stable),
|
||||
in keeping with the self-sovereignty ethos of Sovran_SystemsOS.
|
||||
|
||||
Moreover, Sovran_SystemsOS has been improved with the help of AI. We have used Copilot to work through significant coding challenges and troubleshooting hurdles. We will continue to use AI to help keep Sovran_SystemsOS stable and maintained.
|
||||
The workflow is:
|
||||
|
||||
1. Most development and project collaboration — including issues, pull
|
||||
requests, and reviews — happens through GitHub, with completed work
|
||||
integrated into `main`.
|
||||
2. Work may also originate locally or on Gitea `staging-dev`. Accepted changes
|
||||
are synchronized between GitHub `main` and Gitea `staging-dev`.
|
||||
3. When changes are complete and tested, they are promoted to Gitea `stable`,
|
||||
which is the code used by released Sovran_SystemsOS builds.
|
||||
|
||||
Please note: GitHub `main` and Gitea `staging-dev` may contain new features and
|
||||
code not yet in `stable`, and that code may not be fully tested.
|
||||
|
||||
Moreover, Sovran_SystemsOS has been improved with the help of AI. We have used Copilot and Arean.Ai to work through significant coding challenges and troubleshooting hurdles. We will continue to use AI to help keep Sovran_SystemsOS stable and maintained.
|
||||
|
||||
## How Can I Contribute?
|
||||
|
||||
@@ -26,7 +48,7 @@ Moreover, Sovran_SystemsOS has been improved with the help of AI. We have used C
|
||||
### 🔧 Submitting Code Changes
|
||||
|
||||
#### 1. Fork the Repository
|
||||
Click the "Fork" button at the top right of this repository.
|
||||
Click the "Fork" button at the top right of the GitHub repository.
|
||||
|
||||
#### 2. Clone Your Fork
|
||||
```bash
|
||||
|
||||
@@ -4,21 +4,21 @@
|
||||
|
||||
# Sovran_SystemsOS
|
||||
|
||||
### Your Bitcoin life. Your keys. Your node. Your machine.
|
||||
### Bitcoin sovereignty. Sovereign computing. One system.
|
||||
|
||||
Sovran_SystemsOS is a free and open-source operating system for **Bitcoin
|
||||
self-custody** and **digital sovereignty**. Hold your own keys, trade
|
||||
peer-to-peer, and verify your own money with your own node. Then extend the
|
||||
same ownership to the rest of your digital life: your files, communications,
|
||||
passwords, and websites, all on hardware you control.
|
||||
Sovran_SystemsOS is a free and open-source operating system built for two
|
||||
inseparable freedoms: **Bitcoin self-custody** and **sovereign computing**.
|
||||
Hold your own keys, trade peer-to-peer, and verify your own money with your
|
||||
own node. Then claim that same uncompromising ownership over the rest of your
|
||||
digital life — your files, communications, passwords, and websites — all on
|
||||
hardware you control, running auditable open-source software you can trust.
|
||||
|
||||
Every installation is a private [NixOS](https://nixos.org) desktop with
|
||||
[Sparrow Wallet](https://sparrowwallet.com), [Bisq](https://bisq.network), and
|
||||
[Bisq 2](https://github.com/bisq-network/bisq2) ready to use. Move beyond
|
||||
custodial exchanges from the first boot, and grow into your own Bitcoin and
|
||||
Lightning infrastructure when you are ready.
|
||||
|
||||
**Privacy. Sovereignty. Bitcoin.**
|
||||
custodial exchanges from the first boot, and grow into your own Bitcoin node,
|
||||
Lightning infrastructure, private cloud, and communications platform when you
|
||||
are ready.
|
||||
|
||||
[Visit the Website](https://sovransystems.com) ·
|
||||
[Download the ISO](https://downloads.sovransystems.com/Sovran_SystemsOS-1.0.3.iso) ·
|
||||
@@ -31,6 +31,10 @@ Lightning infrastructure when you are ready.
|
||||
|
||||
</div>
|
||||
|
||||
> **📌 Active development on GitHub `main` / Gitea `staging-dev` — releases on
|
||||
> [Gitea `stable`](https://git.sovransystems.com/Sovran_Systems/Sovran_SystemsOS/src/branch/stable).**
|
||||
> See [Development workflow](#development-workflow) for details.
|
||||
|
||||
---
|
||||
|
||||
## Contents
|
||||
@@ -42,6 +46,9 @@ Lightning infrastructure when you are ready.
|
||||
- [The Sovran Hub](#the-sovran-hub)
|
||||
- [Install Sovran_SystemsOS](#install-sovran_systemsos)
|
||||
- [For developers](#for-developers)
|
||||
- [Development workflow](#development-workflow)
|
||||
- [Build from source](#build-from-source)
|
||||
- [About Bitcoin wallet entropy](#about-bitcoin-wallet-entropy)
|
||||
- [Security approach](#security-approach)
|
||||
- [Acknowledgements](#acknowledgements)
|
||||
- [License](#license) · [Contributing](#contributing)
|
||||
@@ -452,6 +459,20 @@ Sovran Hub into a complete Bitcoin operating system. The operating system
|
||||
configuration, installer, Hub, desktop integration, Bitcoin services, and
|
||||
optional self-hosting services are all maintained in this repository.
|
||||
|
||||
### Development workflow
|
||||
|
||||
| Branch | Host | Purpose |
|
||||
|---------------|---------------------------------------------------|-----------------------------|
|
||||
| `main` | [GitHub](https://github.com/naturallaw777/Sovran_SystemsOS) | Active development & PRs |
|
||||
| `staging-dev` | [Gitea](https://git.sovransystems.com/Sovran_Systems/Sovran_SystemsOS) | Synced with `main` |
|
||||
| `stable` | [Gitea](https://git.sovransystems.com/Sovran_Systems/Sovran_SystemsOS/src/branch/stable) | Tested, release-ready builds |
|
||||
|
||||
**Flow:** develop → sync `main` ↔ `staging-dev` → promote to `stable`
|
||||
|
||||
> ⚠️ `main` and `staging-dev` may contain unreleased or less-tested code. For
|
||||
> stable, audited code, use Gitea
|
||||
> [`stable`](https://git.sovransystems.com/Sovran_Systems/Sovran_SystemsOS/src/branch/stable).
|
||||
|
||||
### Technology
|
||||
|
||||
- [NixOS](https://nixos.org) and [Nix flakes](https://nixos.wiki/wiki/Flakes)
|
||||
@@ -472,10 +493,23 @@ optional self-hosting services are all maintained in this repository.
|
||||
|
||||
You need a system with Nix installed and flakes enabled.
|
||||
|
||||
Clone the **stable** branch from Gitea (recommended for builds):
|
||||
|
||||
```bash
|
||||
git clone -b stable https://git.sovransystems.com/Sovran_Systems/Sovran_SystemsOS.git
|
||||
cd Sovran_SystemsOS
|
||||
```
|
||||
|
||||
Or clone the **active development** line from GitHub:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/naturallaw777/Sovran_SystemsOS.git
|
||||
cd Sovran_SystemsOS
|
||||
```
|
||||
|
||||
Then build the installer ISO:
|
||||
|
||||
```bash
|
||||
nix build \
|
||||
.#nixosConfigurations.sovran_systemsos-iso.config.system.build.isoImage
|
||||
```
|
||||
@@ -593,6 +627,42 @@ production environment.
|
||||
|
||||
---
|
||||
|
||||
## About Bitcoin wallet entropy
|
||||
|
||||
When you create a Bitcoin wallet in Sparrow Wallet, you generate a **24-word
|
||||
seed phrase**. You should also apply a **128-bit BIP39 passphrase**. These are
|
||||
**two independent entropy sources** — both are required to recover your wallet,
|
||||
and neither one alone is sufficient.
|
||||
|
||||
**Create each entropy source on different hardware.**
|
||||
|
||||
The seed phrase is generated by Sparrow Wallet on your Sovran_SystemsOS machine.
|
||||
The 128-bit passphrase should be generated on a separate device — for example:
|
||||
|
||||
- A **GrapheneOS** phone using Bitwarden's passphrase generator
|
||||
- A different computer running the **Diceware** program
|
||||
|
||||
This way, no single device ever produces or holds both sources of randomness.
|
||||
If one device is ever compromised, the other entropy source remains unknown to
|
||||
an attacker. Your wallet cannot be recovered without **both**.
|
||||
|
||||
This is not a recommendation against hardware wallets, dice, or any other
|
||||
well-tested method of creating entropy. Those are established and valuable
|
||||
approaches. If you use a hardware wallet, verify for yourself that its entropy
|
||||
generation — both the software and the hardware — is sound and follows best
|
||||
practices.
|
||||
|
||||
The takeaway is simply this: **how your entropy is created matters, and
|
||||
generating your two entropy sources on two physically separate devices is a
|
||||
strong practice to understand before setting up a Bitcoin wallet** with the
|
||||
software included in Sovran_SystemsOS.
|
||||
|
||||
**You must do your own research.** The information above is basic educational
|
||||
context to help you build your own best practices — not financial advice and not
|
||||
a substitute for your own due diligence.
|
||||
|
||||
---
|
||||
|
||||
## Security approach
|
||||
|
||||
Sovran_SystemsOS is designed around local ownership and explicit control.
|
||||
@@ -722,7 +792,10 @@ Read the complete license terms in [`LICENSE`](LICENSE).
|
||||
|
||||
## Contributing
|
||||
|
||||
We welcome contributions! Please read our [Contributing Guidelines](CONTRIBUTING.md) before submitting a pull request.
|
||||
We welcome contributions! The
|
||||
[GitHub repository](https://github.com/naturallaw777/Sovran_SystemsOS) is the
|
||||
primary location for collaboration. Please read our
|
||||
[Contributing Guidelines](CONTRIBUTING.md) before submitting a pull request.
|
||||
|
||||
<div align="center">
|
||||
|
||||
|
||||
@@ -31,10 +31,11 @@
|
||||
|
||||
.title-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
flex-direction: row;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 2px;
|
||||
gap: 6px 10px;
|
||||
}
|
||||
|
||||
.header-buttons {
|
||||
@@ -53,42 +54,21 @@
|
||||
letter-spacing: 0.03em;
|
||||
}
|
||||
|
||||
/* ── OS Version Badge (polished) ───────────────────────────────── */
|
||||
/* ── OS Version Badge — identical styling to the version badge ────
|
||||
── shown next to titles in the service modal windows ──────────── */
|
||||
.os-version-badge {
|
||||
background-color: rgba(255, 255, 255, 0.06);
|
||||
color: var(--text-secondary);
|
||||
font-size: 0.72rem;
|
||||
font-weight: 600;
|
||||
padding: 2px 10px;
|
||||
border-radius: 12px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.08);
|
||||
letter-spacing: 0.02em;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
background: linear-gradient(145deg, #1a2a22, #0f1a15);
|
||||
border: 1px solid rgba(74, 222, 128, 0.25);
|
||||
border-radius: 9999px;
|
||||
padding: 2px 14px 2px 10px;
|
||||
font-size: 0.75rem;
|
||||
font-weight: 600;
|
||||
color: #4ade80;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
||||
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
white-space: nowrap;
|
||||
align-self: flex-start;
|
||||
}
|
||||
|
||||
.os-version-badge:hover {
|
||||
border-color: rgba(74, 222, 128, 0.45);
|
||||
box-shadow: 0 4px 8px rgba(74, 222, 128, 0.15);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.os-version-badge .version-label {
|
||||
font-size: 0.68rem;
|
||||
font-weight: 500;
|
||||
color: #4ade80;
|
||||
opacity: 0.85;
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
.os-version-badge .version-number {
|
||||
font-family: 'JetBrains Mono', 'Fira Code', monospace;
|
||||
font-weight: 700;
|
||||
letter-spacing: 0.5px;
|
||||
color: #86efac;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* ── IP bar ─────────────────────────────────────────────────────── */
|
||||
|
||||
@@ -25,11 +25,8 @@
|
||||
<div class="title-group">
|
||||
<span class="title">Sovran_SystemsOS Hub</span>
|
||||
|
||||
<!-- OS Version Badge -->
|
||||
<span class="os-version-badge" id="os-version-badge" title="Sovran_SystemsOS Version">
|
||||
<span class="version-label">v</span>
|
||||
<span class="version-number" id="version-number">{{ sovran_version }}</span>
|
||||
</span>
|
||||
<!-- OS Version Badge — styled identically to the version badge in service modals -->
|
||||
<span class="os-version-badge" id="os-version-badge" title="Sovran_SystemsOS Version">v{{ sovran_version }}</span>
|
||||
</div>
|
||||
|
||||
<div class="header-buttons">
|
||||
|
||||
Reference in new issue
Block a user