This commit is contained in:
parent
94ec42ea74
commit
db1acbbd3c
6 changed files with 77 additions and 13 deletions
|
@ -12,4 +12,3 @@ steps:
|
|||
from_secret: pacco_token
|
||||
KEY:
|
||||
from_secret: navos_key
|
||||
|
||||
|
|
13
navos.gpg
Normal file
13
navos.gpg
Normal file
|
@ -0,0 +1,13 @@
|
|||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||
|
||||
mDMEZ25LdhYJKwYBBAHaRw8BAQdAKfDibdpsmNUlEqHZeBcrijo0e19AE/UZm9TO
|
||||
KBDI4BW0F25hdk9TIDxuYXZvc0BoeWRyYXIuZGU+iJkEExYKAEEWIQR3jZ1+W2rD
|
||||
diu1VB/uRG7HScSuAAUCZ25LdgIbAwUJC0jDugULCQgHAgIiAgYVCgkICwIEFgID
|
||||
AQIeBwIXgAAKCRDuRG7HScSuAD/OAQDCf8wSe29h+HsscbGj2jarJxmEZwGYqG1h
|
||||
S73gM+QXXgEAiIj71hakOq8z5AmBjFGN6L0LsVje7lWu97nld/yG7A24OARnbkt2
|
||||
EgorBgEEAZdVAQUBAQdAxJImv/loUr0URHbRxFA142ls8J+zni193A7Lj3GPuWUD
|
||||
AQgHiH4EGBYKACYWIQR3jZ1+W2rDdiu1VB/uRG7HScSuAAUCZ25LdgIbDAUJC0jD
|
||||
ugAKCRDuRG7HScSuAPUeAQDzQC5VARZj1/1mnciKjZFqvjYTkbdHK9W8M8gWjB5d
|
||||
uQD/Q/hjYHBZYOEPW5Ta7XxVvYdahG/vQ/z+Xsw1naK1Bw0=
|
||||
=WT5+
|
||||
-----END PGP PUBLIC KEY BLOCK-----
|
|
@ -14,13 +14,13 @@ pub struct InstallConfig {
|
|||
/// SSH Configuration
|
||||
pub ssh: Option<SSHConfig>,
|
||||
/// Ollama AI Config
|
||||
pub ai: Option<OllamaConfig>
|
||||
pub ai: Option<OllamaConfig>,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
pub struct OllamaConfig {
|
||||
pub models: Option<Vec<String>>,
|
||||
pub gpu: bool
|
||||
pub gpu: bool,
|
||||
}
|
||||
|
||||
#[derive(Debug, Deserialize)]
|
||||
|
|
|
@ -10,6 +10,7 @@ use boot::setup_bootloader;
|
|||
use drives::{format_drives, mount_drives};
|
||||
use first_boot::{first_boot_values, genfstab};
|
||||
use kernel::setup_mkinitcpio;
|
||||
use navos::setup_navos;
|
||||
use ollama::setup_ollama;
|
||||
use security::{setup_secure_boot, setup_tpm_unlock};
|
||||
use ssh::setup_ssh;
|
||||
|
@ -21,11 +22,12 @@ pub mod boot;
|
|||
pub mod drives;
|
||||
pub mod first_boot;
|
||||
pub mod kernel;
|
||||
pub mod navos;
|
||||
pub mod ollama;
|
||||
pub mod security;
|
||||
pub mod ssh;
|
||||
pub mod user;
|
||||
pub mod zram;
|
||||
pub mod ollama;
|
||||
|
||||
use crate::{
|
||||
config::InstallConfig,
|
||||
|
@ -96,6 +98,7 @@ pub fn install(conf: InstallConfig) {
|
|||
match conf.general.mode {
|
||||
crate::config::InstallMode::Base => {}
|
||||
crate::config::InstallMode::Desktop => {
|
||||
setup_navos();
|
||||
install_pkgs(&pkg::DESKTOP_PKG);
|
||||
print_status("Enable SDDM");
|
||||
std::os::unix::fs::symlink(
|
||||
|
@ -105,6 +108,7 @@ pub fn install(conf: InstallConfig) {
|
|||
.unwrap();
|
||||
}
|
||||
crate::config::InstallMode::Server => {
|
||||
setup_navos();
|
||||
install_pkgs(&pkg::SERVER_PKG);
|
||||
}
|
||||
crate::config::InstallMode::Kiosk => {
|
||||
|
|
45
src/install/navos.rs
Normal file
45
src/install/navos.rs
Normal file
|
@ -0,0 +1,45 @@
|
|||
use crate::{print_status, run_command};
|
||||
|
||||
use super::str_vec;
|
||||
|
||||
pub fn setup_navos() {
|
||||
// pacman.conf
|
||||
print_status("Copying pacman.conf");
|
||||
std::fs::copy("/etc/pacman.conf", "/mnt/etc/pacman.conf").unwrap();
|
||||
|
||||
// import keys
|
||||
print_status("Importing pkg keys");
|
||||
std::fs::write(
|
||||
"/mnt/usr/share/pacman/keyrings/navos.gpg",
|
||||
include_str!("../../navos.gpg"),
|
||||
)
|
||||
.unwrap();
|
||||
|
||||
run_command(
|
||||
&str_vec(vec![
|
||||
"arch-chroot",
|
||||
"/mnt",
|
||||
"pacman-key",
|
||||
"--add",
|
||||
"/usr/share/pacman/keyrings/navos.gpg",
|
||||
]),
|
||||
None,
|
||||
false,
|
||||
);
|
||||
|
||||
run_command(
|
||||
&str_vec(vec![
|
||||
"arch-chroot",
|
||||
"/mnt",
|
||||
"pacman-key",
|
||||
"--lsign-key",
|
||||
"778D9D7E5B6AC3762BB5541FEE446EC749C4AE00",
|
||||
]),
|
||||
None,
|
||||
false,
|
||||
);
|
||||
|
||||
// remote os-release
|
||||
print_status("Removing os-release");
|
||||
std::fs::remove_file("/mnt/etc/os-release").unwrap();
|
||||
}
|
|
@ -2,7 +2,6 @@ use crate::{config::OllamaConfig, pkg::install_pkgs, run_command};
|
|||
|
||||
use super::str_vec;
|
||||
|
||||
|
||||
pub fn setup_ollama(conf: &OllamaConfig) {
|
||||
if conf.gpu {
|
||||
install_pkgs(&["ollama-cuda"]);
|
||||
|
@ -10,15 +9,19 @@ pub fn setup_ollama(conf: &OllamaConfig) {
|
|||
install_pkgs(&["ollama"]);
|
||||
}
|
||||
|
||||
run_command(&str_vec(vec![
|
||||
"arch-chroot",
|
||||
"/mnt",
|
||||
"systemctl",
|
||||
"enable",
|
||||
"ollama.service"
|
||||
]), None, false);
|
||||
run_command(
|
||||
&str_vec(vec![
|
||||
"arch-chroot",
|
||||
"/mnt",
|
||||
"systemctl",
|
||||
"enable",
|
||||
"ollama.service",
|
||||
]),
|
||||
None,
|
||||
false,
|
||||
);
|
||||
|
||||
for model in conf.models.clone().unwrap_or_default() {
|
||||
// TODO : Pull models
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue