Add looking glass for VMs, switch from scream-ivshmem to qemu-pulse
This commit is contained in:
parent
7069fb2a62
commit
15c0412080
|
@ -20,7 +20,7 @@ in
|
|||
playonlinux
|
||||
godot
|
||||
obs-studio
|
||||
obs-wlrobs
|
||||
obs-studio-plugins.wlrobs
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
@ -3,6 +3,8 @@ with lib;
|
|||
let
|
||||
psCfg = config.pub-solar;
|
||||
cfg = config.pub-solar.virtualisation;
|
||||
doesGaming = config.pub-solar.gaming.enable;
|
||||
extraObsPlugins = if doesGaming then [ pkgs.obs-studio-plugins.looking-glass-obs ] else [ ];
|
||||
in
|
||||
{
|
||||
options.pub-solar.virtualisation = {
|
||||
|
@ -32,17 +34,26 @@ in
|
|||
virt-manager
|
||||
python38Packages.libvirt
|
||||
gvfs
|
||||
scream
|
||||
edk2
|
||||
OVMF
|
||||
win-virtio
|
||||
looking-glass-client
|
||||
lgcl
|
||||
];
|
||||
|
||||
home-manager = with pkgs; pkgs.lib.setAttrByPath [ "users" psCfg.user.name ] {
|
||||
xdg.dataFile."libvirt/.keep".text = "# this file is here to generate the directory";
|
||||
home.packages = extraObsPlugins;
|
||||
};
|
||||
|
||||
systemd.tmpfiles.rules = [ "f /dev/shm/scream-ivshmem 0660 ${psCfg.user.name} kvm" ];
|
||||
systemd.user.services.scream-ivshmem-pulse = import ./scream-ivshmem-pulse.service.nix pkgs;
|
||||
systemd.tmpfiles.rules = [
|
||||
"f /dev/shm/looking-glass 0660 ${psCfg.user.name} kvm"
|
||||
];
|
||||
networking.bridges.virbr1.interfaces = [ ];
|
||||
networking.interfaces.virbr1 = {
|
||||
ipv4.addresses = [
|
||||
{ address = "192.168.123.1"; prefixLength = 24; }
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -16,12 +16,14 @@ channels: final: prev: {
|
|||
qutebrowser
|
||||
signal-desktop
|
||||
tdesktop
|
||||
obs-studio
|
||||
starship
|
||||
deploy-rs
|
||||
xdg-desktop-portal
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-wlr
|
||||
obs-studio
|
||||
obs-studio-plugins
|
||||
looking-glass-client
|
||||
;
|
||||
|
||||
haskellPackages = prev.haskellPackages.override
|
||||
|
|
|
@ -4,6 +4,7 @@ final: prev:
|
|||
sources = prev.callPackage (import ./_sources/generated.nix) { };
|
||||
# then, call packages with `final.callPackage`
|
||||
import-gtk-settings = writeShellScriptBin "import-gtk-settings" (import ./import-gtk-settings.nix final);
|
||||
lgcl = writeShellScriptBin "lgcl" (import ./lgcl.nix final);
|
||||
mailto-mutt = writeShellScriptBin "mailto-mutt" (import ./mailto-mutt.nix final);
|
||||
mopidy-jellyfin = import ./mopidy-jellyfin.nix final;
|
||||
mu = writeShellScriptBin "mu" (import ./mu.nix final);
|
||||
|
|
3
pkgs/lgcl.nix
Normal file
3
pkgs/lgcl.nix
Normal file
|
@ -0,0 +1,3 @@
|
|||
self: with self; ''
|
||||
${self.looking-glass-client}/bin/looking-glass-client -f /dev/shm/looking-glass input:ignoreWindowsKeys=yes input:grabKeyboardOnFocus=no
|
||||
''
|
Loading…
Reference in a new issue