nixos-config/i3.nix

150 lines
3.7 KiB
Nix
Raw Normal View History

2015-05-27 18:52:02 +02:00
{ config, pkgs, ... }:
{
2016-02-28 14:56:30 +01:00
# programs.ibus.enable = true;
# programs.ibus.plugins = [ pkgs.ibus-anthy pkgs.mozc ];
i18n.inputMethod = {
enabled = "fcitx";
fcitx.engines = with pkgs.fcitx-engines; [ mozc anthy table-other m17n ];
};
2015-05-27 18:52:02 +02:00
2015-09-01 14:16:20 +02:00
environment.systemPackages = with pkgs; with gnome3; [
2015-05-27 18:52:02 +02:00
i3
i3status
rofi
2016-07-24 09:55:31 +02:00
rofi-pass
2015-05-27 18:52:02 +02:00
pa_applet
feh
gnome_keyring
networkmanagerapplet
2016-08-26 07:32:38 +02:00
nautilus # in closure of gnome-terminal anyhow
2018-08-07 14:47:55 +02:00
# colord
2015-05-27 18:52:02 +02:00
evince
arandr
2016-07-24 08:54:13 +02:00
xss-lock i3lock
2018-08-07 14:47:55 +02:00
# xdotool
2016-08-20 18:13:35 +02:00
scrot
2017-01-28 08:28:50 +01:00
pavucontrol
2017-09-02 09:10:46 +02:00
dconf-editor
2016-08-26 07:32:38 +02:00
# gnome3 core packages
desktop_file_utils shared_mime_info
glib gtk3
glib_networking gvfs dconf
gnome_settings_daemon
gnome_themes_standard defaultIconTheme
hicolor_icon_theme
];
2015-05-27 18:52:02 +02:00
fonts = {
2017-08-30 22:37:28 +02:00
enableDefaultFonts = false;
2015-05-27 18:52:02 +02:00
fonts = with pkgs; [
2017-08-30 22:37:28 +02:00
xorg.fontbhlucidatypewriter100dpi
xorg.fontbhlucidatypewriter75dpi
dejavu_fonts
freefont_ttf
gyre-fonts # TrueType substitutes for standard PostScript fonts
liberation_ttf
xorg.fontbh100dpi
xorg.fontmiscmisc
xorg.fontcursormisc
# unifont
2015-08-26 12:22:28 +02:00
wqy_microhei
2015-05-27 18:52:02 +02:00
inconsolata
dejavu_fonts
2016-02-28 14:13:55 +01:00
ipafont
2016-02-22 11:49:29 +01:00
ipaexfont
2017-08-30 22:37:28 +02:00
# unifont
2015-05-27 18:52:02 +02:00
ubuntu_font_family
2016-10-29 02:28:15 +02:00
source-code-pro
2018-02-17 15:00:11 +01:00
fira fira-mono fira-code
2017-08-30 22:37:28 +02:00
noto-fonts-emoji
2018-03-16 18:00:49 +01:00
noto-fonts-cjk
2015-05-27 18:52:02 +02:00
cantarell_fonts # from gnome3 module
];
};
services.xserver = {
enable = true;
displayManager = {
2016-02-28 14:56:30 +01:00
# slim.enable = true;
# slim.defaultUser = "gebner";
# # slim.autoLogin = true;
lightdm.enable = true;
2015-05-27 18:52:02 +02:00
};
desktopManager = {
default = "i3wm";
xterm.enable = false;
session = [ {
name = "i3wm";
start = ''
2017-09-02 09:41:48 +02:00
export XDG_DATA_DIRS=/run/current-system/sw/share/''${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS
2015-06-01 14:14:41 +02:00
export $(${pkgs.gnome3.gnome_keyring}/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh,gpg)
export XDG_CURRENT_DESKTOP=X-Generic
2017-09-02 09:41:48 +02:00
for m in xsettings; do
${pkgs.gnome3.gnome_settings_daemon}/libexec/gsd-$m &
done
2016-10-03 15:21:23 +02:00
i3 &
2015-05-27 18:52:02 +02:00
waitPID=$!
'';
} ];
};
2017-09-02 09:41:48 +02:00
updateDbusEnvironment = true;
2015-05-27 18:52:02 +02:00
windowManager = {
default = "i3";
i3.enable = true;
};
layout = "us";
xkbVariant = "altgr-intl";
xkbOptions = "caps:ctrl_modifier";
};
2015-06-01 14:14:41 +02:00
services.dbus.packages = with pkgs; [ dunst gnome3.gcr ];
2017-09-02 09:41:48 +02:00
services.udev.packages = [ pkgs.gnome3.gnome_settings_daemon ];
2015-05-27 18:52:02 +02:00
# copied from gnome3 module
security.polkit.enable = true;
services.udisks2.enable = true;
2016-07-24 09:45:46 +02:00
services.accounts-daemon.enable = true;
2015-05-27 18:52:02 +02:00
services.geoclue2.enable = true;
services.gnome3.at-spi2-core.enable = true;
2015-12-06 11:38:16 +01:00
# services.gnome3.evolution-data-server.enable = true;
2015-05-27 18:52:02 +02:00
# services.gnome3.gnome-documents.enable = true;
services.gnome3.gnome-keyring.enable = true;
2016-08-26 07:32:38 +02:00
#services.gnome3.gnome-online-accounts.enable = true;
2015-12-06 11:38:16 +01:00
# services.gnome3.gnome-user-share.enable = true;
2015-05-27 18:52:02 +02:00
services.gnome3.gvfs.enable = true;
services.gnome3.seahorse.enable = true;
services.gnome3.sushi.enable = true;
2015-12-06 11:38:16 +01:00
# services.gnome3.tracker.enable = true;
2015-05-27 18:52:02 +02:00
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; [
2017-09-02 09:41:48 +02:00
"${pkgs.lib.getLib dconf}/lib/gio/modules"
"${glib_networking.out}/lib/gio/modules"
2015-05-27 18:52:02 +02:00
"${gvfs}/lib/gio/modules" ];
2017-09-22 20:26:19 +02:00
hardware.pulseaudio = {
enable = true;
zeroconf.discovery.enable = true;
2018-03-25 10:53:17 +02:00
daemon.config = {
flat-volumes = "no";
};
2018-02-17 15:00:11 +01:00
package = pkgs.pulseaudioFull;
2017-09-22 20:26:19 +02:00
};
2015-05-27 18:52:02 +02:00
}