This commit is contained in:
Chris Kruining 2026-03-25 06:45:43 +00:00
parent 59a1fbaf0f
commit ac3dac322d
78 changed files with 893 additions and 802 deletions

View file

@ -0,0 +1,5 @@
{
imports = [
./steam
];
}

14
modules/nixos/default.nix Normal file
View file

@ -0,0 +1,14 @@
{
imports = [
./application
./boot
./desktop
./editor
./hardware
./home-manager
./nix
./services
./shells
./system
];
}

View file

@ -9,6 +9,13 @@
cfg = config.${namespace}.desktop;
in {
imports = [
./cosmic
./gamescope
./gnome
./plasma
];
options.${namespace}.desktop = {
use = mkOption {
type = nullOr (enum ["plasma" "gamescope" "gnome" "cosmic"]);

View file

@ -0,0 +1,6 @@
{
imports = [
./nano
./nvim
];
}

View file

@ -0,0 +1,7 @@
{
imports = [
./audio
./bluetooth
./gpu
];
}

View file

@ -0,0 +1,6 @@
{
imports = [
./amd
./nvidia
];
}

View file

@ -0,0 +1,7 @@
{
imports = [
./authelia
./himmelblau
./zitadel
];
}

View file

@ -1,4 +1,4 @@
{ config, lib, pkgs, namespace, system, terranixLib, sneeuwvlokLib, ... }:
{ config, lib, pkgs, namespace, terranixLib, sneeuwvlokLib, ... }:
let
inherit (lib) mkIf mkEnableOption mkOption types toUpper toSentenceCase nameValuePair mapAttrs mapAttrs' concatMapAttrs concatMapStringsSep filterAttrsRecursive listToAttrs imap0 head drop length literalExpression attrNames;
inherit (sneeuwvlokLib.strings) toSnakeCase;
@ -340,7 +340,7 @@ in
# this is a nix package, the generated json file to be exact
terraformConfiguration = terranixLib.terranixConfiguration {
inherit system;
system = pkgs.stdenv.hostPlatform.system;
modules = [
({ config, lib, ... }: {

View file

@ -0,0 +1,5 @@
{
imports = [
./borg
];
}

View file

@ -0,0 +1,5 @@
{
imports = [
./matrix
];
}

View file

@ -0,0 +1,15 @@
{
imports = [
./authentication
./backup
./communication
./development
./games
./media
./networking
./observability
./persistance
./security
./virtualisation
];
}

View file

@ -0,0 +1,5 @@
{
imports = [
./forgejo
];
}

View file

@ -0,0 +1,7 @@
{
imports = [
./minecraft
./palworld
./openrct.nix
];
}

View file

@ -10,6 +10,15 @@
cfg = config.${namespace}.services.media;
in {
imports = [
./glance
./jellyfin
./mydia
./nextcloud
./nfs
./servarr
];
options.${namespace}.services.media = {
enable = mkEnableOption "Enable media services";

View file

@ -4,7 +4,6 @@
lib,
namespace,
inputs,
system,
...
}: let
inherit (builtins) toString;

View file

@ -2,7 +2,6 @@
config,
lib,
namespace,
system,
...
}: let
inherit (lib) mkIf mkEnableOption;

View file

@ -3,7 +3,6 @@
config,
lib,
namespace,
system,
terranixLib,
...
}: let
@ -156,7 +155,7 @@ in {
lib' = lib;
terraformConfiguration = terranixLib.terranixConfiguration {
inherit system;
system = pkgs.stdenv.hostPlatform.system;
modules = [
({

View file

@ -0,0 +1,7 @@
{
imports = [
./caddy
./ssh
./wireguard
];
}

View file

@ -0,0 +1,9 @@
{
imports = [
./grafana
./loki
./prometheus
./promtail
./uptime-kuma
];
}

View file

@ -0,0 +1,5 @@
{
imports = [
./postgesql
];
}

View file

@ -0,0 +1,5 @@
{
imports = [
./vaultwarden
];
}

View file

@ -120,7 +120,7 @@ in {
enable = true;
dbBackend = "postgresql";
package = pkgs.callPackage (repoRoot + "/packages/vaultwarden/default.nix") {};
package = pkgs.callPackage (repoRoot + "/packages/vaultwarden/package.nix") {};
config = {
SIGNUPS_ALLOWED = false;

View file

@ -0,0 +1,5 @@
{
imports = [
./podman
];
}

View file

@ -0,0 +1,6 @@
{
imports = [
./networking
./security
];
}

View file

@ -3,6 +3,12 @@ let
cfg = config.${namespace}.system.security;
in
{
imports = [
./boot
./sops
./sudo
];
options.${namespace}.system.security = {};
config = {
@ -20,4 +26,4 @@ in
programs.gnupg.agent.enable = true;
};
}
}

View file

@ -1,4 +1,4 @@
{ pkgs, config, namespace, repoRoot, system, ... }:
{ pkgs, config, namespace, repoRoot, ... }:
let
cfg = config.${namespace}.system.security.sops;
in
@ -10,7 +10,7 @@ in
sops = {
defaultSopsFormat = "yaml";
defaultSopsFile = repoRoot + "/systems/${system}/${config.networking.hostName}/secrets.yml";
defaultSopsFile = repoRoot + "/systems/${pkgs.stdenv.hostPlatform.system}/${config.networking.hostName}/secrets.yml";
age = {
# keyFile = "~/.config/sops/age/keys.txt";