.
├── global
│ ├── override
│ │ └── ...
│ ├── constants.nix
│ ├── flags-def.nix
│ └── flags.nix
├── home
│ ├── configurations
│ │ ├── default.nix
│ │ └── ...
│ ├── scripts
│ │ ├── executables
│ │ │ └── ...
│ │ ├── utilities
│ │ │ └── ...
│ │ └── default.nix
│ └── default.nix
├── modules
│ └── ...
├── system
│ └── ...
├── flake.lock
├── flake.nix
├── Makefile
├── README.md
└── ...
A brief explanation of the structure of this repository is presented below:
flake.nix
: root of the whole flake, containing some fundamental informationglobal
: configurations that accessible to the whole flakeoverride
: system-specific values which override the global settingsconstants.nix
: essential constants that will almost never changeflags-def.nix
: definitions of high-level variables in charge of other configurtions and common behaviorsflags.nix
: values of flags
home
: all essential files and configurations in $HOMEconfigurations
: configurations of all software and some related files grouped by directoriesscripts
: some scripts less related to a specific program (mainly used byzsh
)executables
: scripts that are directly executed by users or other programsutilities
: scripts that provide some useful functions or variables
modules
: common modules for building a NixOS systemsystem
: specific configurations for each particular computer