My NixOS configuration
Find a file
2024-07-28 14:27:51 +02:00
config Update service names from upstream. 2024-02-26 16:10:14 +01:00
machines Forgejo is now properly escaping passwords. Fix broken password. 2024-07-23 14:05:03 +02:00
options Re-enable gtk3 in emacs to run in wayland. 2024-02-26 16:10:14 +01:00
pkgs Remove sddm_midnight theme. 2024-05-09 13:34:07 +02:00
pkgsets Remove most python packages and use default python version. 2024-05-09 16:56:17 +02:00
services Remove hyprland. 2024-07-28 14:27:23 +02:00
.gitmodules Remove mailserver submodule (will be replaced by flake). 2023-09-09 21:32:25 +02:00
.sops.yaml Update Ophanim and add sops. 2023-09-10 19:34:57 +02:00
flake.lock Update lock file. 2024-05-09 13:39:55 +02:00
flake.nix Remove rec from flake inputs. 2024-07-28 14:27:51 +02:00
fn.nix Run linter+formatter. 2023-09-11 21:20:14 +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