Skip to content

Instantly share code, notes, and snippets.

@dangirsh
Created September 12, 2014 07:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dangirsh/a1a4e31ff326879d3dce to your computer and use it in GitHub Desktop.
Save dangirsh/a1a4e31ff326879d3dce to your computer and use it in GitHub Desktop.
NixOS Config
# 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, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
nixpkgs.config.allowUnfree = true;
# Use the GRUB 2 boot loader.
boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
# Define on which hard drive you want to install Grub.
boot.loader.grub.device = "/dev/sda";
networking.hostName = "nixos"; # Define your hostname.
networking.wireless.enable = true; # Enables wireless.
#Select internationalisation properties.
i18n = {
consoleKeyMap = "us";
defaultLocale = "en_US.UTF-8";
};
# Enable the OpenSSH daemon.
services.openssh.enable = true;
# Define a user account. Don't forget to set a password with ‘passwd’.
users.extraUsers.dan = {
name = "dan";
extraGroups = [ "wheel" "audio" "vboxusers" ];
uid = 1000;
createHome = true;
home = "/home/dan";
shell = "/run/current-system/sw/bin/bash";
};
environment = {
systemPackages = with pkgs; [
terminator
mpd
ncmpcpp
gmrun
dmenu
trayer
dzen2
pv
lsof
libreoffice
htop
ctags
xclip
xscreensaver
arandr autorandr
firefox
alsaLib alsaPlugins alsaUtils
transmission
unrar
pavucontrol
chromium flashplayer
evince
ppp
cpufrequtils
file
htop
feh
mutt offlineimap
keychain
zsh
cmake
emacs24
emacs24Packages.calfw
emacs24Packages.haskellMode
emacs24Packages.notmuch
emacs24Packages.org
gcc
gdb
gimp
gitAndTools.gitFull
gnupg
gnupg1
gnumake
gperf
haskellPackages.ghc
haskellPackages.haskellPlatform
imagemagick
lsof
man
netcat
nmap
parted
pulseaudio
pythonFull
ruby
stdmanpages
tcpdump
units
unrar
unzip
vlc
wget
zip
conkeror
scrot
unetbootin
wine
wireshark
xorg.xkill
xpdf
xulrunner
haskellPackages.xmonad
haskellPackages.xmonadContrib
haskellPackages.xmonadExtras
haskellPackages.xmobar
stalonetray
wpa_supplicant_gui
xfontsel
xlibs.xev
xlibs.xinput
xlibs.xmessage
xlibs.xmodmap
];
};
services.xserver = {
enable = true;
layout = "us";
xkbOptions = "ctrl:nocaps";
displayManager = {
auto = {
enable = true;
user = "dan";
};
sessionCommands =
''
~/.screenlayout/my_monitor.sh &
'';
};
desktopManager = {
xfce.enable = true;
default = "none";
};
windowManager = {
default = "xmonad";
xmonad.enable = true;
xmonad.enableContribAndExtras = true;
};
};
services.mpd = {
enable = true;
musicDirectory = "/home/dan/music";
extraConfig =
''
audio_output {
type "httpd"
name "My HTTP Stream"
encoder "vorbis"
port "8000"
bitrate "128"
format "44100:16:1"
}
'';
};
services.locate = {
enable = true;
period = "0 * * * *";
};
security.sudo = {
enable = true;
wheelNeedsPassword = false;
};
time.timeZone = "US/Pacific";
hardware.pulseaudio.enable = true;
fonts = {
enableFontDir = true;
enableGhostscriptFonts = true;
fonts = with pkgs; [
inconsolata # monospaced
ubuntu_font_family # Ubuntu fonts
];
};
services.xserver.synaptics.enable = true;
services.xserver.synaptics.tapButtons = true;
services.xserver.synaptics.twoFingerScroll = true;
services.nixosManual.showManual = true;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment