Openings for Aggressive Players
Possibly of interest:
My First Chess Opening Repertoire for White
https://www.newinchess.com/media/wysiwyg/product_pdf/9033.pdf
https://www.chess.com/article/view/how-to-understand-openings
A SIMPLE CHESS OPENING REPERTOIRE FOR WHITE by Sam Collins
http://www.gambitbooks.com/pdfs/A_Simple_Chess_Opening_Repertoire_for_White.pdf
http://www.jeremysilman.com/shop/pc/A-Simple-Chess-Opening-Repertoire-for-White-76p3916.htm
Winning with the Slow (but Venomous!) Italian by Karsten Müller and Georgios Souleidis
https://www.newinchess.com/media/wysiwyg/product_pdf/9037.pdf

The Richter-Veresov attack is a fun altenative to the London system
However at 1200 you don't lose because of the opening but other things like tactics which should be your main priority.

Usually play the Ruy Lopez but you're looking for a solid opening to improve????? I'm not sure why you're still looking, the Ruy Lopez is perfect. Study lots of games and get comfortable with the middlegames out of the opening. It is one of the richest openings in chess and has been played as well as will be played for hundreds of years.
"... The combinative player an adventurer, speculator, gambler, the positional player believing in rigid dogma, happy only in a firm position, afraid of all dangers, parsimonious with all he holds, even with the minute values; the former perhaps careless of detail and large-visioned, the latter penny-wise and pound-foolish. The combinative player calls the positional player Philistine, pedant, woodshifter; the positional player replies with invectives such as romancer, dreamer, presumptuous idealist. One meets with pronounced types of the two kinds and they poke fun at one another. … However obviously the majority of chess players may be divided into two big classes of combination and positional players, in the chess master this antagonism is transformed into a harmony. …" - Emanuel Lasker (~1925)

The Ruy Lopez is actually considered quite solid (and aggressive as well). Around 1200 it's probably more advantageous to learn how to spot tactics; which may trained by solving chess puzzles.

The Ruy Lopez is actually considered quite solid (and aggressive as well). Around 1200 it's probably more advantageous to learn how to spot tactics; which may trained by solving chess puzzles.
Would you say a chess game is a series of chess puzzles or is it better to play dedicated puzzles?
In my opinion, most attacking games simply end up becoming a series of chess puzzles with tactics (and imbalances) made on every move. However, even in solid, positional games (e.g. those arising from defense based openings), both players will still have to search for the best move in order to push for a win; similar to solving a 'tactics' puzzle.
Though what I meant in my post was using the tactics trainer to train spotting tactics and practise punishing inaccurate play. Puzzle rush is quite nice as well once you're familiar with typical tactics and you wish to develop your speed.
Therefore, I would say that a chess game may be viewed as a series of chess puzzles, and hence, one could prepare for actual games by solving dedicated puzzles.

Then is playing games better and more pragmatic practice than just solving puzzles?
Why not do both (if there's a chance to)? I think that puzzles are nicer when you have a really busy schedule, for example, if you only get to practice improving chess during your lunch break, which a lot of times is too short for a game. Also an important thing with games is that it is often a good idea to analyze them; first without an engine to revisit some alternate lines and then with an engine to see what lines were missed during the game and the initial analysis.
Anyways back to the topic 'Openings for Aggressive Players', I'd say that most lines starting from 1.e4 tend to be quite aggressive. In particular:
a. against 1.e5: Ruy Lopez (Quite theoretical)
b. against 1.c5: English Attack/Yugoslav Attack (Quite theoretical and sharp)
c. against 1.e6: Winawer (see Poisoned Pawn Winawer)
d. against 1.c6: Advance variation
e. against 1.d5: Just play exd5. Unless you're me and you play 2.Nf3?!
f. against anything else, just gain the center and crush your opponent!

Chess Openings Resources for Beginners and Beyond...
https://www.chess.com/blog/RussBell/openings-resources-for-beginners-and-beyond
Aggressive Chess Openings...
https://www.thechesswebsite.com/top-7-aggressive-chess-openings/