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

View file

@ -31,7 +31,6 @@
imports = [ imports = [
./disks.nix ./disks.nix
./hardware.nix ./hardware.nix
../../modules/nixos
self.inputs.home-manager.nixosModules.home-manager self.inputs.home-manager.nixosModules.home-manager
self.inputs.himmelblau.nixosModules.himmelblau self.inputs.himmelblau.nixosModules.himmelblau
self.inputs.jovian.nixosModules.default self.inputs.jovian.nixosModules.default
@ -39,6 +38,7 @@
self.inputs.nix-minecraft.nixosModules.minecraft-servers self.inputs.nix-minecraft.nixosModules.minecraft-servers
self.inputs.nvf.nixosModules.default self.inputs.nvf.nixosModules.default
self.inputs.sops-nix.nixosModules.sops self.inputs.sops-nix.nixosModules.sops
(self.inputs.import-tree ../../modules/nixos)
]; ];
system.stateVersion = "23.11"; 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; cfg = config.sneeuwvlok.desktop;
in { in {
imports = [
./cosmic
./gamescope
./gnome
./plasma
];
options.sneeuwvlok.desktop = { options.sneeuwvlok.desktop = {
use = mkOption { use = mkOption {
type = nullOr (enum ["plasma" "gamescope" "gnome" "cosmic"]); 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 }: let
inherit (lib) mkIf mkEnableOption; inherit (lib) mkIf mkEnableOption;
cfg = config.sneeuwvlok.hardware.has.gpu.nvidia; cfg = config.sneeuwvlok.hardware.has.gpu;
in { in {
options.sneeuwvlok.hardware.has.gpu.nvidia = mkEnableOption "Enable NVidia gpu configuration"; options.sneeuwvlok.hardware.has.gpu.nvidia = mkEnableOption "Enable NVidia gpu configuration";
config = mkIf cfg { config = mkIf cfg.nvidia {
services.xserver.videoDrivers = ["nvidia"]; services.xserver.videoDrivers = ["nvidia"];
hardware = { 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; cfg = config.sneeuwvlok.hardware.keyboard.voyager;
in { in {
options.sneeuwvlok.hardware.keyboard.voyager = { options.sneeuwvlok.hardware.keyboard.voyager = {
enble = mkEnableOption "Enable tools for ZSA Voyager"; enable = mkEnableOption "Enable tools for ZSA Voyager";
}; };
config = mkIf cfg.enable { 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; cfg = config.sneeuwvlok.services.media;
in { in {
imports = [
./glance
./jellyfin
./mydia
./nextcloud
./nfs
./servarr
];
options.sneeuwvlok.services.media = { options.sneeuwvlok.services.media = {
enable = mkEnableOption "Enable media services"; 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,
config, inputs,
inputs, ...
... }: let
}: let cfg = config.sneeuwvlok.system.security;
cfg = config.sneeuwvlok.system.security; in {
in { options.sneeuwvlok.system.security = {};
options.sneeuwvlok.system.security = {};
config = { config = {
security = { security = {
acme.acceptTerms = true; acme.acceptTerms = true;
polkit.enable = true; polkit.enable = true;
pam = { pam = {
u2f = { u2f = {
enable = true; enable = true;
settings.cue = true; settings.cue = true;
};
}; };
}; };
programs.gnupg.agent.enable = true;
}; };
programs.gnupg.agent.enable = true;
}; };
} }