Skip to content

Instantly share code, notes, and snippets.

@peterstuart
Created October 1, 2020 00:59
Show Gist options
  • Save peterstuart/60c890442187ca9684bee23957db7fd8 to your computer and use it in GitHub Desktop.
Save peterstuart/60c890442187ca9684bee23957db7fd8 to your computer and use it in GitHub Desktop.
# 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, options, ... }:
{
imports =
[ # Include the results of the hardware scan.
/etc/nixos/hardware-configuration.nix
/etc/nixos/cachix.nix
];
# Use the systemd-boot EFI boot loader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
# networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# The global useDHCP flag is deprecated, therefore explicitly set to false here.
# Per-interface useDHCP will be mandatory in the future, so this generated config
# replicates the default behaviour.
networking.useDHCP = false;
networking.interfaces.eno2.useDHCP = true;
networking.interfaces.wlo1.useDHCP = true;
networking.hostName = "nixos";
networking.networkmanager.enable = true;
system.stateVersion = "20.03"; # Did you read the comment?
nixpkgs.overlays = [
(import (builtins.fetchTarball {
url = https://github.com/nix-community/emacs-overlay/archive/master.tar.gz;
}))
];
nixpkgs.config.allowUnfree = true;
nix.gc.automatic = true;
nix.gc.dates = "03:15";
nix.gc.options = "--delete-older-than 14d";
users.users.peter = {
isNormalUser = true;
extraGroups = [ "wheel" "docker" ];
shell = pkgs.zsh;
openssh = {
authorizedKeys = {
keys = [ "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQC0RZq9xZS3TW6pYE1mPIIY2X8u8jObNtR2o9e81yulGw5zeoxM/+2ZS+sxuMkOnCuFxZgtM38h1ChpFkaBhtz27/SWyehA8ubAieSj0t9aBhYgdnjc0OVEofLmYvYR/dfEqOgMmInZe5FXVkVT4RpMrl3ZFJL3ymahXVFFRqY9RtnTmzK09QiCPFjdRFG5ZAgnFJ5ROaIc0QWiEJgBqjGtCBm2hS6kbUmv+Lu3sSdZ3aJbN3MX9FgMJuUa/zBZaQWbNNFyNFJTtSd8n/6pGFJYiuX0YSxhItArU0QNd8DVmELPl0VmTxBu/a5vQT/KNgmS1Y8x0j4fXVYtVG94WhOOVEPWtM1armpw139Iz+v4buFL0JZj9RokaiKM1N9NCQfkIa+DgelSmvqpD1bOgM92UP9SHXaGY/luZOkY4Z0px9VLW+Ljb3iM+apSvH1HGH0QvL7oZM8qMVbl6IJr4KBfkRrklRBixIxIGWjRjp/pcsolaNOZF3Xjg92gX6sX575Mytc1ewIPwfB4DaO3C6kuIEgzQrS9ujb24OoUIlzmlrEPl261TvMBdcRFaUAvRLy3DA0ixFPisPtfQgwbKr3K1v1XUAjdY20Mch5y6bl7uyO37/mBT8F6UdPBZFxPcyGGcN3UCpQ2xE71xI83CLj6i7V5bBGV+ZRDiH9KPQXz2w== peter@peterstuart.org" "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCrGKnhDMnvF2CvEpVWLRrVZd7T2C0GcRepcebZHG+l+d0+ihh0kaQ5pZrykMU3V+/0MJx6yIKBiUrF7b25fR/9YHst7+Rli4WgdB1nQCd2TGjRcV77pPjQhvZJghlPreecGLncK0cA4+1hAUQKeakYSl3t90pqYkVSeBZKXzQk74jJgsg8+nIICjlx0QgwdVJ0ZeFAiX/6CJshKQdFolaOBYkiQE9xRMPDuqYRChwAXD9mavtbxSULdTYePx+EEP4BTGuj3jEui220tphJOmjEcYqRbjHrWm83Sggyx9nnAw89YgIeU5iCM2eAs9dUTwMfpKC05hzSynJ4VX9XnECJlAnHD59tWcESMrNAkwsof2UoxlbpN6HPr6f7uo+fhcrM0BAaH3zwsNV7W+tKCCr2ws5ejkHc03DrBG11OB/KT56W91Uq4TbJZh8BwjDmNv78EVDCMH0XL3lkqOM1gyGYJzNZfFrcIxdIbg489X6EPOuWKSE9qnmkpB+7O/EdspqiDnFr9f5YyEBUQmh8n2K0y3KxheSn+QR4ywU0Qd3Iq6Vw0/A2AlhaRTn4Hu2D0AOmMwg3z1M93R81EWWMeQrgLfT1I8UGFjwJGWKdxJOAPLeRuaS3XeOopzA3AHwclB374DpUyVdZFqSuqcXsBC8jMg2h8O6yknPMUooNjEl5nw== peter.l.stuart@gmail.com" ];
};
};
};
time.timeZone = "America/New_York";
location.latitude = 42.301217;
location.longitude = -72.384386;
environment.variables = {
OH_MY_ZSH = [ "${pkgs.oh-my-zsh}/share/oh-my-zsh" ];
XCURSOR_SIZE = "64";
};
sound.enable = true;
hardware.pulseaudio.enable = true;
services.openssh.enable = true;
services.openssh.permitRootLogin = "no";
services.openssh.passwordAuthentication = false;
services.cron.enable = true;
services.physlock.enable = true;
# services.emacs.enable = true;
services.printing.enable = true;
services.redshift = {
enable = true;
temperature.night = 2500;
};
services.lorri.enable = true;
services.openvpn.servers.vpn = {
config = "config /home/peter/.config/nixos/swisslife.ovpn";
autoStart = false;
updateResolvConf = true;
};
programs.gnupg.agent.enable = true;
programs.ssh.startAgent = true;
services.xserver.enable = true;
services.xserver.videoDrivers = [ "nvidia" ];
services.xserver.layout = "us";
services.xserver.dpi = 120;
services.xserver.displayManager.defaultSession = "none+xmonad";
services.xserver.windowManager.xmonad.enable = true;
services.xserver.windowManager.xmonad.enableContribAndExtras = true;
services.xserver.windowManager.xmonad.extraPackages = haskellPackages: [
haskellPackages.xmonad-contrib
haskellPackages.xmonad-extras
haskellPackages.xmonad
];
services.xserver.desktopManager.gnome3.enable = true;
services.syncthing.enable = true;
services.syncthing.user = "peter";
services.syncthing.dataDir = "/home/peter/Sync";
services.syncthing.configDir = "/home/peter/.config/syncthing";
virtualisation.docker.enable = true;
environment.systemPackages = with pkgs; [
acpi
alacritty
cabal2nix
cachix
curl
dex
direnv
dmenu
dmidecode
dunst
emacsUnstable
feh
firefox
font-awesome-ttf
git
google-chrome
gnome3.gnome-tweak-tool
gnupg
haskellPackages.xmobar
haskellPackages.xmonad
haskellPackages.xmonad-contrib
haskellPackages.xmonad-extras
hlint
imagemagick
libnotify
lm_sensors
lxappearance
mpv
musescore
networkmanager_dmenu
nix-prefetch-git
notmuch
numix-solarized-gtk-theme
offlineimap
oh-my-zsh
ormolu
picom
pinentry
pinentry-curses
psmisc # killall...
scrot
signal-desktop
slack
sqlite
terminus_font
tmux
unzip
vlc
vscode
wget
xclip
xorg.xev
xorg.xbacklight
xscreensaver
xsettingsd
youtube-dl
zoom-us
zsh
];
fonts = {
enableFontDir = true;
enableGhostscriptFonts = true;
fonts = with pkgs; [
corefonts
dejavu_fonts
font-awesome-ttf
hasklig
helvetica-neue-lt-std
inconsolata
proggyfonts
source-code-pro
source-sans-pro
source-serif-pro
terminus_font
ubuntu_font_family
];
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment