forked from extern/nix-config
containers: Add gui container
This commit is contained in:
parent
4cd995138d
commit
ef0e1acfc7
19
containers/common-config/wayland.nix
Normal file
19
containers/common-config/wayland.nix
Normal 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;
|
||||||
|
};
|
||||||
|
}
|
14
containers/common-container/wayland.nix
Normal file
14
containers/common-container/wayland.nix
Normal 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
64
containers/gui.nix
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user