stockholm/makefu/2configs/base-gui.nix

108 lines
2.7 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, ... }:
2015-08-07 10:10:02 +00:00
##
# of course this name is a lie
# - it prepares a GUI environment close to my
# current configuration,specifically:
2015-08-07 10:10:02 +00:00
#
# * autologin with mainUser into awesome
# * audio
# * terminus font
2015-08-07 10:10:02 +00:00
#
# if this is not enough, check out main-laptop.nix
2015-12-03 19:37:04 +00:00
## TODO: .Xdefaults:
# URxvt*termName: rxvt
# URxvt.scrollBar : false
# URxvt*scrollBar_right: false
# URxvt*borderLess: false
# URxvt.foreground: white
# URxvt.background: black
# URxvt.urgentOnBell: true
# URxvt.visualBell: false
# URxvt.font : xft:Terminus
2016-02-14 15:43:44 +00:00
with config.krebs.lib;
2015-08-07 10:10:02 +00:00
let
mainUser = config.krebs.build.user.name;
2015-10-09 10:35:26 +00:00
awesomecfg = pkgs.awesomecfg.full;
2015-08-07 10:10:02 +00:00
in
{
imports = [ ];
2015-08-05 13:11:52 +00:00
services.xserver = {
enable = true;
layout = "us";
2015-08-07 10:53:38 +00:00
xkbVariant = "altgr-intl";
xkbOptions = "ctrl:nocaps";
2015-08-05 13:11:52 +00:00
windowManager = {
awesome.enable = true;
awesome.luaModules = [ pkgs.luaPackages.vicious ];
default = "awesome";
};
2015-08-07 10:10:02 +00:00
displayManager.auto.enable = true;
displayManager.auto.user = mainUser;
2015-08-05 13:11:52 +00:00
desktopManager.xterm.enable = false;
};
2016-02-11 16:06:50 +00:00
# lid switch is handled via button presses
services.logind.extraConfig = mkDefault "HandleLidSwitch=ignore";
nixpkgs.config.packageOverrides = pkgs: rec {
awesome = pkgs.stdenv.lib.overrideDerivation pkgs.awesome (oldAttrs : {
postFixup = ''
2015-10-09 10:35:26 +00:00
cp ${awesomecfg} $out/etc/xdg/awesome/rc.lua
'';
});
};
i18n.consoleFont = "Lat2-Terminus16";
fonts = {
enableCoreFonts = true;
enableFontDir = true;
enableGhostscriptFonts = false;
fonts = [ pkgs.terminus_font ];
};
environment.systemPackages = with pkgs;[
2015-10-13 22:10:15 +00:00
pavucontrol
xlockmore
rxvt_unicode-with-plugins
firefox
2015-08-07 10:10:02 +00:00
];
users.extraUsers.${mainUser}.extraGroups = [ "audio" ];
hardware.pulseaudio = {
enable = true;
# systemWide = true;
};
services.xserver.displayManager.sessionCommands = let
xdefaultsfile = pkgs.writeText "Xdefaults" ''
cat |derp <<EOF
XTerm*background: black
XTerm*foreground: white
XTerm*FaceName : Terminus:pixelsize=14
URxvt*termName: rxvt
URxvt.scrollBar : False
URxvt*scrollBar_right: false
URxvt*borderLess: false
URxvt.foreground: white
URxvt.background: black
URxvt.urgentOnBell: true
URxvt.visualBell: false
URxvt.font : xft:Terminus
! blue
URxvt*color4: #268bd2
URxvt.perl-ext: default,url-select
URxvt.keysym.M-u: perl:url-select:select_next
#URxvt.url-select.launcher: firefox -new-tab
URxvt.url-select.launcher: chromium
URxvt.url-select.underline: true
URxvt.searchable-scrollback: CM-s
'';
in "cat ${xdefaultsfile} | xrdb -merge";
}