nix-config/home/dwm.nix
Donovan Glover aaef3ecf8b
Revert "meta: Document usage of dwm on phone"
This was cool but there were a few issues such as me not being able to
find the infamous "dock patch" despite grepping for dock on
https://dwm.suckless.org/patches/, which resulted in the keyboard hiding
tiled windows and being below floating windows.

There was also an issue where starting corekeyboard from dwm would
result in styling not being applied compared to starting it from the
terminal.

A third issue was that from a quick attempt I couldn't get callaudiod to
start inside dwm, which was required for gnome-calls.

Overall it looks like I will be using Phosh until further notice on the
PinePhone, as I've already gotten it to work well enough for my use case.
2024-08-28 20:12:40 -04:00

85 lines
1.9 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ config, pkgs, ... }:
let
barScript = "dwm/bar.fish";
in
{
home = {
packages = with pkgs; [
feh
xclip
scrot
];
file.".xinitrc" = {
executable = true;
text = # bash
''
#!/usr/bin/env sh
export XDG_SESSION_TYPE=x11
export GDK_BACKEND=x11
export XDG_CURRENT_DESKTOP=dwm
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS=@im=fcitx
export SDL_IM_MODULE=fcitx
export GLFW_IM_MODULE=ibus
export GTK_CSD=0
xrdb -merge ~/.Xresources
xset r rate 300 50
feh --no-fehbg --bg-scale ${config.stylix.image}
~/.config/${barScript} &
picom --daemon
${pkgs.nemo}/bin/nemo-desktop &
fcitx5 &
while true; do
dbus-launch --sh-syntax --exit-with-session dwm
done
'';
};
};
xdg.configFile = {
${barScript} = {
executable = true;
text = # fish
''
#!/usr/bin/env fish
function get_icon
if test "$argv" -gt 90
echo " "
else if test "$argv" -gt 60
echo " "
else if test "$argv" -gt 30
echo " "
else if test "$argv" -gt 10
echo " "
else
echo " "
end
end
function update_bar
set VOLUME "$(math "$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | choose 1) * 100")%"
set TIME "$(date '+%x%a%R')"
set capacity "$(cat /sys/class/power_supply/BAT0/capacity)"
set BATTERY "$(get_icon $capacity)$capacity%"
xsetroot -name " $VOLUME$BATTERY$TIME "
end
while true
update_bar
sleep 10s
end
'';
};
};
}