My NixOS configuration
config | ||
hooks | ||
machines | ||
options | ||
pkgs | ||
pkgsets | ||
services | ||
.gitmodules | ||
.sops.yaml | ||
flake.lock | ||
flake.nix | ||
fn.nix | ||
LICENSE | ||
README.org |
THIS README IS A WIP IF YOU DON'T KNOW WHAT YOU ARE DOING YOU PROBABLY WONT GET IT TO RUN ON YOUR SYSTEM.
TODO Introduction
This is my NixOS configuration, it provides an abstraction from the already existing options on NixOS. To be more precise it is a collection of preconfigured services and metapackages that can be toggled and configured through a single NixOS submodule.
It's flexible enough to manage all my machines (multiple Servers and Desktops).
Currently the following services are configured:
-
Desktop
- i3
- MySQL/MariaDB
- cups
- fail2ban
-
nginx
- Nextcloud
- Gitea
- Hydra (works but could be better)
- openssh
TODO Getting Started/Setup Guide
- WARNING:
- I still change machine option names rather frequently and whilst it works for me it may break for you. You have been warned.
Nixpkgs Channels
See NixOS Channels. This Project references 4 channels:
- nixos
- Your main channel, can be any NixOS channel of your choosing.
- nixos-stable
- Should point to the current NixOS/NixOS-small channel.
- nixos-unstable
- Should point to nixos-unstable or nixos-unstable-small.
- gitpkgs
- A copy of the current nixpkgs git repo cloned into you system root.
Currently these channels are only referenced in pkgsets.nix. It can be easily replaced and is therefore optional (but recommended).
nix-channel --add https://nixos.org/channels/nixos-unstable nixos
nix-channel --add https://nixos.org/channels/nixos-19.09 nixos-stable
nix-channel --add https://nixos.org/channels/nixos-unstable nixos-unstable
nix-channel --update
git clone https://github.com/nixos/nixpkgs /nixpkgs