Project

General

Profile

About NXDE » History » Version 1

Stefan Mark, 01/02/2021 01:11 PM

1 1 Stefan Mark
h1. About NXDE
2
3
NXDE does not really exist. It is the name i use to refer to a loose collection of simple tools intended to help one maintain a Linux Desktop without using a Desktop Environment like KDE, Gnome or Xfce. In days of yore, one could do so easily by just not using one. But in today's times of wonder, that's often not quite as easy. One might want some of the flashy-shiny newfangled features like automagic mounting, Keyrings or whatnot. Then there is software which wont work without DBus, user session handlers or polkit. Not to mention a gazillion XDG environmental variables.
4
5
If you are in search for something that easily and automagically does all that and more for you, this is not what you are looking for. If you are looking for some helpers to easify this endeavour, you may be right here. But keep in mind that all of what is collected here as "nxde" really is just my personal collection of tools, right in the middle of a slow and unordered process of getting polished for general use. It will totally lack features, often the documentation will be all but a stub (if existing at all). Of curse it is buggy. But meh, it just works for me. If you make it work for you, send me a patch, and it will work for both of us.
6
7
h2. Concepts
8
9
A core and interlinking part for all of this is the configuration. In general, all configuration should happen in to files. One system wide, and one per session. These configuration files should be nothing more than simple key=value stores.
10
11
h3. Configuration file format
12
13
Dead simple:
14
<pre>
15
aKey = someValue
16
</pre>
17
Defines a key "aKey" having some value "someValue". The first = sign in any row mark the end of the key and the beginning of the value. Note that for key as well as for value leading and trailing white spaces are ignored. There is no masking. Don't use quotation marks, as they don't do anything:
18
<pre>
19
"  my key    = bob"    =    "    some value with spaces      " 
20
</pre>
21
Results in the key: @"  my key@ with the value @ bob"    =    "    some value with spaces      "@. One can't have = in their keys.
22
23
h3. Environmental variables
24
25
There are a few variables crucial for NXDE. They are oriented in style some common XDG variables:
26
27
* $NX_DESKTOP_SESSION
28
  The name of the current [[About NXDE#Sessions|Session]]. Should be a shell-safe string.
29
* $NX_CONFIG_HOME
30
  By default: $XDG_CONFIG_HOME/$XDG_CURRENT_DESKTOP/$NX_DESKTOP_SESSION
31
  This is where session configuration file is stored. Other session-specific configuration should be stored here too.
32
* NX_LOG_BASE
33
  Here at NXDE we like logs. Because we are buggy. Logs are helping. Log all the things!
34
35
h3. Configuration files
36
37
h3. Sessions