nix-git/modules/base.nix

101 lines
3.1 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ config, pkgs, ... }:
{
imports = [
# DNS settings.
# TODO add nix option
./dns.nix
#./dns-unencrypted.nix
# Nix garbage collection.
./nix-gc.nix
# Display contact information during boot.
./initrd-contact-info.nix
];
# Firmware.
#
# The list of hardware.enableAllFirmware contains non-redistributable licensed firmware files.
# This requires nixpkgs.config.allowUnfree to be true.
# An alternative is to use the hardware.enableRedistributableFirmware option.
hardware.enableAllFirmware = false;
#
# Enables e.g. Intel microcode updates.
# Defaults to `config.hardware.enableAllFirmware`.
hardware.enableRedistributableFirmware = true;
# Allow **all** unfree packages.
# To whitelist individual unfree packages, see ./unfree.nix
nixpkgs.config.allowUnfree = false;
# Enables wireless support via wpa_supplicant.
# networking.wireless.enable = true;
# Enable networking.
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "Europe/Berlin";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "de_DE.UTF-8";
LC_IDENTIFICATION = "de_DE.UTF-8";
LC_MEASUREMENT = "de_DE.UTF-8";
LC_MONETARY = "de_DE.UTF-8";
LC_NAME = "de_DE.UTF-8";
LC_NUMERIC = "de_DE.UTF-8";
LC_PAPER = "de_DE.UTF-8";
LC_TELEPHONE = "de_DE.UTF-8";
LC_TIME = "de_DE.UTF-8";
};
console = {
#font = "Lat2-Terminus16";
# Configure console keymap.
keyMap = "de-latin1-nodeadkeys";
};
# Define a user account.
# Don't forget to set a password with `passwd`.
users.users.yoda = {
isNormalUser = true;
description = "Yoda";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [
];
};
# SystemMaxFileSize: Defaults to one eighth of the values configured with SystemMaxUse= and RuntimeMaxUse=, so that usually seven rotated journal files are kept as history.
# MaxFileSec: To ensure that not too much data is lost at once when old journal files are deleted, it might make sense to change this value from the default of one month.
# https://www.freedesktop.org/software/systemd/man/journald.conf.html
services.journald.extraConfig = ''
SystemMaxUse=800M
MaxFileSec=7day
'';
nix.settings.auto-optimise-store = true;
# Delete all files in /tmp during boot.
boot.tmp.cleanOnBoot = true;
# Whether to install NixOS's own documentation.
documentation.nixos.enable = false;
# Firewall.
# https://nixos.wiki/wiki/Firewall
# Note: Firewall rules may be bypassed/overwritten by Docker, as per https://github.com/NixOS/nixpkgs/issues/111852
networking.firewall.enable = true;
# Options only for build.system.vm - they wont get applied when building build.system.toplevel aka the normal system config.
# https://discourse.nixos.org/t/wayland-compositors-an-build-vm-not-working/46486/2
virtualisation.vmVariant = {
users.users.yoda.initialPassword = "asdf";
virtualisation.qemu.options = [
"-device virtio-vga-gl"
"-display sdl,gl=on,show-cursor=off"
"-m 8G"
];
};
}