{ config, pkgs, lib, ... }: { imports = [ ./hardware-configuration.nix ]; beatific.hostName = "unfolder"; beatific.defaults.tvbSync = false; # Bootloader. boot.loader.grub = { enable = true; device = "/dev/sda"; }; networking.networkmanager.enable = true; # Override time zone to PST time.timeZone = "America/Los_Angeles"; # Enable Gnome because it has a virtual keyboard for tablet mode services.xserver = { enable = true; displayManager.gdm.enable = true; desktopManager.gnome.enable = true; # keymap configuration layout = "us"; xkbVariant = ""; }; # Enable sound with pipewire. sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; }; systemd.user.services.yoga-rotate = { enable = false; # TODO description = "ThinkPad Yoga display rotation"; #wantedBy = ["multi-user.target"]; wantedBy = [ "graphical-session.target" ]; #requires = ["display-manager.service"]; partOf = [ "graphical-session.target" ]; #after = ["display-manager.service"]; path = [ pkgs.gnome-randr ]; serviceConfig = { #Type = "simple"; ExecStart = "${pkgs.python3}/bin/python /home/tvb/rotate.py"; #KillMode = "process"; #User = "tvb"; Restart = "on-failure"; RestartSec = 5; }; #environment = { # DISPLAY = ":0"; # XAUTHORITY = "/home/tvb/.Xauthority"; #}; }; users.users.tvb = { extraGroups = [ "networkmanager" ]; packages = with pkgs; [ gnome-randr python3 ]; }; environment.systemPackages = with pkgs; [ firefox libreoffice unzip syncthing mpv ]; networking.firewall = { enable = true; }; # This value governs how some stateful data, like databases, are handled # across different versions of NixOS. This should not be changed to a new # release unless the sysadmin has determined that no services would be # adversely affected by changing this. system.stateVersion = "22.11"; }