mirror of
https://github.com/eRgo35/nix-config.git
synced 2026-02-04 08:46:11 +01:00
BREAKING-CHANGE: changed nixpkgs to stable 24.11 + structure change + fmt
This commit is contained in:
143
home-manager/dwm/.xinitrc
Normal file
143
home-manager/dwm/.xinitrc
Normal file
@@ -0,0 +1,143 @@
|
||||
#!/bin/sh
|
||||
|
||||
# screenlayout setup for odin
|
||||
autorandr -c
|
||||
|
||||
# start some nice programs
|
||||
# if [ -d /etc/X11/xinit/xinitrc.d ] ; then
|
||||
# for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
|
||||
# # shellcheck source=/dev/null
|
||||
# [ -x "$f" ] && . "$f"
|
||||
# done
|
||||
# unset f
|
||||
# fi
|
||||
|
||||
xset -b # disable bell
|
||||
|
||||
export SSH_AUTH_SOCK;
|
||||
# export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket"
|
||||
# ssh-agent -d &
|
||||
|
||||
|
||||
# ssh agent setup
|
||||
#eval `/usr/bin/ssh-agent`
|
||||
#
|
||||
#if test -f /usr/lib/openssh/x11-ssh-askpass # Archlinux
|
||||
#then
|
||||
# SSH_ASKPASS=/usr/lib/openssh/x11-ssh-askpass ssh-add < /dev/null
|
||||
#fi
|
||||
#
|
||||
#if test -f /usr/lib/ssh/x11-ssh-askpass # Debian
|
||||
#then
|
||||
# SSH_ASKPASS=/usr/lib/ssh/x11-ssh-askpass ssh-add < /dev/null
|
||||
#fi
|
||||
|
||||
# theming
|
||||
export QT_QPA_PLATFORMTHEME=qt5ct
|
||||
export DESKTOP_SESSION=plasma
|
||||
export XDG_CURRENT_DESKTOP=dwm
|
||||
|
||||
# IMF configuration (fcitx5)
|
||||
export GTK_IM_MODULE=fcitx
|
||||
export QT_IM_MODULE=fcitx
|
||||
export XMODIFIERS=@im=fcitx
|
||||
export GLFW_IM_MODULE=ibus
|
||||
|
||||
# compositor
|
||||
picom -b --vsync &
|
||||
|
||||
# fix android studio interface
|
||||
export _JAVA_AWT_WM_NONREPARENTING=1 &
|
||||
|
||||
# set keyboard layout
|
||||
setxkbmap pl &
|
||||
# IMF daemon
|
||||
# fcitx5 -d &
|
||||
|
||||
# enable local fonts in .fonts directory
|
||||
# xset +fp /usr/share/fonts/local &
|
||||
# xset +fp /usr/share/fonts/misc &
|
||||
# xset +fp ~/.fonts &
|
||||
# xset fp rehash &
|
||||
# fc-cache -fv &
|
||||
|
||||
# powersaving options
|
||||
# xset s off &
|
||||
# xset s noblank &
|
||||
# xset s noexpose &
|
||||
# xset s on &
|
||||
# xset -dpms &
|
||||
# xset s 900 &
|
||||
xset +dpms &
|
||||
xset dpms 1200 1800 2100 &
|
||||
xset s on &
|
||||
xset s 900 &
|
||||
|
||||
# auths
|
||||
# /usr/lib/mate-polkit/polkit-mate-authentication-agent-1 &
|
||||
# gnome-keyring-daemon &
|
||||
# source /etc/X11/xinit/xinitrc.d/50-systemd-user.sh
|
||||
|
||||
## Map super key to trigger rofi when used alone
|
||||
# xcape -e 'Super_L=Super_L|Shift_L|space' &
|
||||
|
||||
# wallpaper engine and theming
|
||||
# nitrogen --restore &
|
||||
# wal --backend colorz -i $HOME/.dots/nitrogen/.config/nitrogen/pexels-engin-akyurt-1435752.jpg &
|
||||
. ~/.fehbg &
|
||||
|
||||
## Set screen locker
|
||||
xss-lock -v -- betterlockscreen -l --time-format '%I:%M %p' &
|
||||
|
||||
## Desktop portal
|
||||
/usr/lib/xdg-desktop-portal-gtk &
|
||||
|
||||
# notification daemon
|
||||
dunst &
|
||||
|
||||
## Screenshot daemon
|
||||
flameshot &
|
||||
|
||||
# Easyeffects daemon
|
||||
# easyeffects --gapplication-service &
|
||||
|
||||
## Telegram daemon
|
||||
# telegram-desktop -startintray &
|
||||
|
||||
## Caffeine-ng
|
||||
# caffeine >/dev/null 2>&1 &
|
||||
|
||||
## Ulauncher
|
||||
# ulauncher --hide-window --no-window-shadow >/dev/null 2>&1 &
|
||||
|
||||
# Emacs Server
|
||||
# emacs --daemon &
|
||||
|
||||
# Theme changing service
|
||||
# xsettingsd &
|
||||
|
||||
# Theming service
|
||||
# dusk &
|
||||
|
||||
# Alacritty config
|
||||
# $HOME/.config/alacritty/theme-patcher.sh &
|
||||
|
||||
## THINKPAD-SPECIFIC
|
||||
#hash dockd && dockd --daemon &
|
||||
|
||||
# status bar
|
||||
bash $HOME/.config/bar.sh & disown
|
||||
|
||||
dbus-update-activation-environment --systemd DBUS_SESSION_BUS_ADDRESS DISPLAY XAUTHORITY
|
||||
|
||||
# . /etc/X11/Xsession
|
||||
|
||||
# redshift &
|
||||
|
||||
# some merges
|
||||
# xrdb merge .Xresources &
|
||||
# xsetroot -cursor_name left_ptr &
|
||||
|
||||
# start dwm
|
||||
exec dwm
|
||||
|
||||
3
home-manager/dwm/.zprofile
Normal file
3
home-manager/dwm/.zprofile
Normal file
@@ -0,0 +1,3 @@
|
||||
if [ "$(tty)" = "/dev/tty1" ];then
|
||||
exec startx
|
||||
fi
|
||||
85
home-manager/dwm/bar.sh
Executable file
85
home-manager/dwm/bar.sh
Executable file
@@ -0,0 +1,85 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Rosé Pine color palette
|
||||
BASE=#191724
|
||||
SURFACE=#1f1d2e
|
||||
OVERLAY=#26233a
|
||||
|
||||
MUTED=#6e6a86
|
||||
SUBTLE=#908caa
|
||||
TEXT=#e0def4
|
||||
|
||||
LOVE=#eb6f92
|
||||
GOLD=#f6c177
|
||||
ROSE=#ebbcba
|
||||
PINE=#31748f
|
||||
FOAM=#9ccfd8
|
||||
IRIS=#c4a7e7
|
||||
|
||||
HIGHLIGHT_LOW=#21202e
|
||||
HIGHLIGHT_MED=#403d52
|
||||
HIGHLIGHT_HIGH=#524f67
|
||||
|
||||
# Function to get CPU usage
|
||||
get_cpu_usage() {
|
||||
cpu_usage=$(grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {printf "%.0f%%\n", usage}')
|
||||
echo "^c$FOAM^CPU: $cpu_usage"
|
||||
}
|
||||
|
||||
# Function to get memory usage
|
||||
get_memory_usage() {
|
||||
# Extract used and total memory in kilobytes
|
||||
mem_info=$(free -k | awk '/^Mem:/ {print $3, $2}')
|
||||
used_mem=$(echo $mem_info | awk '{print $1}')
|
||||
total_mem=$(echo $mem_info | awk '{print $2}')
|
||||
|
||||
# Calculate memory usage percentage
|
||||
mem_percent=$(awk "BEGIN {printf \"%.0f%%\", ($used_mem / $total_mem) * 100}")
|
||||
|
||||
# Output the result with color
|
||||
echo "^c$IRIS^MEM: $mem_percent"
|
||||
}
|
||||
|
||||
# Function to get volume level
|
||||
get_volume() {
|
||||
# Get the default sink (output device) and its volume/mute status
|
||||
default_sink=$(pactl get-default-sink)
|
||||
volume=$(pactl get-sink-volume $default_sink | grep -o '[0-9]*%' | head -1)
|
||||
is_muted=$(pactl get-sink-mute $default_sink | grep -o 'yes\|no')
|
||||
|
||||
# Replace "yes" with "MUT" and "no" with the volume level
|
||||
if [ "$is_muted" = "yes" ]; then
|
||||
volume="MUT"
|
||||
fi
|
||||
|
||||
# Get the default source (input device) and its volume/mute status
|
||||
default_source=$(pactl get-default-source)
|
||||
mic_level=$(pactl get-source-volume $default_source | grep -o '[0-9]*%' | head -1)
|
||||
is_mic_muted=$(pactl get-source-mute $default_source | grep -o 'yes\|no')
|
||||
|
||||
# Replace "yes" with "MUT" and "no" with the microphone level
|
||||
if [ "$is_mic_muted" = "yes" ]; then
|
||||
mic_level="MUT"
|
||||
fi
|
||||
|
||||
# Output the results with colors
|
||||
echo "^c$PINE^VOL: $volume MIC: $mic_level"
|
||||
}
|
||||
|
||||
# Function to get date and time in American 12-hour format
|
||||
get_datetime() {
|
||||
datetime=$(date +"%a %d %b %I:%M %p")
|
||||
echo "^c$GOLD^$datetime"
|
||||
}
|
||||
|
||||
# Main loop to update xsetroot
|
||||
while true; do
|
||||
# Combine all status components
|
||||
status="$(get_volume) ^c$TEXT^| $(get_cpu_usage) ^c$TEXT^| $(get_memory_usage) ^c$TEXT^| $(get_datetime)"
|
||||
|
||||
# Update the root window name with a darker background
|
||||
xsetroot -name "$status"
|
||||
|
||||
# Sleep for 250 milis before updating
|
||||
sleep 0.25
|
||||
done
|
||||
6
home-manager/dwm/betterlockscreen.nix
Normal file
6
home-manager/dwm/betterlockscreen.nix
Normal file
@@ -0,0 +1,6 @@
|
||||
{pkgs, ...}: {
|
||||
services.betterlockscreen = {
|
||||
enable = true;
|
||||
package = pkgs.betterlockscreen;
|
||||
};
|
||||
}
|
||||
22
home-manager/dwm/black_to_transparent.frag
Normal file
22
home-manager/dwm/black_to_transparent.frag
Normal file
@@ -0,0 +1,22 @@
|
||||
#version 330
|
||||
in vec2 texcoord;
|
||||
uniform float opacity;
|
||||
uniform bool invert_color;
|
||||
uniform sampler2D tex;
|
||||
|
||||
vec4 window_shader() {
|
||||
vec4 c = texelFetch(tex, ivec2(texcoord), 0);
|
||||
{
|
||||
// Change vec4(1.0, 1.0, 1.0, 1.0) to your desired color
|
||||
vec4 vdiff = abs(vec4(0.0, 0.0, 0.0, 1.0) - c);
|
||||
float diff = max(max(max(vdiff.r, vdiff.g), vdiff.b), vdiff.a);
|
||||
// Change 0.8 to your desired opacity
|
||||
if (diff < 0.001)
|
||||
c *= 0;
|
||||
}
|
||||
if (invert_color)
|
||||
c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a);
|
||||
c *= opacity;
|
||||
// vec4 default_post_processing(vec4 c);
|
||||
return c;
|
||||
}
|
||||
86
home-manager/dwm/default.nix
Normal file
86
home-manager/dwm/default.nix
Normal file
@@ -0,0 +1,86 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./picom.nix
|
||||
# ./rofi.nix
|
||||
./flameshot.nix
|
||||
./betterlockscreen.nix
|
||||
./easyeffects.nix
|
||||
# ./theming.nix
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [
|
||||
dmenu
|
||||
st
|
||||
dunst
|
||||
xss-lock
|
||||
xdg-desktop-portal-gtk
|
||||
xorg.xrdb
|
||||
xorg.xrandr
|
||||
xorg.xset
|
||||
xorg.xsetroot
|
||||
xorg.setxkbmap
|
||||
xorg.xbacklight
|
||||
xorg.libX11
|
||||
xorg.libX11.dev
|
||||
xorg.libxcb
|
||||
xorg.libXft
|
||||
xorg.libXinerama
|
||||
xorg.xinit
|
||||
xorg.xinput
|
||||
brightnessctl
|
||||
xclip
|
||||
# gnome.gnome-keyring
|
||||
feh
|
||||
alsa-utils
|
||||
nemo
|
||||
pulseaudioFull
|
||||
arandr
|
||||
neomutt
|
||||
ncmpcpp
|
||||
ncspot
|
||||
ncpamixer
|
||||
lf
|
||||
pamixer
|
||||
w3m
|
||||
bat
|
||||
efibootmgr
|
||||
eww
|
||||
fontconfig
|
||||
freetype
|
||||
gnugrep
|
||||
gparted
|
||||
nfs-utils
|
||||
openssl
|
||||
polkit_gnome
|
||||
ripgrep
|
||||
stdenv
|
||||
tldr
|
||||
variety
|
||||
virt-manager
|
||||
xfce.thunar
|
||||
dconf
|
||||
];
|
||||
|
||||
home.file = {
|
||||
".xinitrc" = {
|
||||
source = ./.xinitrc;
|
||||
};
|
||||
".zprofile" = {
|
||||
source = ./.zprofile;
|
||||
};
|
||||
".config/bar.sh" = {
|
||||
source = ./bar.sh;
|
||||
};
|
||||
# ".Xresources" = {
|
||||
# text = ''
|
||||
# Xcursor.theme: "Bibata-Modern-Classic"
|
||||
# Xcursor.size: 18
|
||||
# '';
|
||||
# };
|
||||
};
|
||||
}
|
||||
5
home-manager/dwm/easyeffects.nix
Normal file
5
home-manager/dwm/easyeffects.nix
Normal file
@@ -0,0 +1,5 @@
|
||||
{pkgs, ...}: {
|
||||
services.easyeffects = {
|
||||
enable = true;
|
||||
};
|
||||
}
|
||||
10
home-manager/dwm/flameshot.nix
Normal file
10
home-manager/dwm/flameshot.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{pkgs, ...}: {
|
||||
services.flameshot = {
|
||||
enable = true;
|
||||
settings = {
|
||||
General = {
|
||||
showStartupLaunchMessage = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
257
home-manager/dwm/picom-animations.conf
Normal file
257
home-manager/dwm/picom-animations.conf
Normal file
@@ -0,0 +1,257 @@
|
||||
# Animations for NORMAL windows.
|
||||
{
|
||||
match = "window_type = 'normal'";
|
||||
animations = (
|
||||
{
|
||||
triggers = ["close", "hide"];
|
||||
opacity = {
|
||||
curve = "linear";
|
||||
duration = 0.1;
|
||||
start = "window-raw-opacity-before";
|
||||
end = 0;
|
||||
};
|
||||
blur-opacity = "opacity";
|
||||
shadow-opacity = "opacity";
|
||||
},
|
||||
{
|
||||
triggers = ["open", "show"];
|
||||
opacity = {
|
||||
curve = "cubic-bezier(0,1,1,1)";
|
||||
duration = 0.5;
|
||||
start = 0;
|
||||
end = "window-raw-opacity";
|
||||
};
|
||||
blur-opacity = "opacity";
|
||||
shadow-opacity = "opacity";
|
||||
offset-x = "(1 - scale-x) / 2 * window-width";
|
||||
offset-y = "(1 - scale-y) / 2 * window-height";
|
||||
scale-x = {
|
||||
curve = "cubic-bezier(0,1.3,1,1)";
|
||||
duration = 0.5;
|
||||
start = 0.6;
|
||||
end = 1;
|
||||
};
|
||||
scale-y = "scale-x";
|
||||
shadow-scale-x = "scale-x";
|
||||
shadow-scale-y = "scale-y";
|
||||
shadow-offset-x = "offset-x";
|
||||
shadow-offset-y = "offset-y";
|
||||
},
|
||||
{
|
||||
triggers = ["geometry"];
|
||||
scale-x = {
|
||||
curve = "cubic-bezier(0,0,0,1.15)";
|
||||
duration = 0.5;
|
||||
start = "window-width-before / window-width";
|
||||
end = 1;
|
||||
}
|
||||
scale-y = {
|
||||
curve = "cubic-bezier(0,0,0,1.15)";
|
||||
duration = 0.5;
|
||||
start = "window-height-before / window-height";
|
||||
end = 1;
|
||||
}
|
||||
# offset-x = {
|
||||
# curve = "cubic-bezier(0,0,0,1.15)";
|
||||
# duration = 0.5;
|
||||
# start = 0;
|
||||
# end = 0;
|
||||
# }
|
||||
# offset-y = {
|
||||
# curve = "cubic-bezier(0,0,0,1.15)";
|
||||
# duration = 0.3;
|
||||
# start = "window-height";
|
||||
# end = 0;
|
||||
# }
|
||||
# offset-x = {
|
||||
# curve = "cubic-bezier(0,0,0,1.15)";
|
||||
# duration = 0.3;
|
||||
# start = "window-x-before - window-monitor-x - window-x";
|
||||
# end = 0;
|
||||
# }
|
||||
offset-y = {
|
||||
curve = "cubic-bezier(0,0,0,1.15)";
|
||||
duration = 0.3;
|
||||
start = "window-height / 2";
|
||||
end = 0;
|
||||
}
|
||||
|
||||
shadow-scale-x = "scale-x";
|
||||
shadow-scale-y = "scale-y";
|
||||
# shadow-offset-x = "offset-x";
|
||||
shadow-offset-y = "offset-y";
|
||||
}
|
||||
)
|
||||
},
|
||||
|
||||
# Animations for Rofi launchers.
|
||||
{
|
||||
match = "class_g = 'Rofi'";
|
||||
animations = (
|
||||
{
|
||||
triggers = ["close", "hide"];
|
||||
preset = "disappear";
|
||||
duration = 0.05;
|
||||
scale = 0.5;
|
||||
},
|
||||
{
|
||||
triggers = ["open", "show"];
|
||||
preset = "appear";
|
||||
duration = 0.2;
|
||||
scale = 0.5;
|
||||
}
|
||||
)
|
||||
},
|
||||
|
||||
|
||||
# Animations for Flameshot.
|
||||
{
|
||||
match = "class_g = 'flameshot'";
|
||||
animations = (
|
||||
{
|
||||
triggers = ["close", "hide"];
|
||||
preset = "disappear";
|
||||
duration = 0.1;
|
||||
scale = 1;
|
||||
},
|
||||
{
|
||||
triggers = ["open", "show"];
|
||||
preset = "appear";
|
||||
duration = 0.1;
|
||||
scale = 1;
|
||||
}
|
||||
)
|
||||
},
|
||||
|
||||
# Animations for Dunst notifications.
|
||||
{
|
||||
match = "class_g = 'Dunst'";
|
||||
animations = (
|
||||
{
|
||||
triggers = ["close", "hide"];
|
||||
preset = "fly-out"; #-dunst-close-preset
|
||||
direction = "up"; #-dunst-close-direction
|
||||
duration = 0.2;
|
||||
},
|
||||
{
|
||||
triggers = ["open", "show"];
|
||||
preset = "fly-in"; #-dunst-open-preset
|
||||
direction = "up"; #-dunst-open-direction
|
||||
duration = 0.2;
|
||||
}
|
||||
)
|
||||
},
|
||||
|
||||
# # Animations for Jgmenu.
|
||||
# {
|
||||
# match = "class_g = 'jgmenu'";
|
||||
# animations = (
|
||||
# {
|
||||
# triggers = ["close", "hide"];
|
||||
# preset = "disappear";
|
||||
# duration = 0.08;
|
||||
# scale = 0.5;
|
||||
# },
|
||||
# {
|
||||
# triggers = ["open", "show"];
|
||||
# preset = "appear";
|
||||
# duration = 0.15;
|
||||
# scale = 0.5;
|
||||
# }
|
||||
# )
|
||||
# },
|
||||
#
|
||||
# # Animations for Scratchpad.
|
||||
# {
|
||||
# match = "class_g = 'Scratch'";
|
||||
# animations = (
|
||||
# {
|
||||
# triggers = ["close", "hide"];
|
||||
# preset = "fly-out";
|
||||
# direction = "up";
|
||||
# duration = 0.2;
|
||||
# },
|
||||
# {
|
||||
# triggers = ["open", "show"];
|
||||
# preset = "fly-in";
|
||||
# direction = "up";
|
||||
# duration = 0.2;
|
||||
# }
|
||||
# )
|
||||
# },
|
||||
#
|
||||
# # Animations for Eww Profile card.
|
||||
# {
|
||||
# match = "name = 'Eww - launchermenu'";
|
||||
# animations = (
|
||||
# {
|
||||
# triggers = ["close", "hide"];
|
||||
# preset = "slide-out";
|
||||
# direction = "right";
|
||||
# duration = 0.2;
|
||||
# },
|
||||
# {
|
||||
# triggers = ["open", "show"];
|
||||
# preset = "slide-in";
|
||||
# direction = "right";
|
||||
# duration = 0.2;
|
||||
# }
|
||||
# )
|
||||
# },
|
||||
#
|
||||
# # Animations for Eww Music player.
|
||||
# {
|
||||
# match = "name = 'Eww - music'";
|
||||
# animations = (
|
||||
# {
|
||||
# triggers = ["close", "hide"];
|
||||
# preset = "slide-out";
|
||||
# direction = "up";
|
||||
# duration = 0.2;
|
||||
# },
|
||||
# {
|
||||
# triggers = ["open", "show"];
|
||||
# preset = "slide-in";
|
||||
# direction = "up";
|
||||
# duration = 0.2;
|
||||
# }
|
||||
# )
|
||||
# },
|
||||
#
|
||||
# # Animations for Eww calendar.
|
||||
# {
|
||||
# match = "name = 'Eww - date'";
|
||||
# animations = (
|
||||
# {
|
||||
# triggers = ["close", "hide"];
|
||||
# preset = "fly-out";
|
||||
# direction = "up";
|
||||
# duration = 0.2;
|
||||
# },
|
||||
# {
|
||||
# triggers = ["open", "show"];
|
||||
# preset = "fly-in";
|
||||
# direction = "up";
|
||||
# duration = 0.2;
|
||||
# }
|
||||
# )
|
||||
# },
|
||||
#
|
||||
# # Animations for Eww Cheatsheet.
|
||||
# {
|
||||
# match = "name = 'Eww - csheet'";
|
||||
# animations = (
|
||||
# {
|
||||
# triggers = ["close", "hide"];
|
||||
# preset = "disappear";
|
||||
# duration = 0.08;
|
||||
# scale = 0.5;
|
||||
# },
|
||||
# {
|
||||
# triggers = ["open", "show"];
|
||||
# preset = "appear";
|
||||
# duration = 0.15;
|
||||
# scale = 0.5;
|
||||
# }
|
||||
# )
|
||||
# }
|
||||
146
home-manager/dwm/picom.conf
Normal file
146
home-manager/dwm/picom.conf
Normal file
@@ -0,0 +1,146 @@
|
||||
## ----- Shadows ----- ##
|
||||
|
||||
shadow = true;
|
||||
|
||||
shadow-radius = 7;
|
||||
#shadow-opacity = .6
|
||||
shadow-offset-x = -7;
|
||||
shadow-offset-y = -7;
|
||||
shadow-color = "#000000"
|
||||
|
||||
## ----- Fading ----- ##
|
||||
|
||||
fading = true;
|
||||
|
||||
fade-in-step = 0.03;
|
||||
fade-out-step = 0.03;
|
||||
fade-delta = 5
|
||||
no-fading-openclose = false
|
||||
no-fading-destroyed-argb = false
|
||||
|
||||
## ----- Transparency ----- ##
|
||||
|
||||
frame-opacity = 1.0;
|
||||
|
||||
# inactive-dim-fixed = true
|
||||
|
||||
## ----- Corners ----- ##
|
||||
|
||||
corner-radius = 10
|
||||
|
||||
#################################
|
||||
# General Settings #
|
||||
#################################
|
||||
|
||||
# Available backends "xrender" "glx" "egl"
|
||||
backend = "glx"
|
||||
|
||||
dithered-present = false;
|
||||
vsync = true;
|
||||
|
||||
detect-rounded-corners = true;
|
||||
detect-client-opacity = true;
|
||||
detect-transient = true;
|
||||
|
||||
use-damage = true;
|
||||
# xrender-sync-fence = false
|
||||
# transparent-clipping = false
|
||||
|
||||
#################################
|
||||
# Rules #
|
||||
#################################
|
||||
|
||||
blur:
|
||||
|
||||
{
|
||||
method = "gaussian";
|
||||
size = 90;
|
||||
deviation = 30;
|
||||
}
|
||||
|
||||
rules: (
|
||||
|
||||
{
|
||||
blur-background = false;
|
||||
fade = false;
|
||||
},
|
||||
|
||||
{
|
||||
match = "window_type = 'normal'";
|
||||
fade = true; #-fade-switch
|
||||
shadow = true; #-shadow-switch
|
||||
},
|
||||
|
||||
{
|
||||
match = "window_type = 'dialog'";
|
||||
shadow = true; #-shadow-switch
|
||||
},
|
||||
|
||||
{
|
||||
match = "window_type = 'tooltip'";
|
||||
corner-radius = 0;
|
||||
opacity = 0.90;
|
||||
},
|
||||
|
||||
{
|
||||
match = "window_type = 'dock'";
|
||||
corner-radius = 0;
|
||||
fade = true;
|
||||
},
|
||||
|
||||
{
|
||||
match = "window_type = 'dropdown_menu' || window_type = 'menu' || window_type = 'popup' || window_type = 'popup_menu'";
|
||||
corner-radius = 0;
|
||||
},
|
||||
|
||||
{
|
||||
match = "class_g = 'Alacritty' || class_g = 'kitty' || class_g = 'FloaTerm'";
|
||||
opacity = 0.95; #-term-opacity-switch
|
||||
blur-background = true; #-blur-switch
|
||||
},
|
||||
|
||||
{
|
||||
match = "class_g = 'Scratch' || class_g = 'Updating'";
|
||||
opacity = 0.93;
|
||||
blur-background = false; #-blur-switch
|
||||
},
|
||||
|
||||
{
|
||||
match = "class_g = 'Polybar' || "
|
||||
"class_g = 'eww-bar' || "
|
||||
"class_g = 'Viewnior' || "
|
||||
"class_g = 'Rofi' || "
|
||||
"class_g = 'mpv' || "
|
||||
"class_g = 'scratch' || "
|
||||
"class_g = 'Dunst' || "
|
||||
"class_g = 'retroarch'";
|
||||
corner-radius = 0;
|
||||
},
|
||||
|
||||
{
|
||||
match = "name = 'Notification' || "
|
||||
"class_g ?= 'Notify-osd' || "
|
||||
"class_g = 'Dunst' || "
|
||||
"class_g = 'Polybar' || "
|
||||
"class_g = 'jgmenu' || "
|
||||
"class_g = 'scratch' || "
|
||||
"class_g = 'Spotify' || "
|
||||
"class_g = 'retroarch' || "
|
||||
"class_g = 'firefox' || "
|
||||
"class_g = 'Rofi' || "
|
||||
"class_g = 'Screenkey' || "
|
||||
"class_g = 'mpv' || "
|
||||
"class_g = 'Viewnior' || "
|
||||
"_GTK_FRAME_EXTENTS@";
|
||||
shadow = false;
|
||||
},
|
||||
|
||||
{
|
||||
match = "class_g = 'i3lock'";
|
||||
shader = "black_to_transparent.frag";
|
||||
blur-background = true;
|
||||
},
|
||||
|
||||
@include "picom-animations.conf"
|
||||
|
||||
)
|
||||
117
home-manager/dwm/picom.nix
Normal file
117
home-manager/dwm/picom.nix
Normal file
@@ -0,0 +1,117 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# home.file = {
|
||||
# ".config/picom/picom.conf" = {
|
||||
# text = builtins.readFile ./picom.conf;
|
||||
# };
|
||||
#
|
||||
# ".config/picom/picom-animations.conf" = {
|
||||
# text = builtins.readFile ./picom-animations.conf;
|
||||
# };
|
||||
#
|
||||
# ".config/picom/black_to_transparent.frag" = {
|
||||
# text = builtins.readFile ./black_to_transparent.frag;
|
||||
# };
|
||||
# };
|
||||
|
||||
home.packages = with pkgs; [
|
||||
picom
|
||||
];
|
||||
|
||||
# services.picom = {
|
||||
# enable = true;
|
||||
# package = pkgs.picom;
|
||||
# backend = "glx";
|
||||
#
|
||||
# shadow = true;
|
||||
# shadowOpacity = 0.2;
|
||||
# shadowOffsets = [1 1];
|
||||
#
|
||||
# shadowExclude = [
|
||||
# "name = 'Notification'"
|
||||
# "class_g = 'Conky'"
|
||||
# "_GTK_FRAME_EXTENTS@:c"
|
||||
# "override_redirect = 1 && !WM_CLASS@:s"
|
||||
# "class_g ?= 'Dmenu'"
|
||||
# "class_g ?= 'Dunst'"
|
||||
# "_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
|
||||
# "_GTK_FRAME_EXTENTS@:c"
|
||||
# "_NET_WM_STATE@:32a *= '_NET_WM_STATE_STICKY'"
|
||||
# "class_g ?= 'i3-frame'"
|
||||
# "class_g = 'Rofi'"
|
||||
# ];
|
||||
#
|
||||
# fade = true;
|
||||
# fadeSteps = [0.08 0.05];
|
||||
#
|
||||
# vSync = true;
|
||||
#
|
||||
# settings = {
|
||||
# shadow = {
|
||||
# radius = 3;
|
||||
# };
|
||||
#
|
||||
# corner-radius = 9;
|
||||
# rounder-corners-exclude = [
|
||||
# "window_type = 'dock'"
|
||||
# "window_type = 'desktop'"
|
||||
# "class_g = 'Dunst'"
|
||||
# ];
|
||||
#
|
||||
# blur = {
|
||||
# method = "dual_kawase";
|
||||
# strength = 10;
|
||||
# background = false;
|
||||
# background-frame = false;
|
||||
# background-fixed = false;
|
||||
# };
|
||||
#
|
||||
# blur-kern = "3x3box";
|
||||
#
|
||||
# # xprop | grep -i 'class'
|
||||
# opacity-rule = [
|
||||
# "90:class_g = 'neovide'"
|
||||
# "90:class_g = 'code-oss'"
|
||||
# "90:class_g = 'discord'"
|
||||
# "90:class_g = 'Emacs'"
|
||||
# "90:class_g = 'TelegramDesktop'"
|
||||
# "90:class_g = 'Spotify'"
|
||||
# "90:class_g = 'easyeffects'"
|
||||
# "90:class_g = 'kitty'"
|
||||
# "90:class_g = 'Nemo'"
|
||||
# "97:class_g = 'firefox'"
|
||||
# ];
|
||||
#
|
||||
# # Exclude conditions for background blur.
|
||||
# # blur-background-exclude = []
|
||||
# blur-background-exclude = [
|
||||
# "window_type = 'dock'"
|
||||
# "window_type = 'desktop'"
|
||||
# "_GTK_FRAME_EXTENTS@:c"
|
||||
# ];
|
||||
#
|
||||
# mark-wmwin-focused = true;
|
||||
# mark-ovredir-focused = true;
|
||||
# detect-rounded-corners = true;
|
||||
# detect-client-opacity = true;
|
||||
# unredir-if-possible = false;
|
||||
# detect-transient = true;
|
||||
# detect-client-leader = true;
|
||||
# use-damage = true;
|
||||
#
|
||||
# window-shader-fg-rule = [
|
||||
# # "black_to_transparent.frag:class_g = 'stalonetray'",
|
||||
# # "black_to_transparent.frag:class_g = 'Minecraft 1.7.10'",
|
||||
# # "black_to_transparent.frag:class_g = 'i3lock'"
|
||||
# # "black_to_transparent.frag:focused = true"
|
||||
# # "black_to_transparent.frag:focused != true",
|
||||
# #"sphere.glsl:focused != true"
|
||||
# #"nordify.glsl:class_g = 'miru'"
|
||||
# ];
|
||||
# };
|
||||
# };
|
||||
}
|
||||
54
home-manager/dwm/theming.nix
Normal file
54
home-manager/dwm/theming.nix
Normal file
@@ -0,0 +1,54 @@
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# enable gtk
|
||||
gtk = {
|
||||
enable = true;
|
||||
cursorTheme = {
|
||||
name = "Bibata-Modern-Classic";
|
||||
package = pkgs.bibata-cursors;
|
||||
};
|
||||
theme = {
|
||||
name = "gruvbox-dark";
|
||||
package = pkgs.gruvbox-dark-gtk;
|
||||
};
|
||||
iconTheme = {
|
||||
name = "oomox-gruvbox-dark";
|
||||
package = pkgs.gruvbox-dark-icons-gtk;
|
||||
};
|
||||
};
|
||||
|
||||
# enable qt
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "qtct";
|
||||
style = {
|
||||
name = "kvantum";
|
||||
};
|
||||
};
|
||||
|
||||
xdg.configFile = {
|
||||
"Kvantum/kvantum.kvconfig".text = ''
|
||||
[General]
|
||||
theme=GraphiteNordDark
|
||||
'';
|
||||
|
||||
"Kvantum/GraphiteNord".source = "${pkgs.graphite-kde-theme}/share/Kvantum/GraphiteNord";
|
||||
};
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 18;
|
||||
};
|
||||
|
||||
xsession.pointerCursor = {
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 18;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user