You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
2.1 KiB
60 lines
2.1 KiB
/** Main entry point for the home-manager module configuration
|
|
*
|
|
* For some reason, access to the config.libkookie.* option tree
|
|
* is not possible here, but instead needs to be deferred to an
|
|
* imported expression. For that reason, this file only contains
|
|
* key allocations, and no actual configuration content.
|
|
*/
|
|
|
|
{ config, lib, pkgs, home-manager, ... } @ args:
|
|
|
|
{
|
|
xsession.windowManager.i3 =
|
|
let config = (import ./config.nix args);
|
|
in
|
|
{
|
|
enable = true;
|
|
package = pkgs.i3;
|
|
inherit config;
|
|
|
|
# TODO: move this into the config module?
|
|
|
|
extraConfig = with pkgs; ''
|
|
# Setup compositor
|
|
exec_always --no-startup-id "${coreutils}/bin/pkill picom; ${picom}/bin/picom --config ~/.config/i3/picom.conf"
|
|
|
|
# Make CAPSLOCK into ESC because it's 2018
|
|
#
|
|
# Okay actually this is slightly more complicated than that. I'm binding
|
|
# CAPSLOCK to HYPER, so that I can use it as a modifier in emacs, but then
|
|
# using xcape(1) to also make short CAPSLOCK presses into ESCAPE.
|
|
|
|
exec_always --no-startup-id "${xorg.xmodmap}/bin/setxkbmap -layout us -variant altgr-intl -option caps:hyper"
|
|
exec ${xcape}/bin/xcape -e "#66=Escape" -t 150
|
|
|
|
# Always set a wallpaper
|
|
# exec_always --no-startup-id ${feh}/bin/feh --bg-fill config.libkookie.ui.i3.wallpaper ?????
|
|
|
|
bar {
|
|
status_command ${i3status}/bin/i3status -c ~/.config/i3/i3status.conf
|
|
position bottom
|
|
bindsym button4 nop
|
|
bindsym button5 nop
|
|
colors {
|
|
background #0F0F0F
|
|
statusline #D5D5D5
|
|
}
|
|
}
|
|
|
|
focus_follows_mouse no
|
|
|
|
# Layout and design settings that should _really_ be in the module
|
|
default_border pixel 3
|
|
client.focused #4c7899 #285577 #ffffff #F73E5F #666666
|
|
'';
|
|
};
|
|
|
|
xdg.configFile."i3/picom.conf" = (import ./picom.nix args);
|
|
|
|
xdg.configFile."i3/i3status.conf" = (import ./i3status.nix args);
|
|
}
|
|
|