Skip to content

Instantly share code, notes, and snippets.

@brodul
Created December 5, 2015 13:50
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 brodul/8fd052482b797f9970d5 to your computer and use it in GitHub Desktop.
Save brodul/8fd052482b797f9970d5 to your computer and use it in GitHub Desktop.
# Edit this configuration file to define what should be installed on
# the system. Help is available in the configuration.nix(5) man page
# or the NixOS manual available on virtual console 8 (Alt+F8).
{ config, pkgs, ... }:
{
#
#nix.extraOptions = ''
# gc-keep-outputs = true
# gc-keep-derivations = true
# '';
virtualisation.virtualbox.host.enable = true;
virtualisation.docker.enable = true;
# services.xserver.videoDrivers = [ "intel" ];
# hardware.opengl.videoDrivers = [ "intel" ];
nixpkgs.config = {
allowUnfree = true;
firefox = {
jre = false;
enableGoogleTalkPlugin = true;
enableAdobeFlash = true;
};
chromium = {
enablePepperFlash = true;
enablePepperPDF = true;
jre = false;
};
};
imports =
[ <nixpkgs/nixos/modules/installer/scan/not-detected.nix>
];
boot.initrd.availableKernelModules = [ "xhci_hcd" "ehci_pci" "ahci" ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
system.activationScripts.bin_lib_links = ''
mkdir -p /usr/lib
ln -fs ${pkgs.xlibs.libX11}/lib/libX11.so.6 /usr/lib/libX11.so.6
'';
# Sound
hardware.pulseaudio.enable = true;
# Timezone
time.timeZone = "Europe/Ljubljana";
# Use the GRUB 2 boot loader.
boot.loader.grub.enable = true;
boot.loader.grub.version = 2;
boot.blacklistedKernelModules = [ "pcspkr" ];
# Define on which hard drive you want to install Grub.
boot.loader.grub.device = "/dev/sda";
boot.cleanTmpDir = true;
boot.tmpOnTmpfs = true;
# Virtualization libvirt
# virtualisation.libvirtd.enable = true;
networking.hostName = "blackhole"; # Define your hostname.
# networking.wireless.enable = true; # Enables Wireless via wpa_supplicant
# networking.wicd.enable = true; # Enables Wireless via wpa_supplicant
networking.networkmanager.enable = true;
networking.interfaceMonitor.enable = true;
networking.interfaceMonitor.beep = true;
networking.extraHosts = ''
''
;
#127.0.0.1 www.twitch.tv
#networking.interfaces.enp0s25.ip4 = [ { address = "192.168.1.2"; prefixLength = 24; } ];
#networking.localCommands = ''
#ip addr add 192.168.0.1/24 dev enp0s25
#ip link set up enp0s25
#
#'';
#ip route add 192.168.0.0/24 dev enp0s25
security.setuidOwners = [
{ program = "dumpcap";
owner = "root";
group = "wireshark";
setuid = true;
setgid = false;
permissions = "u+rx,g+x";
}
];
users.extraGroups.wireshark.gid = 500;
# Add filesystem entries for each partition that you want to see
# mounted at boot time. This should include at least the root
# filesystem.
boot.initrd.preLVMCommands = ''
echo ' _ _ _ '
echo ' | | | | | |'
echo ' | |__ _ __ ___ __| |_ _| |'
echo ' | `_ \| `__/ _ \ / _` | | | | |'
echo ' | |_) | | | (_) | (_| | |_| | |'
echo ' |_.__/|_| \___/ \__,_|\__,_|_|'
echo ' '
echo
echo ' Additional passphrase needed ... '
echo
'';
boot.initrd.luks.devices = [ {device = "/dev/mapper/LVMVolGroup-all"; name = "crypted" ; preLVM=false;} ];
fileSystems."/".device = "/dev/mapper/crypted";
fileSystems."/boot".device = "/dev/disk/by-label/boot";
# fileSystems."/data" = # where you want to mount the device
# { device = "/dev/sdb"; # the device
# fsType = "ext3"; # the type of the partition
# options = "data=journal";
# };
# List swap partitions activated at boot time.
# swapDevices =
# [ { device = "/dev/disk/by-label/swap"; }
# ];
# Select internationalisation properties.
# i18n = {
# consoleFont = "lat9w-16";
# consoleKeyMap = "us";
# defaultLocale = "en_US.UTF-8";
# };
hardware.bluetooth.enable = true;
# List services that you want to enable:
services.nixosManual.showManual = true;
services.xserver.synaptics.enable = true;
# Enable the OpenSSH daemon.
services.openssh.enable = true;
# Enable CUPS to print documents.
# C3
services.printing.enable = false;
# not working
services.printing.drivers = [ pkgs.cups pkgs.ghostscript pkgs.hplip pkgs.splix pkgs.gutenprintBin "/home/brodul/Downloads/xerox/usr" ];
# Enable the X11 windowing system.
services.xserver.enable = true;
services.xserver.layout = "us";
# services.xserver.xkbOptions = "eurosign:e";
# Enable the KDE Desktop Environment.
# services.xserver.displayManager.kdm.enable = true;
# services.xserver.desktopManager.kde4.enable = true;
services.xserver.displayManager.lightdm.enable = true;
services.xserver.desktopManager.xfce.enable = true;
services.xserver.windowManager.i3.enable = true;
# services.xserver.displayManager.desktopManagerHandlesLidAndPower = true;
# c3
services.mysql.enable= true;
services.mysql.package = pkgs.mysql;
# c3
services.postgresql.enable= false;
services.postgresql.package = pkgs.postgresql84;
# Reciprocity specific
services.clamav.updater.enable = true;
users.extraGroups.vboxusers.members = [ "brodul" ];
users.extraUsers.guest =
{ isNormalUser = true;
home = "/home/guest";
description = "";
extraGroups = [ "networkmanager" ];
};
environment.systemPackages = with pkgs; [
# firmware
upower
# generally useful tools
alsaUtils
acpitool
#
arduino_core
cpio
imagemagick
mysql
nixops
openssl
rabbitmq_server
rtorrent
socat
smartmontools
# yafc
zlib
zip
zsh
# virtualbox
#
links2
w3m
wgetpaste
pwgen
curl
vim_configurable
gitFull
mercurial
autojump # doesnt keep history
anki
sqlite
sshfsFuse
fuse
ncmpcpp
# mplayer2
jwhois
dos2unix
gnumake
libevent
vifm
patchelf
reaverwps
unetbootin
gcc
pythonPackages.tarman
sysstat
nixops
speedtest_cli
mosh
# sys tools
rmlint
extundelete
hdparm
aircrackng
tmux
gnupg
wget
nmap
ncdu
telnet
unzip
unrar
psmisc
# X apps
dmenu
rxvt_unicode
i3status
i3lock
# TODO: make it a floating window so it's not annoying
p7zip
gmpc
pavucontrol
pa_applet
dunst # notifications
xfce.thunar_archive_plugin
#arandr
wireshark
deluge
#gnucash
gimp_2_8
calibre
skype
dropbox
libreoffice
vlc
#teamviewer8 # TODO: changes hash all the time, didnt find an url that includes version name
evince
wine
networkmanagerapplet
thunderbird
# browsers
firefoxWrapper
chromium
# games
#spring
#springLobby
teeworlds
openra
#xonotic
# postgresql
pgadmin
# development
nodePackages.jshint
nodePackages.ungit
phantomjs
# deus_lex
# TODO: move to dev.nix
netpbm
xpdf # pdftotext
# python stuff
cython
python27Full
python33
python32
pythonPackages.virtualenv
pythonPackages.flake8
pythonPackages.pillow
pythonPackages.mrbob
pythonPackages.bpython
# Virtualization
# virtualbox
(pkgs.haskellPackages.ghcWithPackages (self : [
self.json
self.curl
]))
# lxc
debootstrap
lxc
bluez
# reciprocity
clamav
];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment