nixos/README.org

55 lines
2.1 KiB
Org Mode
Raw Normal View History

2019-10-09 14:48:11 +02:00
#+LANGUAGE: en
#+AUTHOR: Baensch, Kevin
#+EMAIL: mailto://derped[at]ophanim[dot]de
*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 [[https://nixos.org/][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 [[https://nixos.org/channels/][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 [[https://nixos.org/channels/nixos-unstable][nixos-unstable]] or [[https://nixos.org/channels/nixos-unstable-small][nixos-unstable-small]].
- gitpkgs :: A copy of the current [[https://github.com/nixos/nixpkgs][nixpkgs git repo]] cloned into you system root.
Currently these channels are only referenced in [[./pkgs/pkgsets.nix][pkgsets.nix]]. It can
be easily replaced and is therefore optional (but recommended).
#+begin_src shell
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
#+end_src
* TODO Submodule Documentation
- [TODO] Create a setup script.
All Submodules are defined in [[./options][options]].
** machines
** copySysConf