Go to file
2020-08-07 01:57:53 +08:00
config@00ff59a0ed Update the modules 2020-08-06 23:35:49 +08:00
modules Update the modules 2020-08-06 23:35:49 +08:00
.editorconfig Update the modules 2020-08-06 23:35:49 +08:00
.gitmodules Update the modules 2020-08-06 23:35:49 +08:00
home.nix Update user config 2020-08-07 01:57:53 +08:00
README.adoc Update user config 2020-08-07 01:57:53 +08:00

This is the configuration setup for my NixOS instance. A major part of this setup is inspired (or stolen, whichever you prefer) from hlissners NixOS config. The difference is home-manager is a big requirement and uses it a whole lot.

Getting started

Before installing this setup, be sure to install NixOS and logged in as a user. This project setup also assumes the operating system has the following configurations:

  • Uses the nixpkgs unstable channel as nixos (i.e., nix-channels --update https://nixos.org/channels/nixos-unstable).

  • Have the home-manager installed with the unstable release.

  • You start with the TTY and nothing else is installed (i.e., bare installation similar in spirit to Arch Linux).

git clone <GIT_URL_OF_THIS_REPO>
make

Project structure

The project structure should look like the following:

nixos-config
├── config/
├── home.nix
├── modules/
└── README.adoc
  • The directory paid with the most attention would most likely be the modules/ folder. Each module (and submodule) can contain multiple modules for multiple programs (i.e., modules/shell/git, modules/desktop/bspwm). It could also contain a base.nix file where Nix packages with no configurations are placed similar to Arch package groups (i.e., base, base-devel, xfce).

    • Another folder worthy of attention is the modules/themes which sets up a complete desktop environment for you so you dont have to. For safety, you should have a bare installation ala-Arch Linux.

  • The config/ directory is simply the ad hoc configuration of several programs. In this case, it is my dotfiles directory.