mirror of
https://github.com/donovanglover/nix-config.git
synced 2024-11-22 16:23:57 +01:00
11c555d2c5
It turns out that I shouldn't actually need graphical container support for most containers, which might also improve build times with multiple containers.
95 lines
1.7 KiB
Nix
95 lines
1.7 KiB
Nix
{
|
|
nix-config,
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
let
|
|
inherit (nix-config.inputs.sakaya.packages.${pkgs.system}) sakaya;
|
|
inherit (config.modules.system) username;
|
|
inherit (lib) singleton getExe;
|
|
|
|
sakayaPort = 39493;
|
|
in
|
|
{
|
|
imports = with nix-config.nixosModules; [
|
|
shell
|
|
desktop
|
|
system
|
|
stylix
|
|
fonts
|
|
];
|
|
|
|
home-manager.sharedModules = with nix-config.homeModules; [
|
|
fish
|
|
git
|
|
gtk
|
|
kitty
|
|
neovim
|
|
xresources
|
|
yazi
|
|
];
|
|
|
|
nixpkgs.overlays = builtins.attrValues nix-config.overlays;
|
|
|
|
environment = {
|
|
systemPackages =
|
|
(with pkgs; [
|
|
wineWowPackages.waylandFull
|
|
winetricks
|
|
])
|
|
++ [ sakaya ];
|
|
|
|
variables = {
|
|
TERM = "xterm-kitty";
|
|
};
|
|
|
|
sessionVariables = {
|
|
WAYLAND_DISPLAY = "wayland-1";
|
|
QT_QPA_PLATFORM = "wayland";
|
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
|
SDL_VIDEODRIVER = "wayland";
|
|
CLUTTER_BACKEND = "wayland";
|
|
MOZ_ENABLE_WAYLAND = "1";
|
|
XDG_RUNTIME_DIR = "/run/user/1000";
|
|
DISPLAY = ":0";
|
|
QT_IM_MODULE = "fcitx";
|
|
XMODIFIERS = "@im=fcitx";
|
|
SDL_IM_MODULE = "fcitx";
|
|
GLFW_IM_MODULE = "ibus";
|
|
LC_ALL = "ja_JP.UTF-8";
|
|
TZ = "Asia/Tokyo";
|
|
};
|
|
};
|
|
|
|
hardware.graphics.enable = true;
|
|
|
|
networking = {
|
|
nat.forwardPorts = singleton {
|
|
destination = "192.168.100.49:${sakayaPort}";
|
|
sourcePort = sakayaPort;
|
|
};
|
|
|
|
firewall.allowedTCPPorts = [ sakayaPort ];
|
|
};
|
|
|
|
systemd.services.sakaya = {
|
|
enable = true;
|
|
description = "sakaya server";
|
|
|
|
unitConfig = {
|
|
Type = "simple";
|
|
};
|
|
|
|
path = with pkgs; [ su ];
|
|
|
|
serviceConfig = {
|
|
ExecStart = "/usr/bin/env su ${username} --command=${getExe sakaya}";
|
|
};
|
|
|
|
wantedBy = [ "multi-user.target" ];
|
|
};
|
|
}
|