nixos-config/i3.nix

102 lines
2.5 KiB
Nix

{ config, pkgs, ... }:
{
programs.ibus.enable = true;
programs.ibus.plugins = [ pkgs.ibus-anthy pkgs.mozc ];
environment.systemPackages = with pkgs; with haskellngPackages; with gnome3; [
i3
i3status
rofi
pa_applet
feh
gnome_keyring
networkmanagerapplet
gnome_terminal
colord
evince
arandr
xautolock i3lock
xdotool
xlibs.xbacklight
] ++ gnome3.corePackages;
fonts = {
fonts = with pkgs; [
wqy_microhei
inconsolata
dejavu_fonts
ipafont
unifont
ubuntu_font_family
cantarell_fonts # from gnome3 module
];
};
services.xserver = {
enable = true;
displayManager = {
slim.enable = true;
slim.defaultUser = "gebner";
# slim.autoLogin = true;
};
desktopManager = {
default = "i3wm";
xterm.enable = false;
session = [ {
name = "i3wm";
start = ''
export $(${pkgs.gnome3.gnome_keyring}/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg)
export XDG_CURRENT_DESKTOP=GNOME
${pkgs.gnome3.gnome_settings_daemon}/libexec/gnome-settings-daemon-localeexec &
${pkgs.i3}/bin/i3 &
waitPID=$!
'';
} ];
};
windowManager = {
default = "i3";
i3.enable = true;
};
layout = "us";
xkbVariant = "altgr-intl";
xkbOptions = "caps:ctrl_modifier";
};
services.dbus.packages = with pkgs; [ dunst gnome3.gcr ];
# copied from gnome3 module
security.polkit.enable = true;
services.udisks2.enable = true;
services.accounts-daemon.enable = true;
services.geoclue2.enable = true;
services.gnome3.at-spi2-core.enable = true;
services.gnome3.evolution-data-server.enable = true;
# services.gnome3.gnome-documents.enable = true;
services.gnome3.gnome-keyring.enable = true;
services.gnome3.gnome-online-accounts.enable = true;
services.gnome3.gnome-user-share.enable = true;
services.gnome3.gvfs.enable = true;
services.gnome3.seahorse.enable = true;
services.gnome3.sushi.enable = true;
services.gnome3.tracker.enable = true;
hardware.pulseaudio.enable = true;
services.telepathy.enable = true;
networking.networkmanager.enable = true;
services.upower.enable = config.powerManagement.enable;
hardware.bluetooth.enable = true;
# Needed for themes and backgrounds
environment.pathsToLink = [ "/share" ];
environment.variables.GIO_EXTRA_MODULES = with pkgs.gnome3; [
"${dconf}/lib/gio/modules"
"${glib_networking}/lib/gio/modules"
"${gvfs}/lib/gio/modules" ];
}