From fb1ddce32989fdea137f2b225ae4c24d2badf3a4 Mon Sep 17 00:00:00 2001 From: aszlig Date: Fri, 25 Jul 2014 16:52:46 +0200 Subject: common: Factor out common workstation options. Those options reside now in common-workstation.nix but it's only a preliminary step, in the long term I guess we want to have this as modular as possible. Signed-off-by: aszlig --- common-workstation.nix | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 common-workstation.nix (limited to 'common-workstation.nix') diff --git a/common-workstation.nix b/common-workstation.nix new file mode 100644 index 00000000..fc071d00 --- /dev/null +++ b/common-workstation.nix @@ -0,0 +1,88 @@ +{ pkgs, ... }: + +{ + imports = [ + ./common.nix + + ./modules/i3 + ]; + + boot.kernelParams = [ "zswap.enabled=1" ]; + boot.cleanTmpDir = true; + + hardware = { + pulseaudio.enable = true; + pulseaudio.package = pkgs.pulseaudio.override { + useSystemd = true; + }; + opengl = { + driSupport32Bit = true; + s3tcSupport = true; + }; + }; + + fonts = { + enableCoreFonts = true; + enableFontDir = true; + enableGhostscriptFonts = true; + fonts = [ + pkgs.dosemu_fonts + pkgs.liberation_ttf + ]; + }; + + services = { + openssh = { + enable = true; + permitRootLogin = "without-password"; + }; + + syslogd.tty = "tty13"; + + xfs.enable = false; + + gpm = { + enable = true; + protocol = "exps2"; + }; + + printing = { + enable = true; + drivers = [ pkgs.foo2zjs pkgs.foomatic_filters ]; + }; + + udev.extraRules = '' + SUBSYSTEM=="tty", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", \ + ATTRS{serial}=="0001", OWNER="aszlig", SYMLINK+="axbo" + SUBSYSTEM=="usb*|tty", ACTION=="add|change", ATTRS{idVendor}=="0403", \ + ATTRS{idProduct}=="6001", OWNER="aszlig" # Enttec + ''; + + xserver = { + enable = true; + layout = "dvorak"; + + startGnuPGAgent = true; + + displayManager.sessionCommands = '' + ${pkgs.redshift}/bin/redshift -l 48.428404:10.866007 & + ''; + + desktopManager.default = "none"; + desktopManager.xterm.enable = false; + + displayManager.lightdm.enable = true; + }; + }; + + users.extraUsers.aszlig = { + uid = 1000; + description = "aszlig"; + group = "users"; + extraGroups = [ "vboxusers" "wheel" "video" ]; + home = "/home/aszlig"; + useDefaultShell = true; + createHome = true; + createUser = true; + }; +} -- cgit 1.4.1