Initial commit
commit
c0062bbc5c
@ -0,0 +1,3 @@
|
||||
[submodule "nixpkgs-master"]
|
||||
path = nixpkgs-master
|
||||
url = https://github.com/NixOS/nixpkgs.git
|
@ -0,0 +1,5 @@
|
||||
options: {
|
||||
master = (import ../nixpkgs-master) options;
|
||||
nixpkgs = (import <nixpkgs>) options;
|
||||
myNixpkgs = {};
|
||||
}
|
@ -0,0 +1 @@
|
||||
Subproject commit f9281609aef096cac905cd1081aacc9193ad273f
|
@ -0,0 +1,48 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.gksu
|
||||
nixpkgs.xfontsel
|
||||
];
|
||||
|
||||
fonts = {
|
||||
fontconfig = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
enableFontDir = true;
|
||||
enableCoreFonts = true;
|
||||
enableGhostscriptFonts = true;
|
||||
|
||||
fonts = with packages ; [
|
||||
nixpkgs.liberation_ttf
|
||||
nixpkgs.ttf_bitstream_vera
|
||||
nixpkgs.dejavu_fonts
|
||||
nixpkgs.terminus_font
|
||||
nixpkgs.bakoma_ttf
|
||||
nixpkgs.bakoma_ttf
|
||||
nixpkgs.ubuntu_font_family
|
||||
nixpkgs.vistafonts
|
||||
nixpkgs.unifont
|
||||
nixpkgs.freefont_ttf
|
||||
];
|
||||
};
|
||||
|
||||
services = {
|
||||
xserver = {
|
||||
enable = true;
|
||||
layout = "us";
|
||||
xkbOptions = "eurosign:e, caps:backspace";
|
||||
|
||||
displayManager = {
|
||||
lightdm = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# We need accounts-daemon for lightdm to work correctly.
|
||||
accounts-daemon = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
@ -0,0 +1,44 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
# XFCE tools
|
||||
nixpkgs.xfce.xfce4taskmanager
|
||||
nixpkgs.xfce.gigolo
|
||||
nixpkgs.xfce.xfce4_systemload_plugin
|
||||
nixpkgs.xfce.xfce4_cpufreq_plugin
|
||||
nixpkgs.xfce.xfce4_whiskermenu_plugin
|
||||
nixpkgs.xfce.xfce4_cpugraph_plugin
|
||||
nixpkgs.xfce.xfce4_fsguard_plugin
|
||||
nixpkgs.xfce.xfce4_datetime_plugin
|
||||
nixpkgs.xfce.xfce4_netload_plugin
|
||||
nixpkgs.xfce.xfce4_systemload_plugin
|
||||
nixpkgs.xfce.xfce4_verve_plugin
|
||||
nixpkgs.xfce.xfce4_xkb_plugin
|
||||
|
||||
# GNOME applications
|
||||
nixpkgs.gnome3.file-roller
|
||||
|
||||
# GTK themes
|
||||
master.blackbird
|
||||
master.greybird
|
||||
nixpkgs.arc-gtk-theme
|
||||
|
||||
# GNOME/GTK internals
|
||||
nixpkgs.gnome3.dconf
|
||||
nixpkgs.gnome3.dconf-editor
|
||||
nixpkgs.polkit_gnome
|
||||
];
|
||||
|
||||
services = {
|
||||
xserver.desktopManager.xfce = {
|
||||
enable = true;
|
||||
thunarPlugins = with packages; [
|
||||
nixpkgs.xfce.thunar-archive-plugin
|
||||
nixpkgs.xfce.thunar_volman
|
||||
];
|
||||
};
|
||||
|
||||
udisks2 = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.electrum
|
||||
];
|
||||
}
|
@ -0,0 +1,21 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.chromium
|
||||
nixpkgs.firefox
|
||||
nixpkgs.w3m
|
||||
];
|
||||
|
||||
nixpkgs.config = {
|
||||
firefox = {
|
||||
enableGoogleTalkPlugin = true;
|
||||
enableAdobeFlash = true;
|
||||
jre = true;
|
||||
};
|
||||
|
||||
chromium = {
|
||||
enablePepperFlash = true;
|
||||
enablePepperPDF = true;
|
||||
jre = true;
|
||||
};
|
||||
};
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
gcc
|
||||
gnumake
|
||||
automake
|
||||
autoconf
|
||||
];
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
master.couchdb
|
||||
];
|
||||
|
||||
# FIXME: CouchDB service?
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
master.atom
|
||||
nixpkgs.geany
|
||||
nixpkgs.sqlitebrowser
|
||||
nixpkgs.gitAndTools.gitFull
|
||||
nixpkgs.meld
|
||||
nixpkgs.radare2
|
||||
nixpkgs.wxhexeditor
|
||||
];
|
||||
}
|
@ -0,0 +1,32 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
# General
|
||||
nixpkgs.lsof
|
||||
|
||||
# Processes
|
||||
nixpkgs.htop
|
||||
nixpkgs.psmisc
|
||||
|
||||
# Network
|
||||
nixpkgs.iftop
|
||||
nixpkgs.nload
|
||||
nixpkgs.tcpdump
|
||||
nixpkgs.nmap
|
||||
nixpkgs.mtr
|
||||
nixpkgs.vnstat
|
||||
nixpkgs.telnet
|
||||
|
||||
# Disk and filesystem
|
||||
nixpkgs.smartmontools
|
||||
nixpkgs.iotop
|
||||
nixpkgs.ncdu
|
||||
nixpkgs.gparted
|
||||
|
||||
# Peripherals
|
||||
nixpkgs.pciutils
|
||||
nixpkgs.usbutils
|
||||
|
||||
# Graphics
|
||||
nixpkgs.glxinfo
|
||||
];
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
(master.python35Packages.youtube-dl.override {
|
||||
ffmpeg = master.ffmpeg-full;
|
||||
})
|
||||
master.megatools
|
||||
];
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.wineUnstable
|
||||
nixpkgs.dosbox
|
||||
nixpkgs.playonlinux
|
||||
];
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.qbittorrent
|
||||
];
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.multimc
|
||||
master.xonotic
|
||||
];
|
||||
}
|
@ -0,0 +1,7 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.p7zip
|
||||
nixpkgs.keepassx2
|
||||
nixpkgs.pcmanfm
|
||||
];
|
||||
}
|
@ -0,0 +1,14 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.guake
|
||||
nixpkgs.gnome.GConf
|
||||
];
|
||||
|
||||
environment.pathsToLink = [ "/etc/gconf" ];
|
||||
|
||||
services = {
|
||||
dbus = with packages; {
|
||||
packages = [ nixpkgs.gnome.GConf ];
|
||||
};
|
||||
};
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.simutrans
|
||||
master.openttd
|
||||
];
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.pidgin
|
||||
];
|
||||
}
|
@ -0,0 +1,24 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
# Video
|
||||
nixpkgs.mplayer
|
||||
nixpkgs.mpv
|
||||
nixpkgs.vlc
|
||||
nixpkgs.kodi
|
||||
|
||||
# Audio
|
||||
nixpkgs.tomahawk
|
||||
nixpkgs.audacious
|
||||
nixpkgs.mpg321
|
||||
|
||||
# Documents
|
||||
nixpkgs.evince
|
||||
nixpkgs.djvulibre
|
||||
|
||||
# Images
|
||||
nixpkgs.gqview
|
||||
|
||||
# Utilities
|
||||
nixpkgs.mediainfo
|
||||
];
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
master.nodejs-6_x
|
||||
];
|
||||
}
|
@ -0,0 +1,16 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
master.pgadmin
|
||||
];
|
||||
|
||||
services = {
|
||||
postgresql = {
|
||||
enable = true;
|
||||
package = packages.nixpkgs.postgresql95;
|
||||
authentication = ''
|
||||
local all all ident
|
||||
host all all 127.0.0.1/32 md5
|
||||
'';
|
||||
};
|
||||
};
|
||||
}
|
@ -0,0 +1,10 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.libreoffice
|
||||
nixpkgs.gimp
|
||||
nixpkgs.inkscape
|
||||
nixpkgs.audacity
|
||||
nixpkgs.shutter
|
||||
nixpkgs.jekyll
|
||||
];
|
||||
}
|
@ -0,0 +1,6 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.quicksynergy
|
||||
nixpkgs.synergy
|
||||
];
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.workrave
|
||||
];
|
||||
|
||||
networking.firewall.allowedTCPPorts = [
|
||||
27273
|
||||
];
|
||||
}
|
@ -0,0 +1,9 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.amdappsdk # For OpenCL support, at least theoretically...
|
||||
];
|
||||
|
||||
services.xserver = {
|
||||
videoDrivers = ["ati_unfree"];
|
||||
};
|
||||
}
|
@ -0,0 +1,59 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.openssl
|
||||
nixpkgs.cacert
|
||||
nixpkgs.fuse
|
||||
nixpkgs.bashCompletion
|
||||
|
||||
nixpkgs.nix-repl
|
||||
nixpkgs.xorg.xmodmap
|
||||
|
||||
nixpkgs.python
|
||||
|
||||
nixpkgs.file
|
||||
nixpkgs.tree
|
||||
|
||||
nixpkgs.zip
|
||||
nixpkgs.unzip
|
||||
nixpkgs.unrar
|
||||
|
||||
nixpkgs.ag
|
||||
nixpkgs.jq
|
||||
nixpkgs.nano
|
||||
|
||||
nixpkgs.screen
|
||||
nixpkgs.tmux
|
||||
];
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
};
|
||||
|
||||
nix = {
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "00:00";
|
||||
};
|
||||
};
|
||||
|
||||
system.autoUpgrade.enable = true;
|
||||
|
||||
security = {
|
||||
sudo.configFile = ''
|
||||
Defaults targetpw
|
||||
ALL ALL=(ALL) ALL
|
||||
'';
|
||||
};
|
||||
|
||||
i18n = {
|
||||
consoleFont = "Lat2-Terminus16";
|
||||
consoleKeyMap = "us";
|
||||
defaultLocale = "en_US.UTF-8";
|
||||
};
|
||||
|
||||
time.timeZone = "Europe/Amsterdam";
|
||||
|
||||
boot = {
|
||||
plymouth.enable = true;
|
||||
};
|
||||
}
|
@ -0,0 +1,19 @@
|
||||
packages: {config, ...}: {
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot.enable = false;
|
||||
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
efiSysMountPoint = "/boot";
|
||||
};
|
||||
|
||||
grub = {
|
||||
enable = true;
|
||||
device = "nodev";
|
||||
version = 2;
|
||||
efiSupport = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
@ -0,0 +1,26 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.iptables
|
||||
|
||||
nixpkgs.wget
|
||||
nixpkgs.curl
|
||||
nixpkgs.httpie
|
||||
nixpkgs.whois
|
||||
];
|
||||
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
};
|
||||
|
||||
services = {
|
||||
ntp = {
|
||||
enable = true;
|
||||
servers = [ "server.local" "0.pool.ntp.org" "1.pool.ntp.org" "2.pool.ntp.org" ];
|
||||
};
|
||||
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns = true;
|
||||
};
|
||||
};
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
master.xsane
|
||||
];
|
||||
}
|
@ -0,0 +1,12 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.pavucontrol
|
||||
nixpkgs.xfce.xfce4_pulseaudio_plugin # FIXME: Only enable when running XFCE
|
||||
];
|
||||
|
||||
hardware.pulseaudio = with packages; {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
package = nixpkgs.pulseaudioFull;
|
||||
};
|
||||
}
|
@ -0,0 +1,8 @@
|
||||
packages: {config, ...}: {
|
||||
services = {
|
||||
printing = with packages; {
|
||||
enable = true;
|
||||
drivers = [ nixpkgs.gutenprint ];
|
||||
};
|
||||
};
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
packages: {config, ...}: {
|
||||
environment.systemPackages = with packages; [
|
||||
nixpkgs.virtmanager
|
||||
];
|
||||
|
||||
boot.kernelModules = [
|
||||
"tun" # For full network capabilities in QEMU/KVM
|
||||
"virtio" # Faster I/O drivers for QEMU/KVM on Linux
|
||||
"nbd" # For mounting QEMU images (optionally over the network)
|
||||
];
|
||||
}
|
@ -0,0 +1,119 @@
|
||||
{ config, pkgs, ... }: let
|
||||
packages = (import ../lib/packages.nix) { config = config.nixpkgs.config; };
|
||||
callPackageFile = path: (import path) packages;
|
||||
in {
|
||||
imports = [
|
||||
(callPackageFile ../profiles/system/base.nix)
|
||||
|
||||
(callPackageFile ../profiles/environment/graphical-environment.nix)
|
||||
(callPackageFile ../profiles/environment/xfce4.nix)
|
||||
|
||||
(callPackageFile ../profiles/system/efi-boot.nix)
|
||||
(callPackageFile ../profiles/system/networked.nix)
|
||||
(callPackageFile ../profiles/system/printing.nix)
|
||||
(callPackageFile ../profiles/system/scanning.nix)
|
||||
(callPackageFile ../profiles/system/amd.nix)
|
||||
(callPackageFile ../profiles/system/pulseaudio.nix)
|
||||
(callPackageFile ../profiles/system/virtualization.nix)
|
||||
|
||||
(callPackageFile ../profiles/software/postgresql.nix)
|
||||
(callPackageFile ../profiles/software/couchdb.nix)
|
||||
|
||||
(callPackageFile ../profiles/software/light-games.nix)
|
||||
(callPackageFile ../profiles/software/games.nix)
|
||||
(callPackageFile ../profiles/software/bitcoin.nix)
|
||||
(callPackageFile ../profiles/software/browsers.nix)
|
||||
(callPackageFile ../profiles/software/development.nix)
|
||||
(callPackageFile ../profiles/software/diagnostics.nix)
|
||||
(callPackageFile ../profiles/software/downloaders.nix)
|
||||
(callPackageFile ../profiles/software/emulators.nix)
|
||||
(callPackageFile ../profiles/software/filesharing.nix)
|
||||
(callPackageFile ../profiles/software/guake.nix)
|
||||
(callPackageFile ../profiles/software/messaging.nix)
|
||||
(callPackageFile ../profiles/software/multimedia.nix)
|
||||
(callPackageFile ../profiles/software/node.nix)
|
||||
(callPackageFile ../profiles/software/productivity.nix)
|
||||
(callPackageFile ../profiles/software/synergy.nix)
|
||||
(callPackageFile ../profiles/software/workrave.nix)
|
||||
(callPackageFile ../profiles/software/graphical-base.nix)
|
||||
];
|
||||
|
||||
services.xserver = {
|
||||
xrandrHeads = [
|
||||
"DFP6"
|
||||
"CRT1"
|
||||
];
|
||||
};
|
||||
|
||||
networking = {
|
||||
hostName = "desktop-home";
|
||||
|
||||
firewall = { # FIXME: abstract this out...
|
||||
allowedTCPPorts = [
|
||||
24800 # Synergy
|
||||
8999 # qBittorrent
|
||||
27273 # Workrave
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
users.extraUsers.sven = {
|
||||
isNormalUser = true;
|
||||
uid = 1000;
|
||||
extraGroups = ["libvirtd"];
|
||||
};
|
||||
|
||||
boot = {
|
||||
kernelModules = [ "tun" "virtio" "nbd" ];
|
||||
};
|
||||
|
||||
fileSystems = [
|
||||
{
|
||||
mountPoint = "/mnt/storage1";
|
||||
device = "/dev/disk/by-uuid/f7b13747-f465-4600-9928-d7bf0720df1a";
|
||||
}
|
||||
{
|
||||
mountPoint = "/mnt/storage2";
|
||||
device = "/dev/disk/by-uuid/71cc55ca-7fc7-40c2-9dee-9e6216959d15";
|
||||
}
|
||||
{
|
||||
mountPoint = "/mnt/temp";
|
||||
device = "/dev/disk/by-uuid/6251105f-2b32-40de-859b-1654d6d1037e";
|
||||
}
|
||||
{
|
||||
mountPoint = "/mnt/opensuse";
|
||||
device = "/dev/disk/by-uuid/02a65154-3d26-4077-8942-c48337a3f9a2";
|
||||
}
|
||||
];
|
||||
|
||||
environment = {
|
||||
etc = {
|
||||
"synergy-server.conf" = {
|
||||
text = ''
|
||||
section: screens
|
||||
desktop:
|
||||
|
||||
laptop:
|
||||
|
||||
end
|
||||
|
||||
section: links
|
||||
desktop:
|
||||
left = laptop
|
||||
laptop:
|
||||
right = desktop
|
||||
end sven desktop-home ~ $ ls -al /lib
|
||||
ls: cannot access '/lib': No such file or directory
|
||||
aliases
|
||||
desktop:
|
||||
192.168.178.60
|
||||
desktop-home
|
||||
laptop:
|
||||
192.168.178.41
|
||||
linux-o82e.site
|
||||
end
|
||||
'';
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Reference in New Issue