@@ -23,28 +23,38 @@ public class PostInstallUpdater {
2323 "https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-42.noarch.rpm" ,
2424 "https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-42.noarch.rpm"
2525 );
26+
2627 private static final String flatpakRemoteName = "flathub" ;
2728 private static final String flatpakRemoteUrl = "https://dl.flathub.org/repo/flathub.flatpakrepo" ;
29+
2830 private static final List <String > groupList = List .of (
2931 "docker" , "libvirt" , "vboxsf" , "vboxusers"
3032 );
33+
34+ private static final String CONFIG_DIR = "src/main/resources" ;
3135 private static final String DNF_INSTALL_FILE = "dnf-install.cf" ;
3236 private static final String DNF_REMOVE_FILE = "dnf-remove.cf" ;
3337 private static final String FLATPAK_INSTALL_FILE = "flatpak-install.cf" ;
38+ private static final String HELP_FILE = "help.txt" ;
3439
3540 private static final String RESET = "\u001B [0m" ;
3641 private static final String YELLOW = "\u001B [33m" ;
3742
3843 private static boolean dryRun = false ;
3944
4045 public static void main (String [] args ) {
41- setDryRun (Arrays .asList (args ).contains ("--dry-run" ));
46+ if (Arrays .asList (args ).contains ("-h" ) || Arrays .asList (args ).contains ("--help" )) {
47+ printHelp ();
48+ return ;
49+ }
50+
4251 List <String > dnfInstallPackages = loadPackageNamesFrom (DNF_INSTALL_FILE );
4352 List <String > dnfRemovePackages = loadPackageNamesFrom (DNF_REMOVE_FILE );
4453 List <String > flatpakInstallPackages = loadPackageNamesFrom (FLATPAK_INSTALL_FILE );
4554 Scanner scanner = new Scanner (System .in );
4655
4756 System .out .println ("Fedora Post Install Actions\n " );
57+ setDryRun (Arrays .asList (args ).contains ("--dry-run" ));
4858 if (isDryRun ()) {
4959 System .out .println ("---[Dry Run Mode] Shell Commands will not be executed.---\n " );
5060 }
@@ -181,7 +191,7 @@ static int runCommand(String[] command) {
181191 static List <String > loadPackageNamesFrom (String filename ) {
182192 List <String > packages = new ArrayList <>();
183193 try {
184- List <String > lines = Files .readAllLines (Path .of ("src/main/resources" , filename ), StandardCharsets .UTF_8 );
194+ List <String > lines = Files .readAllLines (Path .of (CONFIG_DIR , filename ), StandardCharsets .UTF_8 );
185195 for (String line : lines ) {
186196 String trimmed = line .trim ();
187197 if (!trimmed .isEmpty () && !trimmed .startsWith ("#" )) {
@@ -222,4 +232,13 @@ static List<String> promptForExclusions(List<String> packages, Scanner scanner)
222232
223233 return filtered ;
224234 }
235+
236+ static void printHelp () {
237+ try {
238+ List <String > lines = Files .readAllLines (Path .of (CONFIG_DIR , HELP_FILE ), StandardCharsets .UTF_8 );
239+ System .out .println (String .join (System .lineSeparator (), lines ));
240+ } catch (IOException e ) {
241+ System .err .println ("Error reading help file: " + e .getMessage ());
242+ }
243+ }
225244}
0 commit comments