{ config, lib, pkgs, ... }: let nixpkgs = builtins.fetchTarball (import ../nixpkgs.nix); in { security = { sudo = { wheelNeedsPassword = false; }; }; networking = { hostName = "helium"; networkmanager.enable = true; }; time.timeZone = "America/New_York"; fonts.fonts = with pkgs; [ google-fonts mononoki source-code-pro fantasque-sans-mono hack-font fira fira-code fira-code-symbols ]; environment.systemPackages = [ pkgs.brightnessctl ]; nixpkgs = { config = { allowUnfree = true; allowBroken = true; }; }; hardware = { enableAllFirmware = true; bluetooth.enable = true; bluetooth.package = pkgs.bluezFull; opengl.enable = true; pulseaudio = { enable = true; extraConfig = '' load-module module-loopback ''; }; }; sound = { enable = true; mediaKeys = { enable = true; }; }; programs = { bash.enableCompletion = true; command-not-found.enable = true; light.enable = true; gnupg.agent = { enable = true; enableSSHSupport = true; }; mosh.enable = true; ssh.agentTimeout = "1h"; }; services = { pcscd = { enable = true; }; fractalart = { enable = true; }; logind = { lidSwitch = "suspend"; extraConfig = "IdleAction=lock"; }; printing.enable = true; xserver = { enable = true; autorun = true; layout = "us"; libinput.enable = true; xkbOptions = "caps:ctrl_modifier"; displayManager.sddm.enable = true; #session = [ # { # manage = "desktop"; # name = "home-manager"; # start = '' # ${pkgs.runtimeShell} $HOME/.hm-xsession & # waitPID=$! # ''; # } #]; windowManager.xmonad.enable = true; desktopManager = { xterm.enable = true; }; }; vnstat.enable = true; # security stuff fail2ban.enable = true; clamav = { daemon.enable = true; updater.enable = true; }; }; # Use the systemd-boot EFI boot loader. boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; powerManagement.enable = true; nix = { nixPath = [ "nixpkgs=${nixpkgs}" "nixos-config=/etc/nixos/configuration.nix" "/nix/var/nix/profiles/per-user/root/channels" ]; gc = { automatic = false; dates = "03:15"; }; binaryCaches = [ "https://cache.nixos.org/" ]; extraOptions = '' keep-outputs = true keep-derivations = true builders-use-substitutes = true ''; buildMachines = [ { hostName = "192.168.1.42"; sshUser = "ben"; sshKey = "/home/ben/.ssh/id_rsa"; system = "x86_64-linux"; } { hostName = "dev.simatime.com"; sshUser = "ben"; sshKey = "/home/ben/.ssh/id_rsa"; system = "x86_64-linux"; } ]; distributedBuilds = true; trustedUsers = [ "root" "ben" ]; }; # 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; }