{ config, lib, pkgs, ... }: { programs.zsh.enable = true; programs.tmux.enable = true; nixpkgs.config.packageOverrides = pkgs: { libsignal-protocol-c = pkgs.callPackage ../pkgs/libsignal-c/default.nix { }; keycloak = pkgs.callPackage ../pkgs/keycloak/default.nix { }; }; users.users.root.openssh.authorizedKeys.keys = ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCgvHMjYQ5Ty7Em2Seji6dvYhgQUIbyhiHdzRINYpiOUMuVA8wgJOV0ZggmFFTO5zfJ83m7E5nc/zMuBVHwkx1gJz5ic8YdO9eLIhymQn9R+9fyLA+g+h8uwTi7UlFmQp+My7MYYxdA2tet1wwgm39Yu49mxi8lARUgi4awXn5K/ZFy08GyjGia2E/YKx2gXPKhHsWFKWPO5u8ik0v8AFCliY2wXiG4jkZE2zI0gI5FUp66tpxkaOSZqreH+lVJw+S+GAJIqzGI99zqZsAdpr7m4WALZEYwj9D7/lattSG14CAjXxjqcMSsfi6fV0ZsF1O40eoZ9mNQpIvatXtL6HBSN3kuUfraQMeB8o5kbxwyXt2Fr5hMKtEGYlMv5uPqdn+yHcC51F3RkUxFJplOFwZ3Rh/AjLLMKo+vEtL9UjhTuYiSQ0ySunY5JbBVkJY4z3pLT9MOPnq+KIfBMFBI/eYE6yeMNTHxIFMDaNMFOxWc0SoBDhgZJX5eblYidt/YWMOEPbqJNCrWIzQwtDsiYsF9JS/3D5civwTP/oaASaiJWTAvluwbibMFAC1OSBFb20xM5gD0C1q05pxVMN3Ioy1P0CIvJMLWfQR1yrNbnmoGUGHeSA/gwaxqMg7G+P/SBIheDAYEu5fzXXgFgO3sI8JvIdc1NTJMmHktahb/ecG1MQ== cardno:000605483586"]; networking.networkmanager.unmanaged = [ "interface-name:wg*" ]; # TODO: replace with programs.neovim.enable nixpkgs.overlays = [ (final: prev: { neovim = prev.neovim.override { viAlias = true; vimAlias = true; }; }) ]; environment.variables.EDITOR = "${pkgs.neovim}/bin/nvim"; environment.systemPackages = with pkgs; [ bat bwm_ng clang coreutils direnv dnsutils emacs exa fd fzf git gitFull gnupg haskellPackages.hledger hledger htop iotop ledger moreutils mosh most neovim nix-index p7zip pass ripgrep rustup silver-searcher sqlite stow unrar unzip whois zoxide (rWrapper.override { packages = with rPackages; [ data_table ggplot2 hms viridis lubridate ]; }) ]; time.timeZone = "America/New_York"; services = { postgresql = { dataDir = "/var/db/postgresql"; package = pkgs.postgresql95; }; openssh.passwordAuthentication = false; openssh.challengeResponseAuthentication = false; }; nix = rec { useSandbox = lib.mkDefault true; maxJobs = lib.mkOverride 110 16; buildCores = lib.mkDefault 0; # auto configure gc.automatic = lib.mkDefault true; trustedBinaryCaches = [ "https://cache.nixos.org" ]; binaryCaches = trustedBinaryCaches; daemonNiceLevel = 10; daemonIONiceLevel = 10; package = pkgs.nixFlakes; extraOptions = '' experimental-features = nix-command flakes ''; }; boot.cleanTmpDir = true; nixpkgs.config.allowUnfree = true; }