summaryrefslogtreecommitdiff
path: root/nixos/systems/prodesk-server
diff options
context:
space:
mode:
authortriethyl <triethylammonium@pm.me>2025-09-03 09:06:57 -0400
committertriethyl <triethylammonium@pm.me>2025-09-03 09:06:57 -0400
commitca30ba28b038c7ad283fc17ca4e9cc91eda2e911 (patch)
treebf3e5d958bfcca2211cc65c5d310bcdd17b98e2f /nixos/systems/prodesk-server
parentabede06081d3cd5abd75f65e835d6d4830f1224d (diff)
prodesk-server: created server config
Diffstat (limited to 'nixos/systems/prodesk-server')
-rw-r--r--nixos/systems/prodesk-server/system.nix58
1 files changed, 58 insertions, 0 deletions
diff --git a/nixos/systems/prodesk-server/system.nix b/nixos/systems/prodesk-server/system.nix
index e69de29..37bbd48 100644
--- a/nixos/systems/prodesk-server/system.nix
+++ b/nixos/systems/prodesk-server/system.nix
@@ -0,0 +1,58 @@
+{config, ...}: {
+ imports = [./hardware.nix];
+
+ # Configure general settings.
+ general-settings = {
+ hostname = "prodesk-server";
+ locale = "en_US.UTF-8";
+ timezone = "America/New_York";
+ stateVersion = "23.11";
+ };
+
+ age.secrets.server-user-password.file = ../../../secrets/user-passwords/prodesk-server/server.age;
+
+ # Configure admin user.
+ users.users."server" = {
+ hashedPasswordFile = config.age.secrets.server-user-password.path;
+ isNormalUser = true;
+ description = "Server";
+ extraGroups = [
+ "networkmanager"
+ "wheel"
+ "audio"
+ "video"
+ ];
+ };
+
+ # Enable features.
+ features = {
+ cli = {
+ shells.nushell.enable = true;
+ utils = {
+ nh = {
+ enable = true;
+ flake = "/home/server/Sync/setup";
+ };
+ };
+ };
+ services = {
+ core.systemd-boot.enable = true;
+ extra = {
+ udisks2.enable = true;
+ };
+ };
+ };
+
+ # Configure homelab modules.
+ homelab = {
+ core = {
+ ssh.enable = true;
+ };
+ cloud = {
+ syncthing = {
+ enable = true;
+ user = "server";
+ };
+ };
+ };
+}