My personal NixOS configuration
Find a file
2023-10-01 08:59:00 +01:00
extra Add mu init and davmail properties as separate files/scripts 2023-09-29 12:27:12 +01:00
home Move protonmail-bridge and davmail to systemd services 2023-10-01 08:55:00 +01:00
hosts Move protonmail-bridge and davmail to systemd services 2023-10-01 08:55:00 +01:00
services Update syncthing devices 2023-09-10 21:28:37 +01:00
system Let sddm unlock gpg agent 2023-10-01 08:59:00 +01:00
wallpapers Set Vanguard up with Hyprland again 2023-09-23 18:05:51 +01:00
.gitignore Enable nix-direnv integration to cache direnv builds 2023-05-31 11:18:45 +01:00
.stylua.toml Add custom styling to wezterm tab bar, move stylua.toml to top level directory 2023-02-19 12:16:22 +00:00
flake.lock Add stylix, switch to nixpkg hyprland 2023-09-26 19:03:50 +01:00
flake.nix Disable passSecretService 2023-09-30 09:56:44 +01:00
Makefile Update login and lock screens 2023-09-27 12:45:12 +01:00
README.org Add mu init and davmail properties as separate files/scripts 2023-09-29 12:27:12 +01:00

Readme

[0/1] Tasks

[ ] rewrite README

Old README.md

# 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.