{ config, pkgs, ... }: { imports = [ ./hardware-configuration ./configs ./users ]; # local.yubikey.enable = true; ################################################################################ # Programs ################################################################################ local.programs.browsers.tor-browser.enable = true; ################################################################################ # 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; acceleration = "rocm"; }; 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" = { }; "/run/opengl-driver/lib" = {}; "/run/opengl-driver-32/lib" = {}; "/dev/kfd" = {}; "/dev/dri" = {}; }; config = { pkgs, ... }: { nixpkgs.config.allowUnfree = true; system.stateVersion = "23.11"; users.groups.transmission = config.users.groups.transmission; users.users.john = { isNormalUser = true; home = "/home/john"; password = "hello"; extraGroups = [ "pulse-access" "transmission" ]; packages = with pkgs; [ # wine wineWowPackages.stable winetricks # community edition innoextract fallout-ce fallout2-ce openmw openxcom # tools vim unzip wget ]; }; environment.sessionVariables = { DISPLAY = ":0"; PULSE_SERVER = "tcp:127.0.0.1:4713"; XAUTHORITY = "/home/john/.Xauthority"; WINEPREFIX = "/home/john/.wine"; WINEARCH = "win32"; }; }; }; }