mirror of
https://codeberg.org/privacy1st/nix-git
synced 2024-11-25 22:35:03 +01:00
105 lines
3.6 KiB
Nix
105 lines
3.6 KiB
Nix
{ config, pkgs, ... }:
|
||
{
|
||
# 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 unfree packages.
|
||
nixpkgs.config.allowUnfree = false;
|
||
|
||
# Bootloader.
|
||
boot.loader.systemd-boot.enable = true;
|
||
boot.loader.efi.canTouchEfiVariables = true;
|
||
|
||
# Enables wireless support via wpa_supplicant.
|
||
# networking.wireless.enable = true;
|
||
|
||
# Enable networking.
|
||
networking.networkmanager.enable = true;
|
||
|
||
networking.nameservers = [
|
||
# https://www.kuketz-blog.de/empfehlungsecke/#dns
|
||
# dot.ffmuc.net (supports DNSSEC)
|
||
"5.1.66.255" "185.150.99.255"
|
||
# https://www.kuketz-blog.de/empfehlungsecke/#dns
|
||
# unfiltered.adguard-dns.com (supports DNSSEC)
|
||
"94.140.14.140" "94.140.14.141"
|
||
];
|
||
|
||
# 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; [
|
||
# Nix dependency management.
|
||
niv
|
||
];
|
||
};
|
||
|
||
# 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;
|
||
|
||
# https://nixos.wiki/wiki/Storage_optimization#Automation
|
||
nix.gc = {
|
||
automatic = true;
|
||
dates = "weekly";
|
||
# Options given to nix-collect-garbage.
|
||
# They are documented here: https://nixos.org/manual/nix/stable/command-ref/nix-collect-garbage
|
||
# The `--delete-older-than <period` option refers the manual for `nix-env --delete-generations <period>`: https://nixos.org/manual/nix/stable/command-ref/nix-env/delete-generations#generations-time
|
||
# There, two meanings of <period> are described. The second one is:
|
||
# +<number>: Keep the last number generations, along with any newer than current.
|
||
# TODO: +7 does currently not work. There is an open issue: https://github.com/NixOS/nixpkgs/issues/282884
|
||
options = "--delete-older-than +7";
|
||
};
|
||
|
||
# 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;
|
||
}
|