1313import java .util .Set ;
1414
1515public class PostInstallUpdater {
16- private static final List <String > gpgKeys = List .of (
17- "https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-free-fedora-2020" ,
18- "https://rpmfusion.org/keys?action=AttachFile&do=get&target=RPM-GPG-KEY-rpmfusion-nonfree-fedora-2020"
19- );
20- private static final List <String > rpmfusionRepos = List .of (
21- "https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-42.noarch.rpm" ,
22- "https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-42.noarch.rpm"
23- );
24-
25- private static final String flatpakRemoteName = "flathub" ;
26- private static final String flatpakRemoteUrl = "https://dl.flathub.org/repo/flathub.flatpakrepo" ;
27-
28- private static final List <String > groupList = List .of (
29- "docker" , "libvirt" , "vboxsf" , "vboxusers"
30- );
31-
32- private static final String DNF_INSTALL_FILE = "dnf-install.cf" ;
33- private static final String DNF_REMOVE_FILE = "dnf-remove.cf" ;
34- private static final String FLATPAK_INSTALL_FILE = "flatpak-install.cf" ;
35- private static final String HELP_FILE = "help.txt" ;
36-
3716 static final String RESET = "\u001B [0m" ;
3817 static final String YELLOW = "\u001B [33m" ;
3918 static final String GREEN = "\u001B [32m" ;
@@ -48,9 +27,9 @@ public static void main(String[] args) {
4827 return ;
4928 }
5029
51- List <String > dnfInstallPackages = ConfigManager .loadPackageNamesFrom ( DNF_INSTALL_FILE );
52- List <String > dnfRemovePackages = ConfigManager .loadPackageNamesFrom ( DNF_REMOVE_FILE );
53- List <String > flatpakInstallPackages = ConfigManager .loadPackageNamesFrom ( FLATPAK_INSTALL_FILE );
30+ List <String > dnfInstallPackages = ConfigManager .getDnfInstallPackages ( );
31+ List <String > dnfRemovePackages = ConfigManager .getDnfRemovePackages ( );
32+ List <String > flatpakInstallPackages = ConfigManager .getFlatpakInstallPackages ( );
5433 Scanner scanner = new Scanner (System .in );
5534
5635 System .out .println (color ("Fedora Post Install Actions\n " , GREEN ));
@@ -60,17 +39,18 @@ public static void main(String[] args) {
6039 }
6140
6241 if (confirm (scanner , "Install RPMFusion repos?" )) {
63- for (String key : gpgKeys ) {
42+ for (String key : ConfigManager . getRPMFusionGpgKeys () ) {
6443 runCommand (new String []{"sudo" , "rpm" , "--import" , key });
6544 }
6645
67- String [] cmd = new String [rpmfusionRepos .size () + 4 ];
46+ List <String > repos = ConfigManager .getRPMFusionRepos ();
47+ String [] cmd = new String [repos .size () + 4 ];
6848 cmd [0 ] = "sudo" ;
6949 cmd [1 ] = "dnf" ;
7050 cmd [2 ] = "install" ;
7151 cmd [3 ] = "-y" ;
72- for (int i = 0 ; i < rpmfusionRepos .size (); i ++) {
73- cmd [4 + i ] = rpmfusionRepos .get (i );
52+ for (int i = 0 ; i < repos .size (); i ++) {
53+ cmd [4 + i ] = repos .get (i );
7454 }
7555 runCommand (cmd );
7656 }
@@ -104,13 +84,15 @@ public static void main(String[] args) {
10484 }
10585
10686 if (confirm (scanner , "Install Flatpak apps?" )) {
107- runCommand (new String []{"flatpak" , "remote-add" , "--if-not-exists" , flatpakRemoteName , flatpakRemoteUrl });
87+ String name = ConfigManager .getFlatpakRemoteName ();
88+ String url = ConfigManager .getFlatpakRemoteUrl ();
89+ runCommand (new String []{"flatpak" , "remote-add" , "--if-not-exists" , name , url });
10890 List <String > filtered = promptForExclusions (flatpakInstallPackages , scanner );
10991 String [] cmd = new String [filtered .size () + 4 ];
11092 cmd [0 ] = "flatpak" ;
11193 cmd [1 ] = "install" ;
11294 cmd [2 ] = "-y" ;
113- cmd [3 ] = flatpakRemoteName ;
95+ cmd [3 ] = name ;
11496 for (int i = 0 ; i < filtered .size (); i ++) {
11597 cmd [4 + i ] = filtered .get (i );
11698 }
@@ -119,7 +101,7 @@ public static void main(String[] args) {
119101
120102 if (confirm (scanner , "Ensure admin groups exist and add current user to them?" )) {
121103 String user = System .getProperty ("user.name" );
122- for (String group : groupList ) {
104+ for (String group : ConfigManager . getAdminGroups () ) {
123105 int exit = runCommand (new String []{"getent" , "group" , group });
124106 boolean groupExists = (exit == 0 );
125107 if (!groupExists ) {
@@ -212,7 +194,7 @@ static List<String> promptForExclusions(List<String> packages, Scanner scanner)
212194
213195 static void printHelp () {
214196 try {
215- List <String > lines = ConfigManager .readResourceLines ( HELP_FILE );
197+ List <String > lines = ConfigManager .getHelpText ( );
216198 System .out .println (String .join (System .lineSeparator (), lines ));
217199 } catch (IOException e ) {
218200 System .err .println ("Error reading help file: " + e .getMessage ());
0 commit comments