1
0
forked from extern/nix-config

containers: Add gui container

This commit is contained in:
Donovan Glover 2023-06-12 18:09:57 -04:00
parent 4cd995138d
commit ef0e1acfc7
No known key found for this signature in database
GPG Key ID: EA7408A77AE1BE65
3 changed files with 97 additions and 0 deletions

View File

@ -0,0 +1,19 @@
{
environment.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";
};
services.xserver.enable = true;
hardware.opengl = {
enable = true;
driSupport32Bit = true;
};
}

View File

@ -0,0 +1,14 @@
{
bindMounts = {
waylandDisplay = rec {
hostPath = "/run/user/1000";
mountPoint = hostPath;
};
x11Display = rec {
hostPath = "/tmp/.X11-unix";
mountPoint = hostPath;
isReadOnly = true;
};
};
}

64
containers/gui.nix Normal file
View File

@ -0,0 +1,64 @@
{ home-manager, ... }:
let
VARIABLES = import ../src/variables.nix;
in
{
containers.gui = {
imports = [
./common-container/wayland.nix
];
privateNetwork = true;
ephemeral = true;
autoStart = true;
bindMounts = {
"/mnt" = {
hostPath = "/home/${VARIABLES.username}/containers/gui";
isReadOnly = false;
};
};
config = { pkgs, lib, ... }: {
imports = [
home-manager.nixosModules.home-manager
./common-config/wayland.nix
];
environment.systemPackages = with pkgs; [
audacity # Audio editing
gimp # Video editing
anki # Spaced repetition
sqlitebrowser # SQL
kanjidraw # Kanji draw
kitty # TODO: import common module
];
users = {
mutableUsers = false;
allowNoPasswordLogin = true;
users.user = {
isNormalUser = true;
home = "/home/user";
};
};
#home-manager.sharedModules = [{
#}];
home-manager.users.user = { pkgs, ... }: {
home.packages = [ pkgs.atool pkgs.httpie ];
home.stateVersion = VARIABLES.stateVersion;
};
environment = {
variables = { TERM = "xterm-kitty"; };
defaultPackages = [ ];
};
# environment.systemPackages = with pkgs; [ kitty ];
system.stateVersion = VARIABLES.stateVersion;
};
};
}