2024-08-22 22:27:39 +03:00
|
|
|
{ config, pkgs, ... }:
|
2024-04-16 02:51:46 +03:00
|
|
|
|
|
|
|
{
|
|
|
|
imports = [
|
|
|
|
./hardware-configuration
|
|
|
|
./configs
|
|
|
|
./users
|
|
|
|
];
|
|
|
|
|
2024-06-17 15:08:19 +03:00
|
|
|
# local.yubikey.enable = true;
|
2024-05-20 18:47:21 +03:00
|
|
|
|
2024-04-16 02:51:46 +03:00
|
|
|
################################################################################
|
|
|
|
# Programs
|
|
|
|
################################################################################
|
2024-08-22 22:27:39 +03:00
|
|
|
local.programs.browsers.tor-browser.enable = true;
|
2024-04-16 02:51:46 +03:00
|
|
|
|
|
|
|
################################################################################
|
|
|
|
# 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;
|
2024-06-18 15:03:22 +03:00
|
|
|
|
|
|
|
services.ollama = {
|
|
|
|
enable = true;
|
|
|
|
package = pkgs.unstable.ollama;
|
2024-08-21 14:43:58 +03:00
|
|
|
acceleration = "rocm";
|
2024-06-18 15:03:22 +03:00
|
|
|
};
|
2024-08-07 12:55:03 +03:00
|
|
|
|
|
|
|
programs.sniffnet.enable = true;
|
2024-08-21 11:20:30 +03:00
|
|
|
|
|
|
|
################################################################################
|
|
|
|
# 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" = { };
|
2024-08-22 20:30:00 +03:00
|
|
|
"/run/opengl-driver/lib" = {};
|
|
|
|
"/run/opengl-driver-32/lib" = {};
|
|
|
|
"/dev/kfd" = {};
|
|
|
|
"/dev/dri" = {};
|
2024-08-21 11:20:30 +03:00
|
|
|
};
|
|
|
|
config = { pkgs, ... }: {
|
2024-08-22 20:30:00 +03:00
|
|
|
nixpkgs.config.allowUnfree = true;
|
2024-08-21 11:20:30 +03:00
|
|
|
system.stateVersion = "23.11";
|
2024-08-22 20:30:00 +03:00
|
|
|
|
|
|
|
users.groups.transmission = config.users.groups.transmission;
|
2024-08-21 11:20:30 +03:00
|
|
|
users.users.john = {
|
|
|
|
isNormalUser = true;
|
|
|
|
home = "/home/john";
|
|
|
|
password = "hello";
|
2024-08-22 20:30:00 +03:00
|
|
|
extraGroups = [ "pulse-access" "transmission" ];
|
2024-08-21 11:20:30 +03:00
|
|
|
packages = with pkgs; [
|
2024-08-22 20:30:00 +03:00
|
|
|
# wine
|
2024-08-21 11:20:30 +03:00
|
|
|
wineWowPackages.stable
|
|
|
|
winetricks
|
2024-08-22 20:30:00 +03:00
|
|
|
# community edition
|
|
|
|
innoextract
|
|
|
|
fallout-ce
|
|
|
|
fallout2-ce
|
|
|
|
openmw
|
|
|
|
# tools
|
|
|
|
vim
|
|
|
|
unzip
|
|
|
|
wget
|
2024-08-21 11:20:30 +03:00
|
|
|
];
|
|
|
|
};
|
|
|
|
environment.sessionVariables = {
|
|
|
|
DISPLAY = ":0";
|
2024-08-22 20:30:00 +03:00
|
|
|
PULSE_SERVER = "tcp:127.0.0.1:4713";
|
2024-08-22 22:27:39 +03:00
|
|
|
XAUTHORITY = "/home/john/.Xauthority";
|
2024-08-22 20:30:00 +03:00
|
|
|
|
2024-08-21 11:20:30 +03:00
|
|
|
WINEPREFIX = "/home/john/.wine";
|
|
|
|
WINEARCH = "win32";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2024-04-16 02:51:46 +03:00
|
|
|
}
|