Skip to main content

Creating a Linux Desktop World with Language: The Philosophy of NixOS Programs from a Linguistic Perspective

·
Categories Linux FOSS Issues
Tags Nix Linguistics
Table of Contents

Creating a Desktop World with Language: The Philosophy of NixOS from a Linguistic Perspective

Creating a Desktop by Language: The Philosophy of NixOS

This article is something I impulsively had ChatGPT help me bullshit into existence after I took a linguistics Semantics course and played with NixOS for a while. I wrote the outline, then asked AI to help fill in the details. When I presented it on stage, everyone, including the professor, was completely baffled.

Actually, I also had no idea what the fuck I was doing.

1. The Third Operating System
#

Master Yoda once said: There’s another.

In the world of operating systems, besides Windows and macOS, there is actually a third powerful system world: Linux.

If Windows is a convenience store and macOS is a boutique coffee shop, then Linux is like a coffee lover who grows their own beans, roasts them, and brews them themselves. And Linux can have many branches, each with its own recipe. These are called Linux distributions.

One special Linux distribution: NixOS.

It is not only a system, but also a philosophy of “describing the computer world with language.”

Let us talk about NixOS starting from language.

If the meaning of language can be expressed with mathematical or logical rules, then we can turn language into something as precise as a program.

Speaking is also creating a world. All input and output can be seen as a function: a certain input necessarily produces a certain result, with no exceptions.

