{ self, config, lib, pkgs, ... }: let inherit (lib) fileContents; in { nix.systemFeatures = [ "nixos-test" "benchmark" "big-parallel" "kvm" ]; nix.registry.nixpkgs.flake = self.inputs.nixos; # Fix zsh autocompletion with home-manager environment.pathsToLink = [ "/share/zsh" ]; environment = { systemPackages = with pkgs; [ binutils coreutils psmisc curl direnv dnsutils dosfstools fd fzf git bat neovim bottom gptfdisk file iputils jq manix moreutils nix-index tmux nmap ripgrep skim tealdeer whois nixpkgs-fmt libqalculate ]; }; fonts = { fonts = with pkgs; [ powerline-fonts dejavu_fonts twitter-color-emoji ]; fontconfig.defaultFonts = { monospace = [ "DejaVu Sans Mono for Powerline" ]; sansSerif = [ "DejaVu Sans" ]; emoji = [ "Twitter Color Emoji" ]; }; }; nix = { autoOptimiseStore = true; gc.automatic = true; optimise.automatic = true; useSandbox = true; allowedUsers = [ "@wheel" ]; trustedUsers = [ "root" "@wheel" ]; extraOptions = '' keep-outputs = true keep-derivations = true fallback = true ''; }; time.timeZone = "Europe/Warsaw"; i18n.defaultLocale = "en_US.UTF-8"; # For rage encryption, all hosts need a ssh key pair services.openssh = { enable = true; openFirewall = lib.mkDefault false; }; services.earlyoom.enable = true; users.mutableUsers = false; console.keyMap = "pl"; }