mirror of
https://codeberg.org/privacy1st/nix-git
synced 2024-11-24 22:29:33 +01:00
109 lines
3.4 KiB
Nix
109 lines
3.4 KiB
Nix
{ config, pkgs, ... }:
|
|
{
|
|
# Firmware.
|
|
#
|
|
# Enables e.g. Intel microcode updates.
|
|
# Defaults to `config.hardware.enableAllFirmware`.
|
|
#hardware.enableRedistributableFirmware = true;
|
|
hardware.enableAllFirmware = true;
|
|
|
|
# Allow unfree packages.
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
# Bootloader.
|
|
boot.loader.systemd-boot.enable = true;
|
|
boot.loader.efi.canTouchEfiVariables = true;
|
|
|
|
# Setup keyfile.
|
|
boot.initrd.secrets = {
|
|
"/crypto_keyfile.bin" = null;
|
|
};
|
|
|
|
# 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
|
|
];
|
|
};
|
|
|
|
# List packages installed in system profile. To search, run:
|
|
# $ nix search wget
|
|
environment.systemPackages = 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;
|
|
|
|
# https://nixos.wiki/wiki/Storage_optimization#Automation
|
|
nix.gc = {
|
|
automatic = true;
|
|
dates = "weekly";
|
|
options = "--delete-older-than 7d";
|
|
};
|
|
|
|
# Delete all files in /tmp during boot.
|
|
boot.tmp.cleanOnBoot = true;
|
|
|
|
# Firewall.
|
|
# https://nixos.wiki/wiki/Firewall
|
|
# -> Firewall rules may be overwritten by docker, as per https://github.com/NixOS/nixpkgs/issues/111852
|
|
networking.firewall.enable = true;
|
|
|
|
# This value determines the NixOS release from which the default
|
|
# settings for stateful data, like file locations and database versions
|
|
# on your system were taken. It's perfectly fine and recommended to leave
|
|
# this value at the release version of the first install of this system.
|
|
# Before changing this value read the documentation for this option
|
|
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
|
system.stateVersion = "23.05"; # Did you read the comment?
|
|
}
|