system/hosts/home/configuration.nix

97 lines
2.5 KiB
Nix

{ 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;
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
# tools
vim
unzip
wget
];
};
environment.sessionVariables = {
DISPLAY = ":0";
PULSE_SERVER = "tcp:127.0.0.1:4713";
WINEPREFIX = "/home/john/.wine";
WINEARCH = "win32";
};
};
};
}