add import tree
This commit is contained in:
parent
ba7c3392b9
commit
20de142350
24 changed files with 77 additions and 256 deletions
110
clan.nix
110
clan.nix
|
|
@ -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 = {};
|
||||||
};
|
# };
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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";
|
||||||
|
|
|
||||||
|
|
@ -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
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -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"]);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./nano
|
|
||||||
./nvim
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./audio
|
|
||||||
./bluetooth
|
|
||||||
./gpu
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./amd
|
|
||||||
./nvidia
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -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 = {
|
||||||
|
|
|
||||||
|
|
@ -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 ];
|
|
||||||
# };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
@ -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 {
|
||||||
|
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./authelia
|
|
||||||
./himmelblau
|
|
||||||
./zitadel
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./borg
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./matrix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./authentication
|
|
||||||
./backup
|
|
||||||
./communication
|
|
||||||
./development
|
|
||||||
./games
|
|
||||||
./media
|
|
||||||
./networking
|
|
||||||
./observability
|
|
||||||
./persistance
|
|
||||||
./security
|
|
||||||
./virtualisation
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./forgejo
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./minecraft
|
|
||||||
./palworld
|
|
||||||
./openrct.nix
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -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";
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./caddy
|
|
||||||
./ssh
|
|
||||||
./wireguard
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,9 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./grafana
|
|
||||||
./loki
|
|
||||||
./prometheus
|
|
||||||
./promtail
|
|
||||||
./uptime-kuma
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./postgesql
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./vaultwarden
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./podman
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
@ -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;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue