mirror of
https://gitlab.com/ahoneybun/nyxi-installer.git
synced 2025-05-12 11:04:02 -06:00
update shell file and code for curl
This commit is contained in:
parent
382e4e3f06
commit
ea7303c2ee
2 changed files with 67 additions and 5 deletions
|
@ -13,6 +13,7 @@
|
|||
llvmPackages.clang
|
||||
|
||||
# System
|
||||
openssl
|
||||
pkg-config
|
||||
util-linux
|
||||
];
|
||||
|
|
71
src/main.rs
71
src/main.rs
|
@ -1,9 +1,13 @@
|
|||
use std::io;
|
||||
use std::io::{stdout, Write};
|
||||
use std::fs::File;
|
||||
use sys_metrics::disks;
|
||||
use rsfdisk::fdisk::Fdisk;
|
||||
use rsfdisk::core::partition_table::PartitionTableKind;
|
||||
use rsfdisk::core::partition::{Guid, Partition, PartitionKind, PartitionList};
|
||||
|
||||
use curl::easy::Easy;
|
||||
|
||||
fn format_drive(drive_name: &str) -> rsfdisk::Result<()> {
|
||||
let mut disk = Fdisk::builder()
|
||||
.assign_device(drive_name)
|
||||
|
@ -31,7 +35,7 @@ fn format_drive(drive_name: &str) -> rsfdisk::Result<()> {
|
|||
.name("Root")
|
||||
.size_in_sectors(499_033_071_616)
|
||||
.build()?;
|
||||
|
||||
|
||||
let _ = disk.partition_add(root)?;
|
||||
|
||||
disk.partition_table_write_to_disk()?;
|
||||
|
@ -39,12 +43,64 @@ fn format_drive(drive_name: &str) -> rsfdisk::Result<()> {
|
|||
Ok(())
|
||||
}
|
||||
|
||||
fn mount_parts() {
|
||||
|
||||
fn mount_parts() {}
|
||||
|
||||
fn grab_flake() {
|
||||
let mut easy = Easy::new();
|
||||
easy.url("https://gitlab.com/ahoneybun/nix-configs/-/raw/main/flake.nix").unwrap();
|
||||
|
||||
let mut file = File::create("flake.nix").unwrap();
|
||||
|
||||
{
|
||||
let mut transfer = easy.transfer();
|
||||
transfer.write_function(|data| {
|
||||
file.write_all(data).unwrap();
|
||||
Ok(data.len())
|
||||
}).unwrap();
|
||||
transfer.perform().unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
fn grab_config() {
|
||||
let mut easy = Easy::new();
|
||||
easy.url("https://gitlab.com/ahoneybun/nix-configs/-/raw/main/configuration.nix").unwrap();
|
||||
|
||||
let mut file = File::create("configuration.nix").unwrap();
|
||||
|
||||
{
|
||||
let mut transfer = easy.transfer();
|
||||
transfer.write_function(|data| {
|
||||
file.write_all(data).unwrap();
|
||||
Ok(data.len())
|
||||
}).unwrap();
|
||||
transfer.perform().unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
fn grab_home() {
|
||||
let mut easy = Easy::new();
|
||||
easy.url("https://gitlab.com/ahoneybun/nix-configs/-/raw/main/home.nix").unwrap();
|
||||
|
||||
let mut file = File::create("home.nix").unwrap();
|
||||
|
||||
{
|
||||
let mut transfer = easy.transfer();
|
||||
transfer.write_function(|data| {
|
||||
file.write_all(data).unwrap();
|
||||
Ok(data.len())
|
||||
}).unwrap();
|
||||
transfer.perform().unwrap();
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
println!("--------------------------------------");
|
||||
println!("| Welcome to the Nyxi Installer 2.0! |");
|
||||
println!("--------------------------------------");
|
||||
println!("");
|
||||
|
||||
println!("Availble disks for installation:");
|
||||
println!("---------------------------------");
|
||||
println!("");
|
||||
|
||||
match disks::get_physical_ioblocks() {
|
||||
|
@ -57,7 +113,7 @@ fn main() {
|
|||
}
|
||||
|
||||
let mut drive_name = String::new();
|
||||
|
||||
|
||||
println!("");
|
||||
println!("Use the full drive path such as /dev/nvme0n1 or /dev/sda");
|
||||
println!("Which drive do we want to use for this installation?: {}", drive_name);
|
||||
|
@ -65,7 +121,7 @@ fn main() {
|
|||
io::stdin()
|
||||
.read_line(&mut drive_name)
|
||||
.expect("Failed to read line");
|
||||
|
||||
|
||||
let drive_name = drive_name.trim();
|
||||
|
||||
// let deposit_number: f64 = deposit_amount.parse().expect("Input not an integer");
|
||||
|
@ -73,4 +129,9 @@ fn main() {
|
|||
// Partitioning the selected drive
|
||||
format_drive(drive_name);
|
||||
|
||||
// Download nix files
|
||||
grab_flake();
|
||||
grab_config();
|
||||
grab_home();
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue