78 lines
2.1 KiB
Nix
78 lines
2.1 KiB
Nix
## Controls the bulk of system services other than bootloader and networking
|
|
|
|
{ inputs, config, pkgs, variables, ... }:
|
|
{
|
|
# Enables graphics
|
|
hardware.graphics.enable = true;
|
|
services = {
|
|
# Enable KDE Plasma and its display manager, SDDM
|
|
desktopManager.plasma6.enable = true;
|
|
displayManager.sddm.enable = true;
|
|
displayManager.sddm.wayland.enable = true; # enables specifically wayland support
|
|
# 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--I prefer wayland, but just to be safe
|
|
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
|
|
# I don't understand it either, don't ask me how it works
|
|
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";
|
|
#};
|
|
}
|