add import tree

This commit is contained in:
Chris Kruining 2026-03-26 15:05:37 +01:00
parent ba7c3392b9
commit 20de142350
No known key found for this signature in database
GPG key ID: EB894A3560CCCAD2
24 changed files with 77 additions and 256 deletions

110
clan.nix
View file

@ -8,60 +8,60 @@
directory = ./.;
inventory.machines = {
# aule = {
# name = "aule";
# description = "Planned build server.";
# machineClass = "nixos";
# tags = ["planned" "build"];
# };
# mandos = {
# name = "mandos";
# description = "Living room Steam box.";
# machineClass = "nixos";
# tags = ["gaming" "living-room"];
# };
# manwe = {
# name = "manwe";
# description = "Main desktop.";
# machineClass = "nixos";
# tags = ["desktop"];
# };
# melkor = {
# name = "melkor";
# description = "Planned machine with no defined role yet.";
# machineClass = "nixos";
# tags = [];
# };
# orome = {
# name = "orome";
# description = "Work laptop.";
# machineClass = "nixos";
# tags = ["laptop" "work"];
# };
# tulkas = {
# name = "tulkas";
# description = "Steam Deck.";
# machineClass = "nixos";
# tags = ["gaming" "handheld"];
# };
aule = {
name = "aule";
description = "Planned build server.";
machineClass = "nixos";
tags = ["planned" "build"];
};
mandos = {
name = "mandos";
description = "Living room Steam box.";
machineClass = "nixos";
tags = ["gaming" "living-room"];
};
manwe = {
name = "manwe";
description = "Main desktop.";
machineClass = "nixos";
tags = ["desktop"];
};
melkor = {
name = "melkor";
description = "Planned machine with no defined role yet.";
machineClass = "nixos";
tags = [];
};
orome = {
name = "orome";
description = "Work laptop.";
machineClass = "nixos";
tags = ["laptop" "work"];
};
tulkas = {
name = "tulkas";
description = "Steam Deck.";
machineClass = "nixos";
tags = ["gaming" "handheld"];
};
ulmo = {
name = "ulmo";
description = "Primary self-hosted services machine.";
machineClass = "nixos";
tags = ["server" "services"];
};
# varda = {
# name = "varda";
# description = "Planned machine with no defined role yet.";
# machineClass = "nixos";
# tags = [];
# };
# yavanna = {
# name = "yavanna";
# description = "Planned machine with no defined role yet.";
# machineClass = "nixos";
# tags = [];
# };
varda = {
name = "varda";
description = "Planned machine with no defined role yet.";
machineClass = "nixos";
tags = [];
};
yavanna = {
name = "yavanna";
description = "Planned machine with no defined role yet.";
machineClass = "nixos";
tags = [];
};
};
inventory.instances = {
@ -83,11 +83,11 @@
};
};
machines = {
# mandos = {};
# manwe = {};
# orome = {};
# tulkas = {};
ulmo = {};
};
# machines = {
# mandos = {};
# manwe = {};
# orome = {};
# tulkas = {};
# ulmo = {};
# };
}

View file

@ -31,7 +31,6 @@
imports = [
./disks.nix
./hardware.nix
../../modules/nixos
self.inputs.home-manager.nixosModules.home-manager
self.inputs.himmelblau.nixosModules.himmelblau
self.inputs.jovian.nixosModules.default
@ -39,6 +38,7 @@
self.inputs.nix-minecraft.nixosModules.minecraft-servers
self.inputs.nvf.nixosModules.default
self.inputs.sops-nix.nixosModules.sops
(self.inputs.import-tree ../../modules/nixos)
];
system.stateVersion = "23.11";

View file

@ -1,15 +0,0 @@
{
imports = [
./application/steam.nix
./boot/default.nix
./editor/nano/default.nix
./editor/nvim/default.nix
./hardware/audio/default.nix
./home-manager
./services
./system/networking
./system/security/boot
./system/security/sops
./system/security/sudo
];
}

View file

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

View file

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

View file

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

View file

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

View file

@ -6,11 +6,11 @@
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.sneeuwvlok.hardware.has.gpu.nvidia;
cfg = config.sneeuwvlok.hardware.has.gpu;
in {
options.sneeuwvlok.hardware.has.gpu.nvidia = mkEnableOption "Enable NVidia gpu configuration";
config = mkIf cfg {
config = mkIf cfg.nvidia {
services.xserver.videoDrivers = ["nvidia"];
hardware = {

View file

@ -1,52 +0,0 @@
{
pkgs,
lib,
config,
...
}: let
inherit (lib) mkIf mkEnableOption;
cfg = config.sneeuwvlok.hardware.has.gpu;
in {
options.sneeuwvlok.hardware.has.gpu.nvidia = mkEnableOption "Enable NVidia gpu configuration";
config = mkIf cfg.nvidia {
services.xserver.videoDrivers = ["nvidia"];
hardware = {
graphics = {
enable = true;
enable32Bit = true;
};
nvidia = {
modesetting.enable = true;
open = false;
nvidiaSettings = true;
powerManagement = {
enable = true;
finegrained = false;
};
# package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta;
# package = let
# rcu_patch = pkgs.fetchpatch {
# url = "https://github.com/gentoo/gentoo/raw/c64caf53/x11-drivers/nvidia-drivers/files/nvidia-drivers-470.223.02-gpl-pfn_valid.patch";
# hash = "sha256-eZiQQp2S/asE7MfGvfe6dA/kdCvek9SYa/FFGp24dVg=";
# };
# in config.boot.kernelPackages.nvidiaPackages.mkDriver {
# version = "550.40.07";
# sha256_64bit = "sha256-KYk2xye37v7ZW7h+uNJM/u8fNf7KyGTZjiaU03dJpK0=";
# sha256_aarch64 = "sha256-AV7KgRXYaQGBFl7zuRcfnTGr8rS5n13nGUIe3mJTXb4=";
# openSha256 = "sha256-mRUTEWVsbjq+psVe+kAT6MjyZuLkG2yRDxCMvDJRL1I=";
# settingsSha256 = "sha256-c30AQa4g4a1EHmaEu1yc05oqY01y+IusbBuq+P6rMCs=";
# persistencedSha256 = "sha256-11tLSY8uUIl4X/roNnxf5yS2PQvHvoNjnd2CB67e870=";
# patches = [ rcu_patch ];
# };
};
};
};
}

View file

@ -9,7 +9,7 @@
cfg = config.sneeuwvlok.hardware.keyboard.voyager;
in {
options.sneeuwvlok.hardware.keyboard.voyager = {
enble = mkEnableOption "Enable tools for ZSA Voyager";
enable = mkEnableOption "Enable tools for ZSA Voyager";
};
config = mkIf cfg.enable {

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,27 +1,25 @@
{...}: {
flake.modules.nixos.sneeuwvlok.system.security = {
config,
inputs,
...
}: let
cfg = config.sneeuwvlok.system.security;
in {
options.sneeuwvlok.system.security = {};
{
config,
inputs,
...
}: let
cfg = config.sneeuwvlok.system.security;
in {
options.sneeuwvlok.system.security = {};
config = {
security = {
acme.acceptTerms = true;
polkit.enable = true;
config = {
security = {
acme.acceptTerms = true;
polkit.enable = true;
pam = {
u2f = {
enable = true;
settings.cue = true;
};
pam = {
u2f = {
enable = true;
settings.cue = true;
};
};
programs.gnupg.agent.enable = true;
};
programs.gnupg.agent.enable = true;
};
}