Files
nix/laptop.nix

63 lines
1.4 KiB
Nix

{
config,
lib,
pkgs,
...
}:
let
emacsWithPackages = (pkgs.emacsPackagesFor pkgs.emacs30-pgtk).emacsWithPackages;
myemacs = emacsWithPackages (epkgs: [ epkgs.mu4e ]);
in
{
services.pcscd.enable = true;
services.fwupd.enable = true;
environment.systemPackages = with pkgs; [
brightnessctl
ghostscript
fprintd
font-awesome
myemacs
virtiofsd
rocmPackages.rocm-smi
];
users.users.joe.packages = with pkgs; [
system76-keyboard-configurator
(import ./scripts/sat-connect.nix { inherit pkgs; })
];
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
services.acpid = {
enable = true;
handlers.lidClosed = {
event = "button/lid \\w+ close";
action = ''
cat /sys/class/backlight/amdgpu_bl2/device/enabled
if grep -Fxq disabled /sys/class/backlight/amdgpu_bl2/device/enabled
then
echo "Lid closed. Disabling fprintd."
systemctl stop fprintd
ln -s /dev/null /run/systemd/transient/fprintd.service
systemctl daemon-reload
fi
'';
};
handlers.lidOpen = {
event = "button/lid \\w+ open";
action = ''
if ! $(systemctl is-active --quiet fprintd); then
echo "Lid open. Enabling fprintd."
rm -f /run/systemd/transient/fprintd.service
systemctl daemon-reload
systemctl start fprintd
fi
'';
};
};
}