mirror of
https://codeberg.org/privacy1st/nix-git
synced 2025-01-09 04:51:20 +01:00
103 lines
3.1 KiB
Nix
103 lines
3.1 KiB
Nix
{ 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; [
|
||
# 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;
|
||
|
||
# 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 won’t 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"
|
||
];
|
||
};
|
||
}
|