145 lines
3.2 KiB
Nix
145 lines
3.2 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./hardware-configuration
|
|
./configs
|
|
./users
|
|
];
|
|
|
|
################################################################################
|
|
# Programs
|
|
################################################################################
|
|
|
|
################################################################################
|
|
# Services
|
|
################################################################################
|
|
local.services.byedpi = {
|
|
enable = true;
|
|
enableProxy = true;
|
|
settings = {
|
|
port = 1081;
|
|
};
|
|
groupSettings = [
|
|
{
|
|
name = "googlevideo";
|
|
hosts = "googlevideo.com";
|
|
disoob = 3;
|
|
disorder = 7;
|
|
}
|
|
{
|
|
name = "youtube";
|
|
hosts = "youtube.com";
|
|
fake = 1;
|
|
}
|
|
{
|
|
name = "none";
|
|
}
|
|
];
|
|
};
|
|
|
|
# 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;
|
|
};
|
|
};
|
|
|
|
/*
|
|
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";
|
|
};
|
|
};
|
|
};
|
|
*/
|
|
}
|