dotfiles/config/nix/os/common.nix

74 lines
1.6 KiB
Nix
Raw Normal View History

2023-10-28 22:09:36 +02:00
{ pkgs, lib, ... }:
{
boot.loader.grub.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
time.timeZone = "Europe/Amsterdam";
# TODO qwerty-fr for console
# Enable CUPS to print documents
services.printing.enable = true;
# Enable passwordless sudo
security.sudo.extraRules = [{
groups = [ "wheel" ];
commands = [{
command = "ALL";
options = [ "NOPASSWD" ];
}];
}];
environment.systemPackages = with pkgs; [
wget
kexec-tools
openvpn
update-resolv-conf # TODO Is it what I think it is?
# android tools
android-udev-rules
];
programs = {
# Enable compilation cache
ccache.enable = true;
# TODO Not enough, see https://nixos.wiki/wiki/CCache.
# Might want to see if it's worth using on NixOS
gnupg.agent.enable = true;
# Let users mount disks
udevil.enable = true;
};
services = {
# Enable the OpenSSH daemon
openssh.enable = true;
getty.autologinUser = "geoffrey"; # DEBUG
# Time sychronisation
chrony = {
enable = true;
servers = map (n: "${toString n}.europe.pool.ntp.org") (lib.lists.range 0 3);
extraConfig = "rtcsync";
};
# Prevent power button from shutting down the computer.
# On Pinebook it's too easy to hit,
# on others I sometimes turn it off when unsuspending.
logind.extraConfig = "HandlePowerKey=ignore";
};
# FIXME services.openvpn.servers.<name>.updateResolvConf=true
# For profiles in the extensions
# TODO Hibernation?
# TEST
system.copySystemConfiguration = true;
# Use defaults from
system.stateVersion = "23.05";
}