Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,14 @@
# Changelog

## 2026.04.04 - Version 26.04
- Based on Debian
- Added byobu to default install
- Added just to default install
- Added jq to install
- Added Infer# to install
- .NET 8.0.25
- .NET 9.0.14
- .NET 10.0.5

## 2025.12.27 - Initial release
- Initial 'beta' release for testing
27 changes: 18 additions & 9 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,20 @@ The complete list of changes can be found here: [changelog](changelog.md)
- [FastFetch](https://github.com/fastfetch-cli/fastfetch)
- [git](https://git-scm.com/) with [git-lfs](https://git-lfs.com/)
- [htop](https://htop.dev/)
- [just](https://github.com/casey/just)
- [lazygit](https://github.com/jesseduffield/lazygit)
- [openssl](https://www.openssl.org/)
- [ripgrep](https://github.com/BurntSushi/ripgrep)
- [strace](https://strace.io/)
- [tmux](https://github.com/tmux/tmux/wiki)
- [Visual studio remote shell](https://learn.microsoft.com/en-us/visualstudio/debugger/remote-debugging?view=visualstudio)
- [wget](https://www.gnu.org/software/wget/)
- [jq](https://jqlang.org/)
- [byobu](https://www.byobu.org/)

**Apps**

- [Visual studio remote shell](https://learn.microsoft.com/en-us/visualstudio/debugger/remote-debugging?view=visualstudio)
- [Infer#](https://github.com/microsoft/infersharp)

**.NET tools from microsoft**

Expand All @@ -53,7 +60,7 @@ The complete list of changes can be found here: [changelog](changelog.md)
- [dotnet-symbol](https://learn.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-symbol)
- [dotnet-trace](https://learn.microsoft.com/en-us/dotnet/core/diagnostics/dotnet-trace)
- [powershell](https://learn.microsoft.com/en-us/powershell/scripting/install/install-powershell-on-linux)
- [sngen](https://github.com/microsoft/slngen)
- [slngen](https://github.com/microsoft/slngen)
- [upgrade-assistant](https://learn.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-overview)
- [DocFx](https://dotnet.github.io/docfx/index.html)

Expand All @@ -62,6 +69,7 @@ The complete list of changes can be found here: [changelog](changelog.md)
- [csharprepl](https://github.com/waf/CSharpRepl)
- [ilspycmd](github.com/icsharpcode/ILSpy)
- [roslynator](https://github.com/dotnet/roslynator?tab=readme-ov-file#command-line-tool)
- [Csproj](https://github.com/webmaster442/csproj)

## Installation

Expand All @@ -88,10 +96,11 @@ wsl --set-default-version 2
1. Install debian: `wsl --install Debian`
2. Install user: `user` with password: `pass`
3. Run install.sh: `./src/install.sh` this will do most of the installing of software
4. Run branding.sh: `sudo ./src/branding.sh` to do branding
5. Run install-app.sh: `sudo ./src/install-app.sh` to install the debianet app.
5. exit: `exit`
6. do a shutdown: `wsl --shutdown`
7. export: `wsl --export Debian --format tar.xz debiannet.wsl`
8. unregister debian: `wsl --unregister Debian`
9. reinstall debianet.wsl
4. Change to the source directory: `cd src`
5. Run branding.sh: `sudo ./branding.sh` to do branding
6. Run install-app.sh: `sudo ./install-app.sh` to install the debianet app.
7. exit: `exit`
8. do a shutdown: `wsl --shutdown`
9. export: `wsl --export Debian --format tar.xz debiannet.wsl`
10. unregister debian: `wsl --unregister Debian`
11. reinstall debianet.wsl
6 changes: 6 additions & 0 deletions src/DebiaNetApp/Commands/DockerMenuCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,12 @@ internal sealed class DockerMenuCommand : AsyncCommand
{
public override async Task<int> ExecuteAsync(CommandContext context, CancellationToken cancellationToken)
{
if (!DependencyChecker.IsDockerInstalled())
{
Ui.Error(Resources.Error_DockerNotInstalled);
return ExitCodes.MissingDependency;
}

var selections = new SelectorMenuItem[]
{
new JsonCliMenuItem<DockerPs>(Resources.Menu_Docker_ListRunningContainers, $"{Emoji.Known.Scroll} ")
Expand Down
10 changes: 10 additions & 0 deletions src/DebiaNetApp/DebiaNetApp.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,16 @@
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<Company>Webmaster442</Company>
<PackageProjectUrl>https://github.com/webmaster442/DebiaNet</PackageProjectUrl>
<RepositoryUrl>https://github.com/webmaster442/DebiaNet</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackAsTool>True</PackAsTool>
<ToolCommandName>debianet</ToolCommandName>
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
<Version>
$([System.DateTime]::UtcNow.ToString("yyyy")).$([System.DateTime]::UtcNow.ToString("MM")).$([System.DateTime]::UtcNow.ToString("dd")).0
</Version>
</PropertyGroup>

<ItemGroup>
Expand Down
1 change: 1 addition & 0 deletions src/DebiaNetApp/ExitCodes.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,5 @@ internal static class ExitCodes
public const int NotLinux = ushort.MaxValue;
public const int SudoUser = 1;
public const int Success = 0;
public const int MissingDependency = 2;
}
37 changes: 37 additions & 0 deletions src/DebiaNetApp/Infrastructure/DependencyChecker.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
using System.Diagnostics;

namespace DebiaNetApp.Infrastructure;

internal static class DependencyChecker
{
public static bool IsInstalled(string appBinary, params string[] arguments)
{
try
{
using var process = new Process();
process.StartInfo.FileName = appBinary;
for (int i = 0; i < arguments.Length; i++)
{
process.StartInfo.ArgumentList.Add(arguments[i]);
}
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.UseShellExecute = false;
process.StartInfo.CreateNoWindow = true;

process.Start();
process.WaitForExit();
return process.ExitCode == 0;
}
catch
{
return false;
}
}

public static bool IsDockerInstalled()
=> IsInstalled("docker", "--version");

public static bool IsAptAvailable()
=> IsInstalled("apt-get", "--version");
}
8 changes: 7 additions & 1 deletion src/DebiaNetApp/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,13 @@
if (Linux.IsRunningWithElevatedPriviliges())
{
Ui.Error(Resources.Error_SudoUser);
return ExitCodes.NotLinux;
return ExitCodes.SudoUser;
}

if (!DependencyChecker.IsAptAvailable())
{
Ui.Error(Resources.Error_NotAptDistro);
return ExitCodes.MissingDependency;
}

var app = new CommandApp<MainMenuCommand>();
Expand Down
18 changes: 18 additions & 0 deletions src/DebiaNetApp/Properties/Resources.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions src/DebiaNetApp/Properties/Resources.resx
Original file line number Diff line number Diff line change
Expand Up @@ -186,4 +186,10 @@
<data name="Table_Header_Value" xml:space="preserve">
<value>Value</value>
</data>
<data name="Error_DockerNotInstalled" xml:space="preserve">
<value>This function of the app requires docker to be installed.</value>
</data>
<data name="Error_NotAptDistro" xml:space="preserve">
<value>Your distribution doesn't use apt as package manager. This app only supports apt based distributions</value>
</data>
</root>
3 changes: 3 additions & 0 deletions src/branding/repository-open-graph.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
143 changes: 143 additions & 0 deletions src/branding/repository-open-graph.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading