- flake.nix: import /etc/nixos/hub-overrides.nix alongside custom.nix - sovran-hub.nix: add hub-overrides-init service (seeds file if missing), sovran-hub-rebuild service (nixos-rebuild switch only), and feature_manager=true in generated config.json - server.py: add FEATURE_REGISTRY with 6 features (rdp, haven, element-calling, mempool, bip110, bitcoin-core); add hub-overrides.nix read/write helpers; add /api/features, /api/features/toggle, /api/rebuild/status, /api/domains/set, /api/domains/set-email, /api/domains/status endpoints; update /api/config to expose feature_manager - index.html: add domain setup modal, SSL email modal, feature confirm modal, and rebuild modal HTML - app.js: add Feature Manager rendering with sub-category layout, feature toggle cards with sliding toggles, domain setup flow, SSL email collection, conflict confirmation, rebuild polling - style.css: add Feature Manager styles (feature cards, toggle switch, domain badge, conflict warning, domain input fields)" Agent-Logs-Url: https://github.com/naturallaw777/staging_alpha/sessions/9088415a-efc3-4dd1-9c22-877a543af47b Co-authored-by: naturallaw777 <99053422+naturallaw777@users.noreply.github.com>
74 lines
2.1 KiB
Nix
Executable File
74 lines
2.1 KiB
Nix
Executable File
{
|
|
description = "The Ultimate Sovran_SystemsOS Configuration from Sovran Systems";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
nix-bitcoin.url = "github:fort-nix/nix-bitcoin/release";
|
|
nixvim.url = "github:nix-community/nixvim";
|
|
btc-clients.url = "github:emmanuelrosa/btc-clients-nix";
|
|
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.11";
|
|
bip110.url = "github:emmanuelrosa/bitcoin-knots-bip-110-nix";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, nix-bitcoin, nixvim, btc-clients, nixpkgs-stable, bip110, ... }:
|
|
|
|
let
|
|
overlay-stable = final: prev: {
|
|
stable = import nixpkgs-stable {
|
|
system = prev.stdenv.hostPlatform.system;
|
|
config.allowUnfree = true;
|
|
};
|
|
};
|
|
in
|
|
{
|
|
nixosConfigurations.nixos = nixpkgs.lib.nixosSystem {
|
|
modules = [
|
|
{ nixpkgs.hostPlatform = "x86_64-linux"; }
|
|
self.nixosModules.Sovran_SystemsOS
|
|
/etc/nixos/role-state.nix
|
|
/etc/nixos/custom.nix
|
|
/etc/nixos/hub-overrides.nix
|
|
];
|
|
};
|
|
|
|
nixosConfigurations.sovran-iso-desktop = nixpkgs.lib.nixosSystem {
|
|
modules = [
|
|
{ nixpkgs.hostPlatform = "x86_64-linux"; }
|
|
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-stable ]; })
|
|
./iso/desktop.nix
|
|
nix-bitcoin.nixosModules.default
|
|
nixvim.nixosModules.nixvim
|
|
];
|
|
};
|
|
|
|
nixosConfigurations.sovran-iso-server = nixpkgs.lib.nixosSystem {
|
|
modules = [
|
|
{ nixpkgs.hostPlatform = "x86_64-linux"; }
|
|
({ config, pkgs, ... }: { nixpkgs.overlays = [ overlay-stable ]; })
|
|
./iso/server.nix
|
|
nix-bitcoin.nixosModules.default
|
|
nixvim.nixosModules.nixvim
|
|
];
|
|
};
|
|
|
|
nixosModules.Sovran_SystemsOS = { pkgs, lib, config, ... }: {
|
|
imports = [
|
|
({ config, pkgs, ... }: {
|
|
nixpkgs.overlays = [ overlay-stable ];
|
|
})
|
|
./configuration.nix
|
|
nix-bitcoin.nixosModules.default
|
|
nixvim.nixosModules.nixvim
|
|
];
|
|
config = {
|
|
environment.systemPackages = with pkgs; [
|
|
btc-clients.packages.${pkgs.system}.bisq
|
|
btc-clients.packages.${pkgs.system}.bisq2
|
|
btc-clients.packages.${pkgs.system}.sparrow
|
|
];
|
|
sovran_systemsOS.packages.bip110 = bip110.packages.${pkgs.system}.bitcoind-knots-bip-110;
|
|
};
|
|
};
|
|
};
|
|
}
|