Skip to content

Instantly share code, notes, and snippets.

@cleverca22
Last active April 15, 2017 00:30
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 cleverca22/e70c2a780caea91d276fe44b6bedf858 to your computer and use it in GitHub Desktop.
Save cleverca22/e70c2a780caea91d276fe44b6bedf858 to your computer and use it in GitHub Desktop.
{ config, pkgs, ... }:
let
simgrid2 = pkgs.stdenv.mkDerivation {
name = "simgrid2";
buildInputs = with pkgs; [ simgrid ];
};
in {
imports = [
./hardware-configuration.nix
];
boot.loader.grub = {
enable = true;
version = 2;
device = "/dev/sdb";
};
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.kernelPackages = pkgs.linuxPackages_4_9;
# filesystems = {
# "/home/sophia/hdd/" = {
# device = "dev/sda";
# };
# };
networking = {
hostName = "nixos";
networkmanager.enable = true;
};
i18n = {
consoleFont = "Lat2-Terminus16";
consoleKeyMap = "us";
defaultLocale = "en_US.UTF-8";
};
time.timeZone = "America/New_York";
nixpkgs.config = {
allowUnfree = true;
import = /root/.nixpkgs/config.nix;
packageOverrides = super: let self = super.pkgs; in
{
myHaskellEnv = self.haskellPackages.ghcWithHoogle
(haskellPackages: with haskellPackages; [
# libraries
arrows
async
cgi
criterion
ghc-core
mueval
either-unwrap
prelude-extras
# tools
cabal-install
haskintex
]);
};
};
environment.systemPackages = with pkgs; [
simgrid2
wget
networkmanagerapplet
dhcpcd
gnumake
pcre
pkgconfig
hfsprogs
dmg2img
p7zip
firefox
irssi
gimp-with-plugins
git
vim
brackets
mitscheme
guile
chicken
chez
pltScheme
clojure
leiningen
maven
openjdk
go
myHaskellEnv
cabal2nix
less
nodejs
closurecompiler
gcc
llvm
clang
cmake
boost
dmd
python3
puredata
arduino
processing
gnuplot
libreoffice
anki
rlwrap
findutils
simgrid
xorg.xf86inputsynaptics
(emacsWithPackages (with emacs24PackagesNg; [
powerline
lush-theme
clojure-mode
haskell-mode
geiser
web-mode
js-comint
gnuplot-mode
evil
]))
# unfree
google-chrome
dropbox
spotify
skype
xflux
(oraclejdk8distro true true)
];
environment.shellAliases.ghci = "ghci -ghci-script
${pkgs.writeText "ghci.conf"
'':def hoogle \s -> return $ ":! hoogle search -cl --count=15 \"" ++ s ++ "\""'
:def doc \s -> return $ ":! hoogle search -cl --info \"" ++ s ++ "\""''
}";
# Enable the OpenSSH server.
# services.openssh.enable = true;
# Eable CUPS to print documents
# services.printing.enable = true;
services.xserver = {
enable = true;
layout = "us";
xkbOptions = "eurosign:e";
# synaptics.enable = true;
desktopManager.default = "gnome3";
# Gnome3 Desktop Environment
desktopManager.gnome3 = {
enable = true;
sessionPath = [
pkgs.gnome3.gnome_shell
pkgs.gnome3.gnome-shell-extensions
];
};
# KDE Desktop Manager
# displayManager.kdm.enable = true;
# desktopManager.kde4.enable = true;
# XMonad Window Manager
windowManager.xmonad = {
enable = true;
enableContribAndExtras = true;
};
};
fonts = {
enableFontDir = true;
enableGhostscriptFonts = true;
fonts = with pkgs; [
corefonts # Micrsoft free fonts
inconsolata # monospaced
ubuntu_font_family # Ubuntu fonts
unifont # some international languages
dejavu_fonts
vistafonts # contains Consolas
emojione
];
};
users.extraUsers.guest = {
};
# The NixOS release to be compatible with for stateful data such as databases.
system.stateVersion = "16.09";
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment