Some reworks for stuff
This commit is contained in:
parent
ed4e813881
commit
8e8fdd9a0b
5 changed files with 87 additions and 19 deletions
15
package.list
Normal file
15
package.list
Normal file
|
@ -0,0 +1,15 @@
|
|||
nano
|
||||
wine
|
||||
wine64
|
||||
build-essential
|
||||
git
|
||||
remmina
|
||||
mesa-vulkan-drivers
|
||||
libglx-mesa0:i386
|
||||
mesa-vulkan-drivers:i386
|
||||
libgl1-mesa-dri:i386
|
||||
dconf-editor
|
||||
beefbuild
|
||||
audacity
|
||||
npm
|
||||
neofetch
|
22
src/PackageInstaller.cs
Normal file
22
src/PackageInstaller.cs
Normal file
|
@ -0,0 +1,22 @@
|
|||
namespace Setup_Workspace;
|
||||
|
||||
public class PackageInstaller : Doable
|
||||
{
|
||||
/*
|
||||
* Install packages from a package list file
|
||||
* This uses apt by default
|
||||
*/
|
||||
public override async Task<bool> Do()
|
||||
{
|
||||
Console.WriteLine("Installing packages...");
|
||||
|
||||
var packages = File.ReadAllText("package.list");
|
||||
packages = packages.Replace("\n", " ");
|
||||
|
||||
|
||||
Helper.RunCommand("apt install", $"{packages} -y");
|
||||
|
||||
Console.WriteLine("Installed packages");
|
||||
return true;
|
||||
}
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
namespace Setup_Workspace;
|
||||
|
||||
public class Packages
|
||||
{
|
||||
public void InstallPackages()
|
||||
{
|
||||
/*
|
||||
read list of packages from file
|
||||
to install
|
||||
to remove
|
||||
to install from never
|
||||
|
||||
install from other sources
|
||||
*/
|
||||
}
|
||||
}
|
|
@ -10,8 +10,21 @@ Console.WriteLine("""
|
|||
""");
|
||||
|
||||
Console.Write(">");
|
||||
Console.ReadLine();
|
||||
var input = Console.ReadLine();
|
||||
|
||||
Helper.RunCommand("apt", "update");
|
||||
switch (input)
|
||||
{
|
||||
case "full-install":
|
||||
new Runner().Then(
|
||||
new PackageInstaller()
|
||||
).Run();
|
||||
break;
|
||||
|
||||
case "exit":
|
||||
break;
|
||||
|
||||
default:
|
||||
Console.WriteLine("Please enter a valid input");
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
34
src/Runner.cs
Normal file
34
src/Runner.cs
Normal file
|
@ -0,0 +1,34 @@
|
|||
namespace Setup_Workspace;
|
||||
|
||||
public class Runner : Doable
|
||||
{
|
||||
public override Task<bool> Do()
|
||||
{
|
||||
Console.WriteLine("Running tasks");
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
}
|
||||
|
||||
public abstract class Doable
|
||||
{
|
||||
public abstract Task<bool> Do();
|
||||
|
||||
public List<Doable> Followup = new List<Doable>();
|
||||
|
||||
public Doable Then(params Doable[] doables)
|
||||
{
|
||||
foreach (var entry in doables)
|
||||
Followup.Add(entry);
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public async Task Run()
|
||||
{
|
||||
if (!await Do())
|
||||
return;
|
||||
|
||||
foreach (var entry in Followup)
|
||||
entry.Run();
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue