snix/users/tazjin/nixos/khamovnik/default.nix
Vincent Ambo b9e0a682ab fix(users/tazjin): disable systemd user slice freezing
I have a suspicion that some systemd bugs around this feature (I actually
couldn't figure out what it does and why?) introduced in systemd 256 lead to
issues with suspend that I've seen in recent times.

In the issue, my machine is seemingly frozen after resuming from suspend. I'd
seen this previously on EXWM with xsecurelock, but now I'm seeing it on niri
with swaylock, where it is more severe because switching to a VT is impossible.

Upstream tickets:

- https://github.com/systemd/systemd/issues/33083
- https://github.com/systemd/systemd/issues/33626
- https://bugzilla.redhat.com/show_bug.cgi?id=2321268

I'm not running a VM, but there seem to be multiple different bugs leading to
this, so who knows. It's worth a try.

The long-term fix will be getting rid of systemd)

Change-Id: Ie985a3f222f3daac1e3c7db79ee8624c66297374
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12961
Autosubmit: tazjin <tazjin@tvl.su>
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2025-01-07 09:45:08 +00:00

145 lines
3.6 KiB
Nix

# Yandex work laptop
#
# Some of the configuration for this machine is not public.
{ depot, lib, pkgs, ... }:
config:
let
mod = name: depot.path.origSrc + ("/ops/modules/" + name);
usermod = name: depot.path.origSrc + ("/users/tazjin/nixos/modules/" + name);
private = /arc/junk/tazjin;
zdevice = device: {
inherit device;
fsType = "zfs";
};
in
{
imports = [
(usermod "chromium.nix")
(usermod "desktop.nix")
(usermod "fonts.nix")
(usermod "home-config.nix")
(usermod "laptop.nix")
(usermod "physical.nix")
(usermod "systemd-unfreeze.nix")
(pkgs.home-manager.src + "/nixos")
] ++ (if (builtins.pathExists private) then [
(private + "/nixos/yandex.nix")
(private + "/emacs/module.nix")
] else [ ]);
# from hardware-configuration.nix
boot = {
initrd.luks.devices."luks-9c3cd590-a648-450d-ae42-ed3859d4c717".device =
"/dev/disk/by-uuid/9c3cd590-a648-450d-ae42-ed3859d4c717";
initrd.availableKernelModules = [
"xhci_pci"
"thunderbolt"
"ahci"
"nvme"
"usb_storage"
"sd_mod"
"rtsx_pci_sdmmc"
];
kernelModules = [ "kvm-intel" ];
tmp.cleanOnBoot = true;
};
fileSystems = {
"/" = {
device = "/dev/disk/by-uuid/1f783029-c4f9-4192-b893-84f4f0c2a493";
fsType = "ext4";
};
"/boot" = {
device = "/dev/disk/by-uuid/DD01-2B3E";
fsType = "vfat";
};
};
swapDevices = [{
device = "/dev/disk/by-uuid/9b9049c5-5975-441d-9ac6-2f9150775fd6";
}];
tvl.cache.enable = true;
networking.hostName = "khamovnik";
networking.networkmanager.enable = true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
hardware.cpu.intel.updateMicrocode = true;
hardware.enableRedistributableFirmware = true;
hardware.graphics.extraPackages = with pkgs; [
intel-compute-runtime
intel-media-driver
intel-vaapi-driver
];
# from generated configuration.nix
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# Setup keyfile
boot.initrd.secrets = {
"/crypto_keyfile.bin" = null;
};
# Enable swap on luks
boot.initrd.luks.devices."luks-e9a4b4dc-ade2-45bf-8ed0-0ed5c4c392c9".device = "/dev/disk/by-uuid/e9a4b4dc-ade2-45bf-8ed0-0ed5c4c392c9";
boot.initrd.luks.devices."luks-e9a4b4dc-ade2-45bf-8ed0-0ed5c4c392c9".keyFile = "/crypto_keyfile.bin";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "ru_RU.UTF-8";
LC_IDENTIFICATION = "ru_RU.UTF-8";
LC_MEASUREMENT = "ru_RU.UTF-8";
LC_MONETARY = "ru_RU.UTF-8";
LC_NAME = "ru_RU.UTF-8";
LC_NUMERIC = "ru_RU.UTF-8";
LC_PAPER = "ru_RU.UTF-8";
LC_TELEPHONE = "ru_RU.UTF-8";
LC_TIME = "ru_RU.UTF-8";
};
# Enable sound with pipewire.
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
# Try to work around Intel CPU throttling bugs
services.throttled.enable = true;
# Try to get suspend to work more reliably
services.logind = {
lidSwitch = "suspend";
lidSwitchDocked = "suspend";
lidSwitchExternalPower = "suspend";
};
virtualisation.docker.enable = true;
hardware.bluetooth.enable = true;
users.users.tazjin.extraGroups = [ "tss" ];
environment.systemPackages = with pkgs; [
tdesktop
linuxPackages.perf
hotspot
protobuf
];
programs.adb.enable = true;
system.stateVersion = "23.05"; # Did you read the comment?
}