The future of developer environments
I've recently been messing around with picotron. A full screen, all inclusive, video game creation app. It pretends to be a full operating system, it has a desktop a file explorer, and some very specific applications made for developing games for itself.
While I was using this I noticed how it felt like everything was so well set up for specifically interact with the video game creation process. You are tunneled into doing nothing but working on your video game. Currently it's got a lot of rough corners and bugs. I'm not talking about polish here. I'm talking about focus.
This got me thinking. Is there a way to bring this kind of focus to my development environment? How would I build an operating system or facade specifically for software development. After a little thinking I've realized I'm already on that journey a little bit.
Back when I first started to use Linux as my main development OS I started on the harrowing journey of learning a whole bunch of tools. Vim, and bash were the two big ones. Since then this has lead me down the rabbit hole of tool chains. I stumbled into the world of tiling window managers, first with i3, then awesome, and now bspwm . At this point my computer is not suited to anything other than writing software and the like. Steam games don't particularly enjoy being run in a tiling window manager, and there are some rough edges that I don't run into on a daily basis that make some things a little less than smooth. For daily software development however, it's a dream.
My OS is extremely purpose built, from specific windows being tied to specific workspaces and monitors, to the hotkey that I have for pulling up a terminal. I've invested a lot into this kind of setup, and if it work for tools like home-manager I don't think I would be able to keep this level of customization up.
Now what?
Now that we've established that I have "The Best Developer Setup Ever" where would we even go from there? My setup is extremely tailored to my personal preferences. Is there anyway that all developers everywhere can benefit from this kind of setup? It takes a lot of effort to really appreciate such a setup, it's a lot of learning hotkeys and bash and Linux to customize.
I've heard rumblings that a lot of Gen-Z hasn't had the training and exposure that other generations have had with traditional computer interfaces. Would that make a hyper focused development environment more or less appealing them?
Whatever we build it needs to be customizable to an extreme extent. At the very minimum we need to be able to install random applications and be able to launch them. You can't possibly think of all the apps one would need to write software up front? right?
At some level a lot of apps are a browser away. Some apps however need to be run on the local system right? like terminal commands, and compilation.
Is this even a thing. Have I just imagined myself into a loop? Is linux already the dream software development stack and the fact that I can customize things how I wanted the exact thing I'm wanting here? Or is there something in-between picotron and rolling your own developer environment?