summaryrefslogtreecommitdiff
path: root/os/srv
diff options
context:
space:
mode:
authoradikro <adikro@disroot.org>2026-03-01 19:57:16 +0100
committeradikro <adikro@disroot.org>2026-03-01 19:57:16 +0100
commit1be09af058424219de2aad4b9cc27ccf760d23f6 (patch)
treebdc1177b166e1eef36763984b6862d7755a7bde8 /os/srv
parent4b41ce640c5eddcb50904331e03aac5460caa144 (diff)
...
Diffstat (limited to 'os/srv')
-rw-r--r--os/srv/docker.nix14
-rw-r--r--os/srv/files.nix17
-rw-r--r--os/srv/gaming.nix1
-rw-r--r--os/srv/nix-helper.nix6
-rw-r--r--os/srv/sops.nix21
-rw-r--r--os/srv/srv.nix1
-rw-r--r--os/srv/virtualization.nix47
7 files changed, 66 insertions, 41 deletions
diff --git a/os/srv/docker.nix b/os/srv/docker.nix
deleted file mode 100644
index a87ea5d..0000000
--- a/os/srv/docker.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{ config, lib, pkgs, username, ... }:
-let
- cfg = config.os.srv.docker;
-in
-{
- options.os.srv.docker.enable = lib.mkEnableOption "enables the docker container engine";
- config = lib.mkIf cfg.enable {
- virtualisation.docker.enable = true;
-
- environment.systemPackages = [ pkgs.docker-compose ];
-
- users.users.${username}.extraGroups = [ "docker" ];
- };
-}
diff --git a/os/srv/files.nix b/os/srv/files.nix
index 875a825..719642c 100644
--- a/os/srv/files.nix
+++ b/os/srv/files.nix
@@ -10,13 +10,19 @@ in
{
options.os.srv.files = {
enable = lib.mkEnableOption "enables general file management stuff";
+ localsend.enable = lib.mkEnableOption "enables localsend for sharing files locally";
krusader.enable = lib.mkEnableOption "enables krusader for easier file moving using ssh";
};
config = lib.mkMerge [
- {
+ (lib.mkIf cfg.enable {
programs.thunar = {
enable = true;
plugins = with pkgs; [
+ ffmpegthumbnailer
+ libgsf
+ poppler
+ freetype
+ webp-pixbuf-loader
thunar-volman
thunar-archive-plugin
];
@@ -31,8 +37,13 @@ in
pxz
pigz
];
- }
-
+ })
+ (lib.mkIf cfg.localsend.enable {
+ programs.localsend = {
+ enable = true;
+ openFirewall = true;
+ };
+ })
(lib.mkIf cfg.krusader.enable {
environment.systemPackages = with pkgs; [
krusader
diff --git a/os/srv/gaming.nix b/os/srv/gaming.nix
index 912a252..3e2eea4 100644
--- a/os/srv/gaming.nix
+++ b/os/srv/gaming.nix
@@ -77,6 +77,7 @@ in
proton-ge-bin
];
};
+ environment.systemPackages = with pkgs; [ steamtinkerlaunch ];
})
# --- VR SUPPORT ---
diff --git a/os/srv/nix-helper.nix b/os/srv/nix-helper.nix
index 0bb819a..5e5e133 100644
--- a/os/srv/nix-helper.nix
+++ b/os/srv/nix-helper.nix
@@ -28,9 +28,9 @@ in
clean.extraArgs = "--keep 5";
};
- # environment.sessionVariables = {
- # NH_OS_FLAKE = "/etc/nixos";
- # };
+ environment.sessionVariables = {
+ NH_OS_FLAKE = "/etc/nixos";
+ };
environment.systemPackages = with pkgs; [
nix-output-monitor
diff --git a/os/srv/sops.nix b/os/srv/sops.nix
index 3c9f0a9..40f9c74 100644
--- a/os/srv/sops.nix
+++ b/os/srv/sops.nix
@@ -12,26 +12,31 @@ in
{
imports = [ inputs.sops-nix.nixosModules.sops ];
- options.os.srv.sops.enable = lib.mkEnableOption "enables sops-nix secret storing";
+ options.os.srv.sops = {
+ enable = lib.mkEnableOption "enables sops-nix";
+ diskEncryption = lib.mkEnableOption "enables initrd decryption key (LUKS)";
+ };
config = lib.mkIf cfg.enable {
sops = {
- defaultSopsFile = ../../secrets/secrets.yaml;
+ defaultSopsFile = ../../secrets/common.yaml;
defaultSopsFormat = "yaml";
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
secrets = {
- "syncthing/gui_password".owner = username;
+ "syncthing/gui_password" = {
+ owner = username;
+ sopsFile = ../../secrets/oci.yaml;
+ };
"obs/websocket_password".owner = username;
root_password.neededForUsers = true;
user_password.neededForUsers = true;
-# crypt_key = { };
+ oracler_password = {
+ neededForUsers = true;
+ sopsFile = ../../secrets/oci.yaml;
+ };
};
};
-# boot.initrd.secrets = {
-# "/tmp/crypt.key" = config.sops.secrets.crypt_key.path;
-# };
-
environment.systemPackages = with pkgs; [
sops
age
diff --git a/os/srv/srv.nix b/os/srv/srv.nix
index 0e2a4f7..8ee895b 100644
--- a/os/srv/srv.nix
+++ b/os/srv/srv.nix
@@ -5,7 +5,6 @@
./sops.nix
./bluetooth.nix
./compat.nix
- ./docker.nix
./files.nix
./gaming.nix
./virtualization.nix
diff --git a/os/srv/virtualization.nix b/os/srv/virtualization.nix
index f32737b..143e9da 100644
--- a/os/srv/virtualization.nix
+++ b/os/srv/virtualization.nix
@@ -2,23 +2,46 @@
config,
lib,
pkgs,
+ username,
...
}:
let
cfg = config.os.srv.virtualization;
in
{
- options.os.srv.virtualization.enable =
- lib.mkEnableOption "KVM/QEMU virtualization with Virt-Manager";
- config = lib.mkIf cfg.enable {
- virtualisation.libvirtd = {
- enable = true;
- qemu.package = pkgs.qemu_kvm;
- qemu.swtpm.enable = true;
- };
- systemd.services.libvirt-guests.enable = false;
- programs.virt-manager.enable = true;
-
- boot.initrd.kernelModules = lib.optional (config.os.core.drivers.amd.enable or false) "kvm-amd";
+ options.os.srv.virtualization = {
+ kvm.enable = lib.mkEnableOption "KVM/QEMU virtualization with Virt-Manager";
+ docker.enable = lib.mkEnableOption "Docker Container Virtualization";
+ waydroid.enable = lib.mkEnableOption "Waydroid Container Virtualization";
};
+ config = lib.mkMerge [
+ (lib.mkIf cfg.kvm.enable {
+ virtualisation.libvirtd = {
+ enable = true;
+ qemu.package = pkgs.qemu_kvm;
+ qemu.swtpm.enable = true;
+ };
+ systemd.services.libvirt-guests.enable = false;
+ programs.virt-manager.enable = true;
+
+ boot.initrd.kernelModules =
+ (lib.optional (config.os.core.drivers.cpu == "amd") "kvm-amd")
+ ++ (lib.optional (config.os.core.drivers.cpu == "intel") "kvm-intel");
+ })
+ (lib.mkIf cfg.docker.enable {
+ virtualisation.docker.enable = true;
+ environment.systemPackages = [ pkgs.docker-compose ];
+ users.users.${username}.extraGroups = [ "docker" ];
+ })
+ (lib.mkIf cfg.waydroid.enable {
+ virtualisation.waydroid = {
+ enable = true;
+ package = pkgs.waydroid-nftables;
+ };
+
+ environment.systemPackages = with pkgs; [
+ waydroid-helper
+ ];
+ })
+ ];
}