{ sops-nix, pkgs, user, ... }: { imports = [ ]; nixpkgs = { overlays = let path = ../../overlays; in with builtins; map (n: import (path + ("/" + n))) ( filter (n: match ".*\\.nix" n != null || pathExists (path + ("/" + n + "/default.nix"))) ( attrNames (readDir path) ) ); }; nix = { package = pkgs.nix; settings = { trusted-users = [ "@admin" "${user}" ]; substituters = [ "https://nix-community.cachix.org" "https://cache.nixos.org" ]; trusted-public-keys = ["cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="]; }; gc = { automatic = true; options = "--delete-older-than 30d"; }; extraOptions = '' experimental-features = nix-command flakes ''; }; programs.fish.enable = true; services = { tailscale = { enable = true; }; syncthing = { enable = true; openDefaultPorts = true; dataDir = "/home/${user}/.local/share/syncthing"; configDir = "/home/${user}/.config/syncthing"; user = "${user}"; group = "users"; guiAddress = "0.0.0.0:8384"; overrideFolders = true; overrideDevices = true; settings = { devices = {}; options.globalAnnounceEnabled = false; }; }; }; }