system/hosts/home/configuration.nix

80 lines
2 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;
};
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";
};
};
};
}