You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
||4 weeks ago|
|common||4 weeks ago|
|external||4 weeks ago|
|files||3 months ago|
|hosts||4 weeks ago|
|ops/home||4 weeks ago|
|.gitignore||3 months ago|
|.gitmodules||4 weeks ago|
|.ignore||3 months ago|
|README.md||3 months ago|
The evolution of
nora/dotfiles; Nix configs under
home-manager deployed with
These files are "organized" as follows:
common/is the directory where most of the configuration happens. These are the files used in more than one host configuration, now or later.
home_manager/includes all common
fragments/contains package and configuration sets for specific use cases For example,
home_manager/rust.nixincludes packages and options related to Rust development.
common.nixcontains all configurations common across all
home-managerdeployments. For example, GPG agent configurations and Vim settings.
users/contains basic user definitions.
default.nixis the core file defining the default nix configuration for all machines.
common.nixcontains all the common NixOS definitions that all machines will need.
fragments/contains small functions for configuring particular services or system aspects, like Syncthing
files/contains files used by
home-managerto deploy anything not covered by existing
hosts/defines host-specific configurations for NixOS and
calembel/is my Thelio (thelio-r1)
configuration.nixis the core NixOS configuration file, copied from the installed system
hardware-configuration.nixis the hardware config, imported in
home-managerconfig specifically for
ops/contains all the information needed to deploy using
The import structure goes as follows:
ops/<network>/network.nixfile defining the hosts in a network imports
common/default.nixfor all-machine defaults, which imports
common/common.nixfor common setup, including fonts, nixpkgs setup, and locale, which imports
common/users/*which sets up usernames, shells, SSH keys, and groups for users.
- the host's
hosts/<host>/configuration.nixfile, which configures NixOS on the host and imports
common/fragments/<fragment>.nixfiles, for specific services or use cases.
- the hosts's
hosts/<host>/hardware-configuration.nixfile, which configures partitions and drivers.
- the host's
hosts/<host>/home.nixfile, which configures
home-managerfor that host, by importing
common/home_manager/common.nix, which configures
home-managerfor all machines
common/home_manager/fragments/<fragment>.nix, which configures a specific use case, like graphical programs or Rust development.
To push to only a single machine, use
ops/home/push --on <machine>.