dotfiles/modules/base.nix

98 lines
2.2 KiB
Nix

{ inputs, config, pkgs, variables, ... }:
{
environment.systemPackages = with pkgs;
[
bash
git
linux-firmware
kitty
nano
neovim
fastfetch # replacing neofetch
pipewire
wget
unzip
zip
];
fonts.packages = with pkgs; [
noto-fonts-color-emoji
noto-fonts-monochrome-emoji
libertine
liberation_ttf
fira-code-symbols
mplus-outline-fonts.githubRelease
dina-font
proggyfonts
garamond-libre
nerd-fonts = [
noto
shure-tech-mono
fira-code
dejavu-sans-mono
]
];
hardware.graphics.enable = true;
services = {
# Automatically mount removable media to /media
udisks2.enable = true;
udisks2.mountOnMedia = true;
# Schedulers
cron.enable = true;
atd.enable = true;
# Not certain if this one is necessary, it gens thumbnails
tumbler.enable = true;
# Power stuff
upower.enable = true;
logind.settings.Login = {
HandleLidSwitch = "suspend-then-hibernate";
HandlePowerKey = "poweroff";
};
# Other stuff
envfs.enable = true;
flatpak.enable = true;
gvfs.enable = true;
pipewire = {
enable = true;
audio.enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
wireplumber.enable = true;
};
locate = {
enable = true;
package = pkgs.plocate;
};
xserver = {
enable = true;
xkb.layout = "us";
xkb.variant = "";
};
};
programs.fuse.userAllowOther = true;
programs.git.enable = true;
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.polkit.enable = true;
services.thermald.enable = true; # temp manager, likely unnecessary but better safe than sorry
security.rtkit.enable = true; # realtime scheduling for user processes, needed for pipewire
programs.gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
}