My NixOS configuration
Find a file
2023-09-09 23:44:17 +02:00
config Add basic rofi config. 2023-09-09 21:18:53 +02:00
machines Modularize desktop service and remove desktop.wms from machine opts. 2023-09-09 22:50:25 +02:00
options Modularize desktop service and remove desktop.wms from machine opts. 2023-09-09 22:50:25 +02:00
pkgs Move fn functions to system specialArgs. 2023-08-28 21:52:46 +02:00
pkgsets Add intelephense lsp to php-mode. 2023-09-02 17:24:35 +02:00
services Modularize desktop service and remove desktop.wms from machine opts. 2023-09-09 22:50:25 +02:00
.gitmodules Remove mailserver submodule (will be replaced by flake). 2023-09-09 21:32:25 +02:00
.sops.yaml Add Ophanim sops key. 2023-06-14 21:57:49 +02:00
configuration.nix Fix import and make pkgFilter recurse into dependencies. 2020-05-10 17:16:08 +02:00
flake.lock Update flake lock. 2023-09-09 23:44:17 +02:00
flake.nix Move fn functions to system specialArgs. 2023-08-28 21:52:46 +02:00
fn.nix Add function to generate machine option lists + use it for services. 2023-09-09 22:30:37 +02:00
LICENSE Add LICENSE 2019-05-19 06:12:28 +02:00
README.org Started writing a Documentation. 2019-10-09 14:48:11 +02:00

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

TODO Submodule Documentation

  • [TODO] Create a setup script.

All Submodules are defined in options.

machines

copySysConf