{ config, globalData, pkgs, ... }: { imports = [ ./hardware-configuration ./configs ./users ]; # local.yubikey.enable = true; ################################################################################ # Programs ################################################################################ local.programs.browsers.tor-browser = { enable = true; container = { enable = true; externalInterface = "wg0"; sshAuthorizedKeys = globalData.publicKeys.users.jan; }; }; ################################################################################ # Services ################################################################################ local.services.i2pd.enable = true; local.services.kubo.enable = true; local.services.octoprint.enable = true; virtualisation.docker.enable = true; # Torrent client services.transmission.enable = true; services.ollama = { enable = true; package = pkgs.unstable.ollama; }; programs.sniffnet.enable = true; ################################################################################ # Containers ################################################################################ environment.shellInit = '' [ -n "$DISPLAY" ] && ${pkgs.xorg.xhost}/bin/xhost +local: > /dev/null || true ''; containers.games = { autoStart = true; bindMounts = { "${config.services.transmission.settings.download-dir}" = { }; "/tmp/.X11-unix" = { }; }; config = { pkgs, ... }: { system.stateVersion = "23.11"; users.users.john = { isNormalUser = true; home = "/home/john"; password = "hello"; extraGroups = [ "pulse-access" ]; packages = with pkgs; [ wineWowPackages.stable winetricks gnome.nautilus apulse ]; }; environment.sessionVariables = { DISPLAY = ":0"; WINEPREFIX = "/home/john/.wine"; WINEARCH = "win32"; PULSE_SERVER = "tcp:127.0.0.1:4713"; }; }; }; }