dotfiles/os/common.nix
Geoffrey Frogeye 8edb670486
syncthing: Declarative
I could split this commit in more but I won't.
The first commit in this repository said it would be the last legible
one, and I haven't followed that, so YOLO.
2024-06-23 23:57:03 +02:00

87 lines
2 KiB
Nix

{ pkgs, lib, config, ... }:
{
networking = {
hostName = config.frogeye.name;
domain = "geoffrey.frogeye.fr";
};
time.timeZone = "Europe/Amsterdam";
boot.tmp.cleanOnBoot = true;
# TODO qwerty-fr for console
# Enable CUPS to print documents
services.printing.enable = true;
# Enable passwordless sudo
# TODO execWheelOnly? sudo-rs?
security.sudo.extraRules = [{
groups = [ "wheel" ];
commands = [{
command = "ALL";
options = [ "NOPASSWD" ];
}];
}];
# UPST disko --root-mountpoint doesn't work when using flake, workaround:
disko.rootMountPoint = "/mnt/nixos";
environment.systemPackages = with pkgs; [
wget
kexec-tools
neovim # So we have a working editor in rescue mode
git # Needed for all the fetchFromGit in this repo on nixos-rebuild
];
i18n = {
defaultLocale = "en_GB.UTF-8";
extraLocaleSettings = {
LC_TIME = "en_DK.UTF-8"; # Should give YYYY-MM-DD but doesn't work for browser & Thunderbird :(
};
};
nix = {
package = pkgs.lix;
settings = {
experimental-features = [ "nix-command" "flakes" ];
warn-dirty = false;
};
};
programs = {
adb.enable = true;
# 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
less.lessopen = null; # Don't use lessopen
# Let users mount disks
udevil.enable = true;
};
services = {
# Enable the OpenSSH daemon
openssh.enable = true;
# Time sychronisation
chrony = {
enable = true;
servers = map (n: "${toString n}.europe.pool.ntp.org") (lib.lists.range 0 3);
};
# 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";
};
# TODO Hibernation?
# Use defaults from
system.stateVersion = "24.05";
}