{ config, pkgs, lib, ... }: { nixpkgs.config.allowUnfree = true; environment.systemPackages = with pkgs; [ kitty qbittorrent ncdu wireguard-tools jellyfin gcc toybox ]; programs.ssh.startAgent = true; services.gnome.gcr-ssh-agent.enable = lib.mkForce false; # Failed to restart network-addresses-vboxnet0.service # virtualisation.virtualbox.host.enable = lib.mkDefault true; virtualisation.libvirtd.enable = lib.mkDefault true; virtualisation.spiceUSBRedirection.enable = lib.mkDefault true; programs.virt-manager.enable = lib.mkDefault true; programs.firefox.enable = lib.mkDefault true; programs.zsh.enable = true; programs.neovim = { enable = true; defaultEditor = true; configure = { customRC = '' set runtimepath^=${pkgs.vimPlugins.jellybeans-vim} colorscheme jellybeans set number set cc=80 set list set listchars=tab:→\ ,space:·,nbsp:␣,trail:•,eol:¶,precedes:«,extends:» if &diff colorscheme blue endif ''; packages.myVimPackage = with pkgs.vimPlugins; { start = [ ctrlp ]; }; }; }; programs.steam = { enable = lib.mkDefault true; remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server }; }