Files
Sovran_SystemsOS/iso/common.nix

70 lines
1.8 KiB
Nix

{ config, pkgs, lib, modulesPath, ... }:
let
sovranSource = builtins.path { path = ../.; name = "sovran-systemsos"; };
pythonEnv = pkgs.python3.withPackages (ps: [ ps.pygobject3 ]);
installerPy = pkgs.writeShellScriptBin "sovran-install" ''
exec ${pythonEnv}/bin/python3 /etc/sovran/installer.py
'';
in
{
imports = [
"${modulesPath}/installer/cd-dvd/installation-cd-graphical-gnome.nix"
./branding.nix
];
image.baseName = lib.mkForce "Sovran_SystemsOS";
isoImage.splashImage = ./assets/splash-logo.png;
services.gnome.gnome-initial-setup.enable = false;
environment.gnome.excludePackages = with pkgs; [ gnome-tour gnome-user-docs ];
security.sudo.wheelNeedsPassword = false;
users.users.free = {
isNormalUser = true;
description = "free";
extraGroups = [ "networkmanager" "wheel" ];
initialPassword = "free";
};
services.displayManager.autoLogin.enable = true;
services.displayManager.autoLogin.user = lib.mkForce "free";
nix-bitcoin.generateSecrets = true;
# Propagate typelib paths into the GNOME session so autostart apps see them
environment.sessionVariables = {
GI_TYPELIB_PATH = "/run/current-system/sw/lib/girepository-1.0";
LD_LIBRARY_PATH = "/run/current-system/sw/lib";
};
environment.systemPackages = with pkgs; [
installerPy
pythonEnv
util-linux
disko
parted
dosfstools
e2fsprogs
gptfdisk
nixos-install-tools
git
curl
];
environment.etc."sovran/logo.png".source = ./assets/splash-logo.png;
environment.etc."sovran/flake".source = sovranSource;
environment.etc."sovran/installer.py".source = ./installer.py;
environment.etc."xdg/autostart/sovran-installer.desktop".text = ''
[Desktop Entry]
Type=Application
Name=Sovran Guided Installer
Exec=${installerPy}/bin/sovran-install
Terminal=false
X-GNOME-Autostart-enabled=true
'';
}