46 lines
1.3 KiB
Markdown
46 lines
1.3 KiB
Markdown
# Personal NixOS configs
|
|
|
|
## Contains
|
|
|
|
- System definitions for various personal and work machines
|
|
- Desktop environment configs
|
|
- Plasma
|
|
- Hyprland
|
|
- Personal server config
|
|
- [Base domain](https://xenia.me.uk) # TODO
|
|
- [Gitea](https://git.xenia.me.uk)
|
|
- [AdGuardHome](https://guard.xenia.me.uk)
|
|
- ~[Nextcloud](https://cloud.xenia.me.uk)~
|
|
- 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.:
|
|
|
|
```nix
|
|
{ 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:
|
|
|
|
```sh
|
|
nix-shell -p home-manager -- run "home-manager switch -b backup"
|
|
```
|
|
|
|
to install configuration. Home-manager will self-manager after this.
|