.
This commit is contained in:
parent
59a1fbaf0f
commit
ac3dac322d
78 changed files with 893 additions and 802 deletions
5
modules/nixos/application/default.nix
Normal file
5
modules/nixos/application/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./steam
|
||||
];
|
||||
}
|
||||
14
modules/nixos/default.nix
Normal file
14
modules/nixos/default.nix
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
imports = [
|
||||
./application
|
||||
./boot
|
||||
./desktop
|
||||
./editor
|
||||
./hardware
|
||||
./home-manager
|
||||
./nix
|
||||
./services
|
||||
./shells
|
||||
./system
|
||||
];
|
||||
}
|
||||
|
|
@ -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"]);
|
||||
|
|
|
|||
6
modules/nixos/editor/default.nix
Normal file
6
modules/nixos/editor/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./nano
|
||||
./nvim
|
||||
];
|
||||
}
|
||||
7
modules/nixos/hardware/default.nix
Normal file
7
modules/nixos/hardware/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./audio
|
||||
./bluetooth
|
||||
./gpu
|
||||
];
|
||||
}
|
||||
6
modules/nixos/hardware/gpu/default.nix
Normal file
6
modules/nixos/hardware/gpu/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./amd
|
||||
./nvidia
|
||||
];
|
||||
}
|
||||
7
modules/nixos/services/authentication/default.nix
Normal file
7
modules/nixos/services/authentication/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./authelia
|
||||
./himmelblau
|
||||
./zitadel
|
||||
];
|
||||
}
|
||||
|
|
@ -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, ... }: {
|
||||
|
|
|
|||
5
modules/nixos/services/backup/default.nix
Normal file
5
modules/nixos/services/backup/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./borg
|
||||
];
|
||||
}
|
||||
5
modules/nixos/services/communication/default.nix
Normal file
5
modules/nixos/services/communication/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./matrix
|
||||
];
|
||||
}
|
||||
15
modules/nixos/services/default.nix
Normal file
15
modules/nixos/services/default.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
imports = [
|
||||
./authentication
|
||||
./backup
|
||||
./communication
|
||||
./development
|
||||
./games
|
||||
./media
|
||||
./networking
|
||||
./observability
|
||||
./persistance
|
||||
./security
|
||||
./virtualisation
|
||||
];
|
||||
}
|
||||
5
modules/nixos/services/development/default.nix
Normal file
5
modules/nixos/services/development/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./forgejo
|
||||
];
|
||||
}
|
||||
7
modules/nixos/services/games/default.nix
Normal file
7
modules/nixos/services/games/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./minecraft
|
||||
./palworld
|
||||
./openrct.nix
|
||||
];
|
||||
}
|
||||
|
|
@ -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";
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
lib,
|
||||
namespace,
|
||||
inputs,
|
||||
system,
|
||||
...
|
||||
}: let
|
||||
inherit (builtins) toString;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
config,
|
||||
lib,
|
||||
namespace,
|
||||
system,
|
||||
...
|
||||
}: let
|
||||
inherit (lib) mkIf mkEnableOption;
|
||||
|
|
|
|||
|
|
@ -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 = [
|
||||
({
|
||||
|
|
|
|||
7
modules/nixos/services/networking/default.nix
Normal file
7
modules/nixos/services/networking/default.nix
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
imports = [
|
||||
./caddy
|
||||
./ssh
|
||||
./wireguard
|
||||
];
|
||||
}
|
||||
9
modules/nixos/services/observability/default.nix
Normal file
9
modules/nixos/services/observability/default.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
imports = [
|
||||
./grafana
|
||||
./loki
|
||||
./prometheus
|
||||
./promtail
|
||||
./uptime-kuma
|
||||
];
|
||||
}
|
||||
5
modules/nixos/services/persistance/default.nix
Normal file
5
modules/nixos/services/persistance/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./postgesql
|
||||
];
|
||||
}
|
||||
5
modules/nixos/services/security/default.nix
Normal file
5
modules/nixos/services/security/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./vaultwarden
|
||||
];
|
||||
}
|
||||
|
|
@ -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;
|
||||
|
|
|
|||
5
modules/nixos/services/virtualisation/default.nix
Normal file
5
modules/nixos/services/virtualisation/default.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{
|
||||
imports = [
|
||||
./podman
|
||||
];
|
||||
}
|
||||
6
modules/nixos/system/default.nix
Normal file
6
modules/nixos/system/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
imports = [
|
||||
./networking
|
||||
./security
|
||||
];
|
||||
}
|
||||
|
|
@ -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;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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";
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue