auth | ||
desktop | ||
home | ||
hosts | ||
services | ||
wm | ||
.gitignore | ||
.pre-commit-config.yaml | ||
.stylua.toml | ||
flake.lock | ||
flake.nix | ||
README.md |
Personal NixOS configs
Contains
- System definitions for various personal and work machines
- Desktop environment configs
- Plasma
- Hyprland
- Personal server config
- Base domain # TODO
- Gitea
- AdGuardHome
- ~Nextcloud~
- Personal home environment definitions
Installation
Makefile
handles most things. Running make
will determine if this is a NixOS or Nix home-manager only install. make nixos
and make home
execute either explicitly.
NixOS
Clone repo into /etc/nixos/config
, make nixos
will do this for you otherwise. Edit your /etc/nixos/configuration.nix
to import top level expression, e.g.:
{ config, pkgs, ... }: {
imports =
[
# Other imports (e.g. ./hardware-configuration.nix)
./config/hostname.nix
];
# Rest of your configuration.nix goes here
}
Nix home-manager
Must have nix
installed to proceed
Clone repo and run make
or make home
, a machine and user specific home-manager config will be created if it doesn't already exist, and then linked to $XDG_CONFIG_HOME/home-manager/
. Execute:
nix-shell -p home-manager -- run "home-manager switch -b backup"
to install configuration. Home-manager will self-manager after this.