# Edit this configuration file to define what should be installed on # your system. Help is available in the configuration.nix(5) man page # and in the NixOS manual (accessible by running ‘nixos-help’). { config, pkgs, ... }: let passwords = import ../common/passwords.crypt.nix; in { nixpkgs.config.allowUnfree = true; nix.binaryCachePublicKeys = [ "hydra.nixos.org-1:CNHJZBh9K4tP3EKF6FkkgeVYsS3ohTl+oS0Qa8bezVs=" ]; nix.binaryCaches = [ "https://cache.nixos.org" "https://hydra.nixos.org" ]; nix.trustedBinaryCaches = [ "https://cache.nixos.org" "https://hydra.nixos.org" ]; nix.daemonNiceLevel = 19; nix.daemonIONiceLevel = 7; imports = [ # Include the results of the hardware scan. ./hardware-configuration.nix ]; networking.hostName = "steveej-laptop2"; # Define your hostname. fonts = { enableCoreFonts = true; }; i18n = { defaultLocale = "en_US.UTF-8"; }; # Set your time zone. time.timeZone = "Europe/Amsterdam"; networking.firewall.enable = false; networking.networkmanager = { enable = true; unmanaged = [ "interface-name:veth*" "interface-name:virbr*" "interface-name:br*" "interface-name:*vbox*" "interface-name:*cni*" ]; }; programs.bash = { enableCompletion = true; promptInit = '' function exitstatus() { if [[ $? -eq 0 ]]; then printf '✓' else printf '✗' fi } function nixshellEval { if [[ "$1" != "" ]]; then printf "»$1« " fi } function setPS1 { if test "$TERM" != "dumb"; then # Provide a nice prompt. BLUE="\[\033[0;34m\]" RED="\[\033[1;31m\]" GREEN="\[\033[1;32m\]" NO_COLOR="\[\033[0m\]" PROMPT_COLOR=$RED let $UID && PROMPT_COLOR=$GREEN PS1="$PROMPT_COLOR\u$NO_COLOR@\h \$(exitstatus) \$(nixshellEval $1)$BLUE\w$NO_COLOR\n$PROMPT_COLOR\\$ $NO_COLOR" if test "$TERM" = "xterm"; then PS1="\[\033]2;\h:\u:\w\007\]$PS1" fi fi } setPS1 ''; }; services.xserver = { libinput.enable = true; libinput.naturalScrolling = true; videoDrivers = [ "qxl" "intel" ]; enable = true; layout = "us"; windowManager.qtile.enable = true; desktopManager = { xterm.enable = false; gnome3.enable = true; }; displayManager = { slim = { enable = true; theme = pkgs.fetchFromGitHub { owner = "steveej"; repo = "nixos-slim-theme"; rev = "eec04a624113db835f2b5960d305e242da9dbc2a"; sha256 = "146zmr5rzwxq5mz6b7108a3ksf3nvqxrr8bvi82jsw6xqji4i5f5"; }; autoLogin = false; defaultUser = "steveej"; }; # sessionCommands = '' # xscreensaver -no-splash & # ${pkgs.networkmanagerapplet}/bin/nm-applet & # $(sleep 2; xmodmap /home/steveej/.Xmodmap) & # ''; }; }; users.mutableUsers = false; users.extraUsers.root = { hashedPassword = passwords.users.root; openssh.authorizedKeys.keys = ["ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQD3niN5KcIYikRhXTYZCSehI1ZQs+vvG/dZ7KxNVHslfsS+p1yTycXcZFtDDn5vtG2fAo3yksxCk+G10/AWQ+NMOcFKuAi5qTOYSLbEcHVlZ4ko8sDUe3fF79vrCqY7IWbKKjZ4DH77Qs6SXk5GIlNaIzxut8Dpv8qHnkPiPuFgrJC4oGk60ZKmCPvOEpgg9twcdI6ykIxD4Fg+hHgG1p07uSEcm9EADli8RsU3UJ1UBhXMohMC6HrKVBkBX9wTo+zY+xqXxxem6xGNnkNiZLACfhCnjXv39zh85pgFuNv7R8SzVZQ9iRoCmax/w3JtWdDjqoTGgLfJyhMMjNdjVHOx steveej@steveej-laptop"]; }; users.extraUsers.steveej = { uid = 1000; isNormalUser = true; home = "/home/steveej"; extraGroups = [ "wheel" "libvirtd" "networkmanager" "vboxusers" ]; hashedPassword = passwords.users.steveej; }; services.gpm.enable = true; services.openssh.enable = true; services.openssh.permitRootLogin = "yes"; # List packages installed in system profile. To search by name, run: # $ nix-env -qaP | grep wget environment.systemPackages = with pkgs; [ xorg.xmodmap wget vim roxterm ]; # The NixOS release to be compatible with for stateful data such as databases. system.stateVersion = "16.09"; }