This sounds a little crazy, right? But the linguist Montague also once tried to turn language into mathematical formulas, so I am merely continuing the tradition (laughs

2. Linguistic Concepts
#

The British philosopher John Austin proposed “speech acts” (Speech Act Theory), where saying a sentence can change reality, such as “I now pronounce you married.”

Then what if we could use language not merely to marry people, but to “make an entire computer software world appear”?

NixOS lets you write a configuration file, and then the entire system generates itself.

NixOS is a declarative system composed using the Nix package manager.

In a typical Linux system, you have to install every piece of software yourself and configure it yourself.

NixOS, by contrast, only requires you to describe the world you want with a few lines of text, and it automatically builds it.

Declarative vs. Imperative

Traditional Linux is imperative: you operate the system “step by step” with commands.

NixOS is declarative: you “describe” the ideal state with a configuration file, and it can be reached in one move.

System as Code: the embodiment of language.

Nix configuration file = the syntax tree of the operating system.

Every package setting is a linguistic unit (lexeme).

The entire operating system is the realization of an utterance.

Written as a formula:

For a NixOS system:

system = f (configuration.nix)

In semantics:

meaning = f (syntax, context)

A small example of a Nix configuration file:

{
  services.desktopManager.plasma6.enable = true;

  services.displayManager.sddm.enable = true;

  services.displayManager.sddm.wayland.enable = true;
}

The meaning of this line of text is like an imperative sentence:

Let the KDE desktop appear! Once you run the nixos-rebuild switch command, the system really obeys, without messy errors or version hell.

3. Three Magical Characteristics of NixOS
#

The most frequently mentioned benefits:

  • Immutable
  • Atomic
  • Reproducible
  1. Immutable

The system will not be randomly changed.

The system is “immutable.” Every change generates a new version.

We assume that once syntactic rules in natural language are established, they will not suddenly change their meaning, allowing meaning to be predicted stably.

You will not be halfway through saying a sentence when the grammar explodes, and neither will NixOS.

Language is inherently ambiguous, but semantics strives to “resist change”!

Semantics does not guarantee fixed meaning, but one of its goals is precisely to establish a framework that makes meaning predictable and reproducible. This is very similar to NixOS’s design philosophy: “same input → same result.”

In other words:

In natural language, we study how to keep meaning stable across different contexts;

In NixOS, we design systems so configuration is not changed by time and environment.

Immutable ≠ unchanging meaning, but controllable meaning.

In natural language, word meanings change over time. For example, literally is now often used figuratively.

But the goal of semanticists is to establish a system that can control ambiguity and predict meaning.

NixOS’s immutable design does not guarantee that the world will not change, but it does guarantee that we can track, roll back, and reconstruct meaning.

In other words, linguistics and NixOS are both fighting against “the increase of semantic or system entropy.”

  1. Atomic

Either it succeeds, or nothing changes.

When updating the system, NixOS is “atomic”: either everything succeeds, or nothing moves at all. The system can even still operate after power loss and shutdown. It is like how a sentence in natural language must be complete to have meaning; it cannot have only a subject and no verb.

  1. Reproducible

It can be perfectly rebuilt.

Because the entire system can be regarded as a function, according to the idea of System as Code, it has a fixed output every time.

The same NixOS configuration file → no matter which computer or which day, the result is the same.

It is a bit like syntactic rules: the same syntax can generate the same meaning wherever it is placed.

KDE Plasma desktop: what language looks like when materialized.

KDE Plasma is one of the most popular desktop environments on NixOS. It is elegantly designed and customizable. Although it is highly customizable, it is also a bit complex. On NixOS, you no longer configure appearances one by one with the mouse; instead, you write your ideal desktop with language.

This is like a poet constructing an imagined world with language, except the world we build is digital.

I am not teaching everyone how to program. I am talking about the extension of linguistic philosophy into the computer world.

4. From Chaos to Order: Linux “Entropy” and Language “Entropy”
#

What is the entropy increase problem of traditional Linux?

Traditional Linux software management is imperative: you manually install and remove packages. Various dependencies, versions, and configs may contaminate one another. Over time, this becomes “system entropy increase”: you do not know why certain packages exist, and you do not dare touch them lightly.

Manual software installation, dependency chaos, version conflicts, and irreversibility. The system state is no longer reproducible and enters “software entropy increase.”

Language can also be explained using entropy (Information Entropy).

Shannon entropy refers to the uncertainty and predictability of language.

Natural language fights chaos through grammar and maintains comprehensibility.

What if NixOS is regarded as a linguistic experiment against system entropy?

Information entropy is used to measure the uncertainty or prediction difficulty of linguistic information.

The higher the “entropy” in language, the harder the sentence is to predict and the more chaotic it is.

For example, the semantic predictability of “the dog barks” is high and its entropy is low; while the sentence “purple concepts are dancing” has high entropy, because the probability of that meaning appearing is extremely low.

Linguists Zipf and Shannon both discovered that although natural language appears chaotic on the surface, as a whole it follows a certain statistical order, such as Zipf’s law.

So language systems are actually “fighting entropy increase”: they suppress chaos through rules, syntax, and semantic constraints, maintaining comprehensibility (order within chaos).

The philosophy of NixOS is a linguistic experiment against system entropy increase. Through declarative configuration files and an immutable architecture (immutable store), it keeps the system state always reproducible and roll-backable (atomic rollback).

NixOS uses language and version control to maintain order. Every configuration declaration is a “syntactic rule” that suppresses chaos.

Linguistics studies how to maintain the stability of meaning. NixOS studies how to maintain the stability of systems.

NixOS’s declarative architecture is like “syntactic rules,” bringing order back.

According to Shannon’s concept of “information entropy,” speaking in terms of “predictability”:

That is: “Language suppresses chaos to maintain understanding, and NixOS suppresses system entropy to maintain order.”

5. Conclusion: Creating Language from Order
#

In language, we construct thought. In NixOS, we construct reality with language.

When other systems are swallowed by entropy, NixOS still maintains order through syntax.

References
#

  • Austin, J. L. (1962). How to Do Things with Words.
  • Shannon, C. E. (1948). A Mathematical Theory of Communication.
  • Zipf, G. K. (1949). Human Behavior and the Principle of Least Effort.
  • NixOS Manual Documentation

Related


Thank you for reading. Public comments are not available on this website. I write to explore ideas honestly, not to chase social engagement or traffic. I would be glad to hear your thoughts after reading the article with care. If you found any errors, technical issues, or would like to share feedback, feel free to contact me via the email listed on the About page.