Athena Nix Configuration
Tree Structure
The macrostructure of Athena Nix configuration elements is the following:
The main file that centrally manages the entire configuration is /etc/nixos/configuration.nix
.
configuration.nix
Athena Nix can be tailored to your needs. By /etc/nixos/configuration.nix
, you can configure your entire system according to your need.
It looks like:
It is important to understand how it can be manipulated. Let’s break it.
Version
You can change the Nixpkgs repository to use, for example unstable
or 24.05
. Look that if you use a repository different from unstable
, new or updated applications could not be available.
If you wish to switch to another version, for example 24.05
, edit the configuration file as:
Username
You can change the username of your account as you prefer by editing the username
value.
Password
hashed
and hashedRoot
are respectively the SHA-512 hash of your user account and the root one.
Hostname
You can change the hostname of your system as you prefer by editing the hostname
value.
Theme
This variable is used to set the Athena theme on your environment. Athena offers several themes you can choose:
Change the theme
variable value and discover all of them!
Desktop
This variable is used to set your desktop environment. Athena Nix the current available environments are:
Change the desktop
variable value and set your favourite desktop environment!
Display Manager
This variable is used to set your display manager. Athena Nix the current available display managers are:
Change the dmanager
variable value and set your favourite display manager!
Shell
This variable is used to set the shell to be used. You can choose among:
Change the shell
variable value and set your favourite shell!
Terminal
This variable is used to set your favourite terminal. You can choose among:
Change the terminal
variable value and the terminal you wish!
Browser
This variable is used to set the browser application. Currently, only Firefox is supported in Athena Nix.
System values
The other variable values should not be edited because they are set at installation time according to your hardware.
Advanced Configuration
You can still deeply configure your Athena environment by acting on elements of its Nix macrostructure by adding or editing the related default.nix
file.
For example, if you wish to edit the Athena Firefox configuration, just access to /etc/nixos/home-manager/browsers/firefox/default.nix
.
If you need to integrate additional software in your system, add them in /etc/nixos/hosts/software/default.nix
.
If you are in a virtualized environment, tweak the related settings in /etc/nixos/modules/hardware/virtualization/guest.nix
All the files in /etc/nixos/home-manager
are related to the configuration impacting the home directory or the user profile.
They are just few examples. Familiarize with the Athena Nix configuration macrostructure to unlock the full potential of your environment!
Error Handling
In case you get errors during the nixos-rebuild switch
process:
- if it is caused by a tool in a specific cyber role you are setting to, you can access to
/etc/nixos/modules/roles/<your-role>/default.nix
and comment the line related to the tool that is broken; - if it is caused by a generic software in Athena, you can access to
/etc/nixos/hosts/software/default.nix
and comment the line related to the tool that is broken;
Finally, save the file and run again nixos-rebuild switch
.