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

58 lines
1.3 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
./waybar.nix
./foot.nix
./mako.nix
./swaylock.nix
./kanshi.nix
];
home.packages = with pkgs; [
configure-gtk
glib
gsettings-desktop-schemas
kile-wl
light
mpdris2
pamixer
playerctl
river
swaybg
wl-clipboard
wtype
xdg-utils
];
programs.zsh.loginExtra = ''
if [[ -z "''${DISPLAY}" ]] && [[ "''${XDG_VTNR}" -eq 1 ]]; then
export XKB_DEFAULT_LAYOUT="us"
export XKB_DEFAULT_VARIANT="altgr-intl"
export XKB_DEFAULT_OPTIONS="caps:escape"
exec ${pkgs.river}/bin/river
fi
'';
home.file.river_init = {
executable = true;
target = "${config.xdg.configHome}/river/init";
source = ./init;
};
}