{ config, pkgs, ... }: { imports = [ # Shell settings #. ./bash.nix # bash settings. ./zsh.nix # zsh as default shell for yoda and root. ./fzf.nix # Fuzzy command history and file search. # DNS settings. # # TODO add nix option ./dns.nix # Encrypted DNS queries to custom name servers. #./dns-unencrypted.nix # Custom name servers. # 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 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" ]; }; }