My NixOS configuration
Find a file
2024-12-21 14:07:48 +01:00
config sway: add keybind to focus urgent 2024-12-21 14:07:47 +01:00
hooks Add pre-commit hook script to run nixfmt check. 2024-11-20 20:38:33 +01:00
machines tandoor: fix breakages from update and add secretKey to sops. 2024-12-07 21:49:35 +01:00
options Format project using nixfmt rfc candidate. 2024-11-20 20:38:33 +01:00
pkgs fn: Improve readability of fn.lst function arguments. 2024-11-30 21:08:01 +01:00
pkgsets nvim: add markdown lsp 2024-12-21 14:07:47 +01:00
services tmux: name windows and sort session selection alphabetically 2024-12-21 14:07:48 +01:00
.gitmodules Remove mailserver submodule (will be replaced by flake). 2023-09-09 21:32:25 +02:00
.sops.yaml Remove old Marid 2024-12-07 21:49:35 +01:00
flake.lock Update flake lock. 2024-12-01 17:21:11 +01:00
flake.nix Simplify machinepath string. 2024-12-01 17:21:29 +01:00
fn.nix fn: add docstring to sopsHelper 2024-11-30 21:11:05 +01: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