{ config, pkgs, ... }: { imports = [ ./hardware-configuration ./configs ./users ]; ################################################################################ # Programs ################################################################################ ################################################################################ # 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; settings = { rpc-bind-address = "192.168.7.10"; rpc-port = 9091; rpc-whitelist = "192.168.7.*"; }; }; 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 ''; local.programs.communication = { telegram = { enable = true; package = pkgs.unstable.tdesktop; }; simplex-chat = { enable = true; package = pkgs.unstable.simplex-chat-desktop; openFirewall = true; }; }; local.programs.editors.jetbrains-idea.enable = true; containers.games = { autoStart = true; bindMounts = { "${config.services.transmission.settings.download-dir}" = { }; "/tmp/.X11-unix" = { }; "/run/opengl-driver/lib" = { }; "/run/opengl-driver-32/lib" = { }; }; allowedDevices = [ { modifier = "r"; node = "/dev/kfd"; } { modifier = "r"; node = "/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 fallout-ce fallout2-ce openmw openxcom # tools innoextract vim unzip p7zip unrar-wrapper wget ]; }; environment.sessionVariables = { DISPLAY = ":0"; PULSE_SERVER = "tcp:127.0.0.1:4713"; XAUTHORITY = "/home/john/.Xauthority"; WINEPREFIX = "/home/john/.wine"; WINEARCH = "win32"; }; }; }; }