nixos-config/i3.nix

99 lines
2.2 KiB
Nix

{ config, pkgs, ... }:
{
imports = [
./common-gui.nix
];
environment.systemPackages = with pkgs; [
i3
i3status
rofi
rofi-pass
feh
gnome3.gnome-keyring
networkmanagerapplet
gnome3.nautilus # in closure of gnome-terminal anyhow
pcmanfm
# colord
evince
arandr
xss-lock i3lock i3lock-color
xdotool
scrot
pavucontrol
pasystray
gnome3.dconf-editor
unclutter-xfixes
dunst
xorg.xev
# gnome3 core packages
desktop_file_utils shared_mime_info
glib gtk3
glib_networking gvfs dconf
gnome3.gnome-settings-daemon
gnome_themes_standard gnome3.adwaita-icon-theme
hicolor_icon_theme
];
services.xserver = {
enable = true;
displayManager = {
# slim.enable = true;
# slim.defaultUser = "gebner";
# # slim.autoLogin = true;
lightdm.enable = true;
# startx.enable = true;
# sddm.enable = true;
defaultSession = "i3wm";
};
desktopManager = {
xterm.enable = false;
session = [ {
name = "i3wm";
start = ''
export XDG_DATA_DIRS=/run/current-system/sw/share/''${XDG_DATA_DIRS:+:}$XDG_DATA_DIRS
export $(${pkgs.gnome3.gnome-keyring}/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)
export XDG_CURRENT_DESKTOP=X-Generic
i3 &
waitPID=$!
'';
} ];
};
updateDbusEnvironment = true;
layout = "us";
xkbVariant = "altgr-intl";
xkbOptions = "caps:ctrl_modifier";
};
# services.dbus.socketActivated = true;
services.dbus.packages = with pkgs; [ dunst ];
systemd.packages = [ pkgs.dunst ];
# https://github.com/NixOS/nixpkgs/issues/157112
nixpkgs.config.packageOverrides = prev:
let
patchedPkgs = import (builtins.fetchTarball {
url = "https://github.com/nixos/nixpkgs/archive/ffdadd3ef9167657657d60daf3fe0f1b3176402d.tar.gz";
sha256 = "1nrz4vzjsf3n8wlnxskgcgcvpwaymrlff690f5njm4nl0rv22hkh";
}) {
inherit (prev) system config;
# inherit (prev) overlays; # not sure
};
patchedPam = patchedPkgs.pam;
in {
i3lock = prev.i3lock.override { pam = patchedPam; };
i3lock-color = prev.i3lock-color.override { pam = patchedPam; };
};
}