dotfiles/modules/services.nix

73 lines
1.8 KiB
Nix

## Controls the bulk of system services other than bootloader and networking
{ inputs, config, pkgs, variables, ... }:
{
# Enables graphics
hardware.graphics.enable = true;
services = {
# Automatically mount removable media to /media
udisks2.enable = true;
udisks2.mountOnMedia = true;
# Schedulers
cron.enable = true;
atd.enable = true;
# Power stuff
upower.enable = true;
logind.settings.Login = {
HandleLidSwitch = "suspend-then-hibernate";
HandlePowerKey = "poweroff";
};
# VFS stuff
envfs.enable = true;
gvfs.enable = true;
# Audio
pipewire = {
enable = true;
audio.enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
wireplumber.enable = true;
};
# Location services
locate = {
enable = false;
package = pkgs.plocate;
};
# Temp management
thermald.enable = true;
# X11
# xserver = {
# enable = true;
# xkb.layout = "us";
# xkb.variant = "";
# };
};
# Allows sudo stuff with fuse for mounting shit
programs.fuse.userAllowOther = true;
# Power management
powerManagement.enable = true;
# if you ever need appimages this is magic code that does magic
boot.binfmt.registrations.appimage = {
wrapInterpreterInShell = false;
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
recognitionType = "magic";
offset = 0;
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
magicOrExtension = ''\x7fELF....AI\x02'';
};
# Security & encryption
security.polkit.enable = true;
security.rtkit.enable = true;
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
# Themeing
qt = {
enable = true;
platformTheme = "gtk2";
style = "gtk2";
};
}