diff options
Diffstat (limited to 'os/srv')
| -rw-r--r-- | os/srv/docker.nix | 14 | ||||
| -rw-r--r-- | os/srv/files.nix | 17 | ||||
| -rw-r--r-- | os/srv/gaming.nix | 1 | ||||
| -rw-r--r-- | os/srv/nix-helper.nix | 6 | ||||
| -rw-r--r-- | os/srv/sops.nix | 21 | ||||
| -rw-r--r-- | os/srv/srv.nix | 1 | ||||
| -rw-r--r-- | os/srv/virtualization.nix | 47 |
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 + ]; + }) + ]; } |
