this post was submitted on 06 Oct 2024
50 points (96.3% liked)
Linux
48183 readers
1273 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It's technically not a real programming language but an expression language. The difference is that the former is a series of commands to execute in the specified order to produce arbitrary effects while the latter is a declaration of a set of data. You can think of it like writing a config file i.e. in JSON format.
The syntax isn't really the hard part here. You can learn the basics that comprise 99% of Nix code in a few minutes.
The actually hard part is first figuring out what you even want to do and then second how the NixOS-specific interface for that thing is intended to be used. The former requires general Linux experience and the latter research and problem solving skills.
It's hard to say whether it's difficult or not coming into it already knowing how to program
More people than not struggle to come to terms with what a variable is let alone all the stuff you can do in nix
There are definitely other hard parts, but I didn't want to write a wall of text lol
While that's certainly true, using NixOS usually does not involve many advanced concepts or requires you to understand them.
You can set
foo = bar
in a .conf file without knowing what a variable is either.