mirror of
https://github.com/donovanglover/nix-config.git
synced 2025-01-09 07:28:53 +01:00
138 lines
3.0 KiB
Nix
138 lines
3.0 KiB
Nix
{ lib, pkgs, ... }:
|
|
|
|
let
|
|
inherit (lib) singleton;
|
|
|
|
osu-backgrounds = pkgs.callPackage ../packages/osu-backgrounds.nix { };
|
|
in
|
|
{
|
|
home-manager.sharedModules = singleton {
|
|
home.packages = with pkgs; [
|
|
feh
|
|
xclip
|
|
];
|
|
|
|
home.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
|
|
|
|
xrdb -merge ~/.Xresources
|
|
xset r rate 300 50
|
|
feh --bg-fill "$(fish -c 'random choice (fd . ${osu-backgrounds}/2024-07-15-Aerial-Antics-Art-Contest-All-Entries --follow -e jpg -e png)')" &
|
|
|
|
while true; do
|
|
xsetroot -name "$(date +"%F %R")"
|
|
sleep 1m
|
|
done &
|
|
|
|
picom --backend glx --vsync --shadow --fading --blur-background --blur-method dual_kawase --blur-size 10 --daemon
|
|
|
|
fcitx5 &
|
|
|
|
while true; do
|
|
dwm >/dev/null 2>&1
|
|
done
|
|
'';
|
|
};
|
|
|
|
services = {
|
|
picom = rec {
|
|
enable = true;
|
|
backend = "glx";
|
|
|
|
vSync = true;
|
|
fade = true;
|
|
shadow = true;
|
|
|
|
fadeDelta = 5;
|
|
|
|
fadeExclude = [
|
|
"window_type = 'menu'"
|
|
"window_type = 'dropdown_menu'"
|
|
"window_type = 'popup_menu'"
|
|
"window_type = 'tooltip'"
|
|
];
|
|
|
|
shadowExclude = fadeExclude;
|
|
|
|
settings = {
|
|
blur = {
|
|
method = "dual_kawase";
|
|
size = 10;
|
|
};
|
|
};
|
|
};
|
|
|
|
dunst = {
|
|
enable = true;
|
|
|
|
iconTheme = {
|
|
package = pkgs.papirus-icon-theme;
|
|
name = "Papirus";
|
|
};
|
|
|
|
settings = {
|
|
global = {
|
|
geometry = "1870x5-25+45";
|
|
width = 350;
|
|
separator_height = 5;
|
|
padding = 24;
|
|
horizontal_padding = 24;
|
|
frame_width = 3;
|
|
idle_threshold = 120;
|
|
alignment = "center";
|
|
word_wrap = "yes";
|
|
transparency = 5;
|
|
format = "<b>%s</b>: %b";
|
|
markup = "full";
|
|
min_icon_size = 32;
|
|
max_icon_size = 128;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
services = {
|
|
xserver = {
|
|
displayManager.startx.enable = true;
|
|
|
|
windowManager.dwm = {
|
|
enable = true;
|
|
|
|
package = pkgs.dwm.overrideAttrs (oldAttrs: {
|
|
patches = oldAttrs.patches ++ [
|
|
(pkgs.fetchpatch {
|
|
url = "https://dwm.suckless.org/patches/hide_vacant_tags/dwm-hide_vacant_tags-6.4.diff";
|
|
hash = "sha256-GIbRW0Inwbp99rsKLfIDGvPwZ3pqihROMBp5vFlHx5Q=";
|
|
})
|
|
];
|
|
});
|
|
};
|
|
|
|
};
|
|
|
|
libinput = {
|
|
touchpad = {
|
|
naturalScrolling = true;
|
|
accelProfile = "flat";
|
|
};
|
|
|
|
mouse = {
|
|
accelProfile = "flat";
|
|
};
|
|
};
|
|
};
|
|
}
|