system/hosts/home/configuration.nix

118 lines
2.8 KiB
Nix
Raw Normal View History

{ config, pkgs, ... }:
2024-04-16 02:51:46 +03:00
{
imports = [
./hardware-configuration
./configs
./users
];
################################################################################
# Programs
################################################################################
################################################################################
# Services
################################################################################
local.services.i2pd.enable = true;
2024-07-31 16:30:02 +03:00
local.services.kubo.enable = true;
2024-04-16 02:51:46 +03:00
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.*";
};
};
2024-06-18 15:03:22 +03:00
services.ollama = {
enable = true;
package = pkgs.unstable.ollama;
acceleration = "rocm";
2024-06-18 15:03:22 +03:00
};
2024-08-07 12:55:03 +03:00
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;
};
};
containers.games = {
autoStart = true;
bindMounts = {
"${config.services.transmission.settings.download-dir}" = { };
"/tmp/.X11-unix" = { };
2024-09-02 12:30:53 +03:00
"/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
2024-08-27 22:53:54 +03:00
openxcom
# tools
2024-09-09 02:15:22 +03:00
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";
};
};
};
2024-04-16 02:51:46 +03:00
}