nixos/configuration.nix
2023-01-27 11:49:31 -05:00

101 lines
2 KiB
Nix

{
pkgs,
settings,
...
}: {
system.stateVersion = settings.version;
environment = {
defaultPackages = []; #don't install anything by default
binsh = "${pkgs.dash}/bin/dash"; #use dash for speed
variables = {
EDITOR = "vi";
VISUAL = "vi";
PAGER = "page";
SYSTEMD_PAGERSECURE = "true";
TERMINAL = "st";
};
shellAliases = {
ls = "exa --long --icons";
};
interactiveShellInit = ''
neofetch
'';
};
security.sudo = {
enable = true;
execWheelOnly = true;
extraConfig = ''
Defaults env_keep += "EDITOR VISUAL PAGER SYSTEMD_PAGERSECURE TERMINAL"
'';
};
#hardware stuff
hardware = {
enableRedistributableFirmware = true;
opengl = {
enable = true;
driSupport = true;
driSupport32Bit = true;
};
};
#sound settings
security.rtkit.enable = true;
sound.enable = false; #disable alsa
services.pipewire = {
enable = true;
wireplumber.enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
networking = {
firewall = {
enable = true;
allowPing = true;
};
networkmanager.enable = true;
};
#enable ssh
programs = {
mtr.enable = true; #ping and traceroute
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
};
services.openssh = {
enable = true;
settings = {
PermitRootLogin = "yes";
PasswordAuthentication = false;
KbdInteractiveAuthentication = false;
};
};
#themeing
qt = {
enable = true;
style = "gtk2";
platformTheme = "gtk2";
};
#time settings
time.timeZone = "America/New_York";
services = {
timesyncd = {
enable = true;
servers = [
"time.google.com"
"time2.google.com"
];
};
};
#terminal stuff
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
useXkbConfig = true;
};
programs.dconf.enable = true;
services.gvfs.enable = true; #gvfs for pcmanfm
}