Green_Hilltop: Oh cool! Can you explain more about how this works?
_a highly customizable system: my environment adapts to me, not the other way around Customization of a Linux system is possible on several layers, but let’s forget customization at a "system" level, that probably won’t interest a newcomer, and focus on the user interface.
As you might know, Linux comes in a variety of distributions, some of the well-known being Linux Mint, Gentoo, Arch Linux, etc. Each of hese distributions have a different focus and are targeted to different demographics: some take the user-friendliness above all, other are more focused on easy tweaking, some are built wih free/open-source software only... So here is the first choice, based mostly on your vision of what an OS should do.
But it’s not the last choice ;) Once you’ve found the distribution that is the best fitted to your needs and wishes comes the second choice: your desktop environment. The most used are GNOME, KDE and XFCE, but you might have read about other like MATE or Cinnamon. This choice is mostly based on another of your personnal preference: how do you want to use your system on a daily basis. They come with different sets of basic tools (Web browser, image viewer, text editor, etc.), but you can of course mix them to build your own desktop environment if you feel so inclined ;)
Then come a part of customization you might be more familiar with Windows: aesthtics. For each environment you have *lots* of themes available, that you can again mix and match.
Did you ever stumble upon a "Linuxers, post your desktop here" kind of thread? Ever noticed how there’s never two desktops looking the same? That’s a consequence of this: Linux is all about choice and preference, it allows you to build *your* system that won’t look or behave like your neighbour’s one ;)
Green_Hilltop: And when you say you can create things that you don't have, those that mean if I wanted to make my own sticky notes or or a browser extension that would cloud-sync, or something like "IF" that automates some actions like automatically uploading to cloud whenever I edited or create certain files in a folder, or transfer photos from my PC, I could do it? Relatively easily, with basic or slightly advanced knowledge of a programming language without spending over 40 hours on learning it and programming it? (ie. if I learned the language I could create such a software under an hour depending on the complexity, like these two examples?)
I would be lying if I told you you will be writing your own Web browser the third day you’re using Linux ;)
There are things easy to do, and other things more difficult. As an example you should be able to build your own alarm clock system ,playing your favourite music at a progressive volume in the morning, in less than an hour spent reading documentation and experimenting. Setting your own backup politics (local or in the cloud) should take even less time! If you’re willing to spend a couple afternoons on it you can have your own mail server or website hosted at home, on your own PC. And that’s of course only a couple examples ;)
Writing a Web browser extension would probably need more work, or coding your own music player (mostly because you’ll need to learn more about specific programming langauges). But if you have the will to do it, all the tools are here and the community is here too to help you in the process!