removed old result and updated common

This commit is contained in:
2026-03-29 14:46:39 -05:00
parent ace30dfb3c
commit b13e1ed085
2 changed files with 25 additions and 13 deletions

View File

@@ -6,8 +6,10 @@ let
pythonEnv = pkgs.python3.withPackages (ps: [ ps.pygobject3 ]); pythonEnv = pkgs.python3.withPackages (ps: [ ps.pygobject3 ]);
installerPy = pkgs.writeShellScriptBin "sovran-install" '' installerPy = pkgs.writeShellScriptBin "sovran-install" ''
export GI_TYPELIB_PATH=${pkgs.gtk4}/lib/girepository-1.0:${pkgs.libadwaita}/lib/girepository-1.0:${pkgs.glib}/lib/girepository-1.0:${pkgs.pango}/lib/girepository-1.0:${pkgs.gdk-pixbuf}/lib/girepository-1.0:${pkgs.graphene}/lib/girepository-1.0:${pkgs.cairo}/lib/girepository-1.0:${pkgs.harfbuzz}/lib/girepository-1.0 export GI_TYPELIB_PATH=${pkgs.gtk4}/lib/girepository-1.0:${pkgs.libadwaita}/lib/girepository-1.0:${pkgs.glib}/lib/girepository-1.0:${pkgs.pango}/lib/girepository-1.0:${pkgs.gdk-pixbuf}/lib/girepository-1.0:${pkgs.graphene}/lib/girepository-1.0:${pkgs.cairo}/lib/girepository-1.0:${pkgs.harfbuzz}/lib/girepository-1.0:${pkgs.gobject-introspection}/lib/girepository-1.0
export LD_LIBRARY_PATH=${pkgs.gtk4}/lib:${pkgs.libadwaita}/lib:${pkgs.glib}/lib:${pkgs.pango}/lib:${pkgs.gdk-pixbuf}/lib:${pkgs.graphene}/lib:${pkgs.cairo}/lib:${pkgs.harfbuzz}/lib export LD_LIBRARY_PATH=${pkgs.gtk4}/lib:${pkgs.libadwaita}/lib:${pkgs.glib}/lib:${pkgs.pango}/lib:${pkgs.gdk-pixbuf}/lib:${pkgs.graphene}/lib:${pkgs.cairo}/lib:${pkgs.harfbuzz}/lib
export GDK_PIXBUF_MODULE_FILE="${pkgs.gdk-pixbuf}/lib/gdk-pixbuf-2.0/2.10.0/loaders.cache"
export XDG_DATA_DIRS="${pkgs.gsettings-desktop-schemas}/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}:${pkgs.gtk4}/share:${pkgs.libadwaita}/share:${pkgs.adwaita-icon-theme}/share:${pkgs.hicolor-icon-theme}/share:$XDG_DATA_DIRS"
exec ${pythonEnv}/bin/python3 /etc/sovran/installer.py exec ${pythonEnv}/bin/python3 /etc/sovran/installer.py
''; '';
in in
@@ -34,7 +36,7 @@ in
services.displayManager.autoLogin.enable = true; services.displayManager.autoLogin.enable = true;
services.displayManager.autoLogin.user = lib.mkForce "free"; services.displayManager.autoLogin.user = lib.mkForce "free";
nix-bitcoin.generateSecrets = true; nix-bitcoin.generateSecrets = lib.mkDefault true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
installerPy installerPy
@@ -48,6 +50,8 @@ in
graphene graphene
cairo cairo
harfbuzz harfbuzz
gsettings-desktop-schemas
adwaita-icon-theme
util-linux util-linux
disko disko
parted parted

View File

@@ -2,20 +2,29 @@
import gi import gi
gi.require_version("Gtk", "4.0") gi.require_version("Gtk", "4.0")
gi.require_version("Adw", "1") gi.require_version("Adw", "1")
from gi.repository import Gtk, Adw, GLib, Pango, GdkPixbuf, Gio from gi.repository import Gtk, Adw, GLib
import subprocess import atexit
import threading
import os import os
import subprocess
import sys
import threading
LOGO = "/etc/sovran/logo.png" LOGO = "/etc/sovran/logo.png"
LOG = "/tmp/sovran-install.log" LOG = "/tmp/sovran-install.log"
FLAKE = "/etc/sovran/flake" FLAKE = "/etc/sovran/flake"
logfile = open(LOG, "a") try:
logfile = open(LOG, "a")
atexit.register(logfile.close)
except OSError:
logfile = None
def log(msg): def log(msg):
logfile.write(msg + "\n") if logfile is not None:
logfile.flush() logfile.write(msg + "\n")
logfile.flush()
else:
print(msg, file=sys.stderr)
def run(cmd): def run(cmd):
log(f"$ {' '.join(cmd)}") log(f"$ {' '.join(cmd)}")
@@ -347,11 +356,10 @@ class InstallerWindow(Adw.ApplicationWindow):
def on_confirm_next(self, btn): def on_confirm_next(self, btn):
if self._confirm_entry.get_text().strip() != "ERASE": if self._confirm_entry.get_text().strip() != "ERASE":
dlg = Adw.MessageDialog( dlg = Adw.MessageDialog()
transient_for=self, dlg.set_transient_for(self)
heading="Confirmation Required", dlg.set_heading("Confirmation Required")
body="You must type ERASE exactly to proceed." dlg.set_body("You must type ERASE exactly to proceed.")
)
dlg.add_response("ok", "OK") dlg.add_response("ok", "OK")
dlg.present() dlg.present()
return return