configuration.nix
Branches > main > d3c0a10 > files / nixos / machines / chromebook / configuration.nix
{ config, lib, pkgs, callPackage, ... }:
{
imports = [
./hardware-configuration.nix
(import ../../modules/base.nix {inherit pkgs;})
(import ../../modules/i3.nix {inherit pkgs;})
(import ../../modules/bluetooth.nix {inherit pkgs;})
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
home-manager.backupFileExtension = "backup-home";
networking.hostName = "chromebook";
services.tlp.enable = true;
services.logind.settings.Login.HandleLidSwitch = "suspend";
## Lock the screen before suspending (lid close), password to get back in
programs.xss-lock = {
enable = true;
lockerCommand = "${pkgs.i3lock}/bin/i3lock --nofork --color 000000";
extraOptions = [ "--transfer-sleep-lock" ];
};
powerManagement.cpuFreqGovernor = "schedutil";
## Only 4GB RAM: compressed swap in RAM, and kill the hog early instead of freezing
zramSwap = {
enable = true;
memoryPercent = 100;
};
boot.kernel.sysctl."vm.swappiness" = 180;
services.earlyoom = {
enable = true;
freeMemThreshold = 5;
enableNotifications = true;
};
systemd.oomd.enable = false;
services.xserver.videoDrivers = ["amdgpu"];
services.usbmuxd = {
enable = true;
package = pkgs.usbmuxd2;
};
hardware.graphics.enable = true;
## Disable SSH gui popup thing?
programs.ssh.askPassword = "";
programs.ssh.startAgent = true;
services.udev.extraRules = ''
SUBSYSTEM=="hidraw", ATTRS{idVendor}=="feed", ATTRS{idProduct}=="400d", MODE="0666"
'';
programs.nix-ld.enable = true;
services.printing.enable = true;
services.blueman.enable = true;
hardware.bluetooth.powerOnBoot = lib.mkForce false; # save battery; turn on in blueman when needed
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
users.users.grahp = {
isNormalUser = true;
description = "Grahp";
extraGroups = ["networkmanager" "wheel" "dialout"];
shell = pkgs.fish;
};
services.openssh = {
enable = true;
};
programs.fish.enable = true;
environment.shells = [pkgs.fish];
## No touchy says the comment!
system.stateVersion = "24.11";
}