163 lines
3.9 KiB
Nix
163 lines
3.9 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
{
|
|
services.xserver = {
|
|
enable = true;
|
|
desktopManager.phosh = {
|
|
enable = true;
|
|
user = "engr-ugaif";
|
|
group = "users";
|
|
};
|
|
};
|
|
|
|
services.displayManager.gdm = {
|
|
enable = true;
|
|
autoSuspend = false;
|
|
};
|
|
services.displayManager.autoLogin = {
|
|
enable = true;
|
|
user = "engr-ugaif";
|
|
};
|
|
|
|
services.dbus.enable = true;
|
|
|
|
services.fwupd.enable = true;
|
|
|
|
i18n.inputMethod = {
|
|
type = "ibus";
|
|
enable = true;
|
|
ibus.engines = [ pkgs.ibus-engines.m17n ];
|
|
};
|
|
|
|
services.gnome.gnome-keyring.enable = lib.mkForce false;
|
|
|
|
environment.sessionVariables = {
|
|
GDK_SCALE = "1.25";
|
|
GDK_DPI_SCALE = "0.5";
|
|
|
|
# Make GLib / gsettings actually see schemas
|
|
XDG_DATA_DIRS = [
|
|
"/run/current-system/sw/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}"
|
|
];
|
|
GSETTINGS_SCHEMA_DIR = "/run/current-system/sw/share/gsettings-schemas/${pkgs.gsettings-desktop-schemas.name}/glib-2.0/schemas";
|
|
};
|
|
|
|
environment.etc."machine-info".text = ''
|
|
CHASSIS=handset
|
|
'';
|
|
|
|
services.logind.settings.Login = {
|
|
HandlePowerKey = "ignore";
|
|
HandleSuspendKey = "ignore";
|
|
HandleHibernateKey = "ignore";
|
|
HandleLidSwitch = "ignore";
|
|
HandleLidSwitchExternalPower = "ignore";
|
|
IdleAction = "ignore";
|
|
};
|
|
|
|
# Enable networking
|
|
networking.networkmanager.enable = false;
|
|
networking.wireless = {
|
|
enable = true;
|
|
networks = {
|
|
"IOT_vr" = {
|
|
ssid = "IOT_vr";
|
|
pskRaw = "849a13f095b73a3d038a904576fd8ad4b83da81d285acaf435b545c1560c7e27";
|
|
authProtocols = [ "WPA-PSK" ];
|
|
};
|
|
"IOT_sensors".psk = "aaaaaaaa";
|
|
};
|
|
};
|
|
|
|
# Enable sound with pipewire.
|
|
services.pulseaudio.enable = false;
|
|
security.rtkit.enable = true;
|
|
services.pipewire = {
|
|
enable = true;
|
|
alsa.enable = true;
|
|
alsa.support32Bit = true;
|
|
pulse.enable = true;
|
|
wireplumber.enable = true;
|
|
};
|
|
|
|
fonts.packages = with pkgs; [
|
|
nerd-fonts.fira-code
|
|
];
|
|
fonts.fontconfig = {
|
|
enable = true;
|
|
defaultFonts.monospace = [ "FiraCode Nerd Font Mono" ];
|
|
};
|
|
|
|
systemd.user.services.squeekboard = {
|
|
description = "Squeekboard on-screen keyboard";
|
|
wantedBy = [ "graphical-session.target" ];
|
|
partOf = [ "graphical-session.target" ];
|
|
|
|
serviceConfig = {
|
|
ExecStart = "${pkgs.squeekboard}/bin/squeekboard";
|
|
Restart = "on-failure";
|
|
};
|
|
};
|
|
|
|
systemd.user.services."force-osk" = {
|
|
description = "Force the OSK to Enable";
|
|
wantedBy = [ "chromium-kiosk.service" ];
|
|
partOf = [ "chromium-kiosk.service" ];
|
|
|
|
serviceConfig = {
|
|
ExecStartPre = ''
|
|
/run/current-system/sw/bin/sleep 5
|
|
'';
|
|
ExecStart = ''
|
|
/run/current-system/sw/bin/dconf reset /org/gnome/desktop/a11y/applications/screen-keyboard-enabled
|
|
'';
|
|
Type = "simple";
|
|
};
|
|
};
|
|
|
|
systemd.user.services."force-input-sources" = {
|
|
description = "Force the Gsettings Input Sources";
|
|
wantedBy = [ "chromium-kiosk.service" ];
|
|
partOf = [ "chromium-kiosk.service" ];
|
|
|
|
serviceConfig = {
|
|
ExecStartPre = ''
|
|
/run/current-system/sw/bin/sleep 5
|
|
'';
|
|
ExecStart = ''
|
|
/run/current-system/sw/bin/dconf reset /org/gnome/desktop/input-sources/sources
|
|
'';
|
|
ExecStartPost = ''
|
|
/run/current-system/sw/bin/dconf reset /org/gnome/desktop/mru-sources/sources
|
|
'';
|
|
|
|
Type = "simple";
|
|
};
|
|
};
|
|
|
|
systemd.user.services."chromium-kiosk" = {
|
|
description = "Chromium kiosk";
|
|
wantedBy = [ "graphical-session.target" ];
|
|
partOf = [ "graphical-session.target" ];
|
|
|
|
serviceConfig = {
|
|
ExecStart = ''
|
|
${pkgs.chromium}/bin/chromium \
|
|
--enable-features=UseOzonePlatform,TouchpadOverscrollHistoryNavigation,PullToRefresh \
|
|
--ozone-platform=wayland \
|
|
--kiosk \
|
|
--start-fullscreen \
|
|
--noerrdialogs \
|
|
--disable-session-crashed-bubble \
|
|
--disable-infobars \
|
|
${config.athenix.sw.kioskUrl}
|
|
'';
|
|
};
|
|
};
|
|
}
|