Skip to content

langsjo/nixos-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Modular NixOS config using flakes and Home manager

This config defined custom options to modify what gets configured and how, documentation on the NixOS options can be found in OPTIONS.md

Config

The entry to the system config goes as follows:

  • A nixosSystem defined under nixosConfigurations in flake.nix imports the hosts configuration.nix from hosts/
    • inputs and pkgs-unstable should be passed in specialArgs
  • The configuration.nix should
    • import the hardware-configuration.nix, modules/, and optionally home-manager
    • define values for custom options (see OPTIONS.md) which determine how the system gets configured
    • set networking.hostName and system.stateVersion
    • do other extra configuration as necessary, that isn't part of defined modules

Structure

.
├── dotfiles                # dotfiles that are imported in the config
├── hosts                   # different host's configuration.nix and hardware-configuration.nix
│   ├── desktop
│   └── laptop
├── modules                 # config modules, where most configuration is defined
│   ├── system                # modules relating to system configuration, non Home manager
│   │   ├── common              # common configuration of the system like timezones, nix settings, user
│   │   ├── gaming              # gaming related configuration
│   │   ├── gui                 # configuration relating to graphical sessions; window managers, display managers. etc
│   │   ├── hardware            # configuration of hardware related aspects
│   │   ├── programs            # general directory for configuring programs
│   │   │   └── gui               # directory for configuring gui programs
│   │   └── services            # general directory for configuring services
│   └── user                  # user level configuration, basically Home manager
│       ├── programs            # general directory for configuring user programs
│       │   └── neovim          
│       │       ├── plugins
│       │       └── settings
│       └── services            # general directory for configuring user services
├── utils                   # folder for miscellaneous utils, such as generating docs
├── flake.lock
└── flake.nix  

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published