{ config, lib, pkgs, ... }: { networking = { hostName = "helium"; networkmanager.enable = true; }; time.timeZone = "America/Los_Angeles"; environment.systemPackages = with pkgs; [ wget vnstat ]; fonts.fonts = with pkgs; [ google-fonts mononoki source-code-pro fantasque-sans-mono hack-font fira fira-code fira-code-symbols ]; nixpkgs = { config = { allowUnfree = true; allowBroken = true; }; }; hardware = { opengl.enable = true; pulseaudio = { enable = true; extraConfig = '' load-module module-loopback ''; }; }; virtualisation = { libvirtd.enable = true; docker.enable = true; virtualbox.guest.enable = true; virtualbox.host.enable = true; virtualbox.host.headless = false; virtualbox.host.addNetworkInterface = true; }; programs = { bash.enableCompletion = true; command-not-found.enable = true; gnupg.agent = { enable = true; enableSSHSupport = true; }; mosh.enable = true; }; services = { pcscd = { enable = true; }; fractalart = { enable = true; }; logind = { lidSwitch = "suspend"; extraConfig = "IdleAction=lock"; }; printing.enable = true; xserver = { enable = true; layout = "us"; libinput.enable = true; displayManager.sddm.enable = true; desktopManager = { plasma5.enable = true; xterm.enable = true; }; }; vnstat.enable = true; # security stuff fail2ban.enable = false; clamav = { daemon.enable = false; updater.enable = false; }; }; # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; powerManagement.enable = true; nix = { gc = { automatic = true; dates = "03:15"; }; binaryCaches = [ "https://cache.nixos.org/" ]; nixPath = [ "nixpkgs=/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs" "nixos-config=/etc/nixos/configuration.nix" "/nix/var/nix/profiles/per-user/root/channels" ]; extraOptions = '' gc-keep-outputs = true gc-keep-derivations = true ''; }; # This value determines the NixOS release with which your system is to be # compatible, in order to avoid breaking some software such as database # servers. You should change this only after NixOS release notes say you # should. system.stateVersion = "19.03"; # Did you read the comment? system.autoUpgrade.enable = true; }