nix-config/home/desktop-river/default.nix

64 lines
1.5 KiB
Nix

{ config, pkgs, stablePkgs, ... }:
let
configure-gtk = let
schema = pkgs.gsettings-desktop-schemas;
datadir = "${schema}/share/gsettings-schemas/${schema.name}";
gsettings = "${pkgs.glib}/bin/gsettings";
in pkgs.writeScriptBin "configure-gtk" ''
#!${pkgs.dash}/bin/dash
export XDG_DATA_DIRS=${datadir}:$XDG_DATA_DIRS
${gsettings} set org.gnome.desktop.interface gtk-theme 'gruvbox-dark'
${gsettings} set org.gnome.desktop.interface icon-theme 'Papirus-Dark'
${gsettings} set org.gnome.desktop.wm.preferences button-layout ""
'';
in {
imports = [
./bemenu.nix
./foot.nix
./init.nix
./kanshi.nix
./kile.nix
./mako.nix
./swaybg.nix
./swaylock.nix
./waybar.nix
];
home.packages = with pkgs; [
configure-gtk
glib
gsettings-desktop-schemas
kile-wl
light
pamixer
playerctl
river
swaybg
wl-clipboard
wtype
xdg-utils
];
programs.zsh.loginExtra = ''
if [[ -z "''${DISPLAY}" ]] && [[ "''${XDG_VTNR}" -eq 1 ]]; then
exec ${pkgs.river}/bin/river
fi
'';
home.sessionVariables.XKB_DEFAULT_LAYOUT = "us";
home.sessionVariables.XKB_DEFAULT_VARIANT = "altgr-intl";
home.sessionVariables.XKB_DEFAULT_OPTIONS = "caps:escape";
systemd.user.targets.river-session = {
Unit = {
Description = "river window manager session";
BindsTo = "graphical-session.target";
Wants = "graphical-session-pre.target";
After = "graphical-session-pre.target";
};
};
}