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