BREAKING-CHANGE: changed nixpkgs to stable 24.11 + structure change + fmt

This commit is contained in:
2024-12-31 16:18:38 +01:00
parent 8d0f158b98
commit e0d676b63d
81 changed files with 1250 additions and 1143 deletions

View File

@@ -0,0 +1,62 @@
{
myAliases = {
".." = "cd ..";
"cd.." = "cd ..";
ls = "command eza";
grep = "grep --color=auto";
fgrep = "fgrep --color=auto";
egrep = "egrep --color=auto";
l = "eza -G --icons";
ll = "eza -l --icons";
lg = "eza -lG";
lall = "eza -lahF --icons --git";
lalg = "eza -laGhF --icons --git";
latree = "eza -laGghHT --git --icons";
la = "eza --git --icons -la";
lsd = "eza -laD";
cls = "clear";
userlist = "cut -d: -f1 /etc/passwd";
free = "free -mt";
du = "du -ach | sort -h";
ps = "ps auxf";
sudo = "sudo ";
reload = "exec $SHELL -l";
hibernate = "systemctl hibernate";
mkdir = "mkdir -pv";
psmem = "ps -e -orss=,args= | sort -b -k1 -nr";
psmem10 = "ps -e -orss=,args= | sort -b -k1 -nr | head -10";
pscpu = "ps -e -o pcpu,cpu,nice,state,cputime,args|sort -k1,1n -nr";
pscpu10 = "ps -e -o pcpu,cpu,nice,state,cputime,args|sort -k1,1n -nr | head -10";
xclip = "xclip -selection c";
gua = "git remote | xargs -L1 git push --all";
fetch = "fastfetch";
rebuild = "nh os switch";
update = "nh os switch --update";
garbage = "nh clean all && sudo bootctl cleanup ";
hxd = "hx ~/.files/";
hxc = "hx ~/code/";
lr = "eza -R";
tree = "eza -T";
startupctl = "systemctl list-unit-files --type=service | grep enabled";
ga = "git add .";
gap = "git add -p";
gc = "git commit -m";
gu = "git push";
gp = "git pull";
gs = "git status";
gd = "git diff";
};
}

View File

@@ -0,0 +1,7 @@
{lib}: {
options.local.keys = lib.mkOption {};
config.local.keys = {
senpai = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINBehbdWBTyhs8Tqnc7w172XhWcPAcAM6BC9Gny3i8An";
};
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,135 @@
@import "default"
* {
bg: #191724;
cur: #1f1d2e;
fgd: #e0def4;
cmt: #6e6a86;
cya: #9ccfd8;
grn: #31748f;
ora: #ebbcba;
pur: #c4a7e7;
red: #eb6f92;
yel: #f6c177;
font: "Cartograph CF 12";
foreground: @fgd;
background: @bg;
active-background: @grn;
urgent-background: @red;
selected-background: @active-background;
selected-urgent-background: @urgent-background;
selected-active-background: @active-background;
separatorcolor: @active-background;
bordercolor: @ora;
}
#window {
background-color: @background;
border: 3;
border-radius: 6;
border-color: @bordercolor;
padding: 5;
}
#mainbox {
border: 0;
padding: 5;
}
#message {
border: 1px dash 0px 0px ;
border-color: @separatorcolor;
padding: 1px ;
}
#textbox {
text-color: @foreground;
}
#listview {
fixed-height: 0;
border: 2px dash 0px 0px ;
border-color: @bordercolor;
spacing: 2px ;
scrollbar: false;
padding: 2px 0px 0px ;
}
#element {
border: 0;
padding: 1px ;
}
#element.normal.normal {
background-color: @background;
text-color: @foreground;
}
#element.normal.urgent {
background-color: @urgent-background;
text-color: @urgent-foreground;
}
#element.normal.active {
background-color: @active-background;
text-color: @background;
}
#element.selected.normal {
background-color: @selected-background;
text-color: @foreground;
}
#element.selected.urgent {
background-color: @selected-urgent-background;
text-color: @foreground;
}
#element.selected.active {
background-color: @selected-active-background;
text-color: @background;
}
#element.alternate.normal {
background-color: @background;
text-color: @foreground;
}
#element.alternate.urgent {
background-color: @urgent-background;
text-color: @foreground;
}
#element.alternate.active {
background-color: @active-background;
text-color: @foreground;
}
#scrollbar {
width: 2px ;
border: 0;
handle-width: 8px ;
padding: 0;
}
#sidebar {
border: 2px dash 0px 0px ;
border-color: @separatorcolor;
}
#button.selected {
background-color: @selected-background;
text-color: @foreground;
}
#inputbar {
spacing: 0;
text-color: @foreground;
padding: 1px ;
}
#case-indicator {
spacing: 0;
text-color: @foreground;
}
#entry {
spacing: 0;
text-color: @cya;
}
#prompt {
spacing: 0;
text-color: @grn;
}
#inputbar {
children: [ prompt,textbox-prompt-colon,entry,case-indicator ];
}
#textbox-prompt-colon {
expand: false;
str: ":";
margin: 0px 0.3em 0em 0em;
text-color: @grn;
}

View File

@@ -0,0 +1,491 @@
[%General]
author=Sourav Gope
comment=rosepine kvantum theme
x11drag=menubar_and_primary_toolbar
alt_mnemonic=true
left_tabs=true
attach_active_tab=true
mirror_doc_tabs=true
group_toolbar_buttons=false
toolbar_item_spacing=1
toolbar_interior_spacing=3
spread_progressbar=true
composite=true
menu_shadow_depth=5
menu_separator_height=6
tooltip_shadow_depth=6
splitter_width=4
scroll_width=6
scroll_arrows=false
scroll_min_extent=60
slider_width=2
slider_handle_width=18
slider_handle_length=18
center_toolbar_handle=true
check_size=14
textless_progressbar=false
progressbar_thickness=2
menubar_mouse_tracking=true
toolbutton_style=1
double_click=false
translucent_windows=true
blurring=true
popup_blurring=true
vertical_spin_indicators=false
spin_button_width=32
fill_rubberband=false
merge_menubar_with_toolbar=true
small_icon_size=16
large_icon_size=32
button_icon_size=16
toolbar_icon_size=22
combo_as_lineedit=true
animate_states=false
button_contents_shift=false
combo_menu=true
hide_combo_checkboxes=true
combo_focus_rect=true
groupbox_top_label=true
inline_spin_indicators=false
joined_inactive_tabs=false
layout_spacing=6
layout_margin=9
scrollbar_in_view=true
transient_scrollbar=true
transient_groove=false
submenu_overlap=0
tooltip_delay=-1
tree_branch_line=true
dark_titlebar=true
opaque=QMPlay2,kaffeine,kmplayer,subtitlecomposer,kdenlive,vlc,avidemux,avidemux2_qt4,avidemux3_qt4,avidemux3_qt5,kamoso,QtCreator,VirtualBox,trojita,dragon,digikam
reduce_window_opacity=18
scrollable_menu=false
submenu_delay=250
no_inactiveness=false
no_window_pattern=false
reduce_menu_opacity=0
respect_DE=true
contrast=1.00
dialog_button_layout=0
intensity=1.00
saturation=1.00
[GeneralColors]
window.color=#26233a
base.color=#26233a
alt.base.color=#1f1d2e
button.color=#3c4454
light.color=#1f1d2e
mid.light.color=#1f1d2e
dark.color=#1f1d2e
mid.color=#1f1d2e
highlight.color=#524f67
inactive.highlight.color=#1f1d2e
text.color=#e0def4
window.text.color=#e0def4
button.text.color=#e0def4
disabled.text.color=#e0def4
tooltip.text.color=#e0def4
highlight.text.color=#e0def4
link.color=#9ccfd8
link.visited.color=#31748f
progress.indicator.text.color=#e0def4
[Hacks]
transparent_ktitle_label=true
transparent_dolphin_view=true
transparent_pcmanfm_sidepane=true
blur_translucent=true
transparent_menutitle=true
respect_darkness=true
kcapacitybar_as_progressbar=true
force_size_grip=true
iconless_pushbutton=false
iconless_menu=false
disabled_icon_opacity=70
lxqtmainmenu_iconsize=22
normal_default_pushbutton=true
single_top_toolbar=true
tint_on_mouseover=0
transparent_pcmanfm_view=true
middle_click_scroll=false
no_selection_tint=false
opaque_colors=false
scroll_jump_workaround=false
[PanelButtonCommand]
frame=true
frame.element=button
frame.top=3
frame.bottom=3
frame.left=3
frame.right=3
interior=true
interior.element=button
indicator.size=8
text.normal.color=#e0def4
text.focus.color=#e0def4
text.press.color=#e0def4
text.toggle.color=#e0def4
text.shadow=0
text.margin=1
text.iconspacing=4
indicator.element=arrow
text.margin.top=2
text.margin.bottom=2
text.margin.left=2
text.margin.right=2
min_width=+0.3font
min_height=+0.3font
frame.expansion=6
[PanelButtonTool]
inherits=PanelButtonCommand
[Dock]
inherits=PanelButtonCommand
interior.element=dock
frame.element=dock
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
text.normal.color=#e0def4
[DockTitle]
inherits=PanelButtonCommand
frame=false
interior=false
text.normal.color=#e0def4
text.focus.color=#c8c8ca
text.bold=false
[IndicatorSpinBox]
inherits=PanelButtonCommand
frame=true
interior=true
frame.left=1
indicator.element=spin
indicator.size=10
text.normal.color=#e0def4
[RadioButton]
inherits=PanelButtonCommand
frame=false
interior.element=radio
text.normal.color=#e0def4
text.focus.color=#908caa
[CheckBox]
inherits=PanelButtonCommand
frame=false
interior.element=checkbox
text.normal.color=#e0def4
text.focus.color=#908caa
[Focus]
inherits=PanelButtonCommand
frame=true
frame.element=focus
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
frame.patternsize=20
[GenericFrame]
inherits=PanelButtonCommand
frame=true
interior=false
frame.element=common
interior.element=common
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
[LineEdit]
inherits=PanelButtonCommand
frame.element=lineedit
interior.element=lineedit
text.margin.left=0
text.margin.right=0
[DropDownButton]
inherits=PanelButtonCommand
indicator.element=arrow-down
[IndicatorArrow]
indicator.element=arrow
indicator.size=8
[ToolboxTab]
inherits=PanelButtonCommand
text.normal.color=#e0def4
text.focus.color=#908caa
text.press.color=#908caa
[Tab]
inherits=PanelButtonCommand
interior.element=tab
text.margin.left=8
text.margin.right=8
text.margin.top=2
text.margin.bottom=2
frame.element=tab
indicator.element=tab
frame.top=4
frame.bottom=4
frame.left=4
frame.right=4
text.normal.color=#e0def4
text.focus.color=#e0def4
text.toggle.color=#e0def4
frame.expansion=0
[TabFrame]
inherits=PanelButtonCommand
frame.element=tabframe
interior.element=tabframe
frame.top=4
frame.bottom=4
frame.left=4
frame.right=4
[TreeExpander]
inherits=PanelButtonCommand
indicator.size=12
indicator.element=tree
[HeaderSection]
inherits=PanelButtonCommand
interior.element=header
frame.element=header
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
text.bold=false
text.normal.color=#e0def4
text.focus.color=#908caa
text.press.color=#e0def4
text.toggle.color=#e0def4
frame.expansion=0
[SizeGrip]
indicator.element=resize-grip
[Toolbar]
inherits=PanelButtonCommand
indicator.element=toolbar
indicator.size=5
text.margin=0
frame=true
interior.element=menubar
frame.element=menubar
text.normal.color=#e0def4
text.focus.color=#908caa
frame.left=0
frame.right=0
frame.top=0
frame.bottom=1
frame.expansion=0
[Slider]
inherits=PanelButtonCommand
frame.element=slider
interior.element=slider
frame.top=3
frame.bottom=3
frame.left=3
frame.right=3
[SliderCursor]
inherits=PanelButtonCommand
frame=false
interior.element=slidercursor
[Progressbar]
inherits=PanelButtonCommand
frame.element=progress
interior.element=progress
text.margin=0
text.normal.color=#e0def4
text.focus.color=#e0def4
text.press.color=#e0def4
text.toggle.color=#e0def4
text.bold=false
frame.expansion=8
[ProgressbarContents]
inherits=PanelButtonCommand
frame=true
frame.element=progress-pattern
interior.element=progress-pattern
[ItemView]
inherits=PanelButtonCommand
text.margin=0
frame.element=itemview
interior.element=itemview
frame.top=2
frame.bottom=2
frame.left=2
frame.right=2
text.margin.top=2
text.margin.bottom=2
text.margin.left=4
text.margin.right=4
text.normal.color=#e0def4
text.focus.color=#e0def4
text.press.color=#e0def4
text.toggle.color=#e0def4
min_width=+0.3font
min_height=+0.3font
frame.expansion=0
[Splitter]
indicator.size=48
[Scrollbar]
inherits=PanelButtonCommand
indicator.element=arrow
indicator.size=8
[ScrollbarSlider]
inherits=PanelButtonCommand
interior.element=scrollbarslider
interior=true
frame=false
frame.expansion=48
[ScrollbarGroove]
inherits=PanelButtonCommand
interior.element=scrollbargroove
interior=true
frame=false
frame.expansion=48
[MenuItem]
inherits=PanelButtonCommand
frame=true
frame.element=menuitem
interior.element=menuitem
indicator.element=menuitem
text.normal.color=#e0def4
text.focus.color=#e0def4
text.margin.top=1
text.margin.bottom=1
text.margin.left=4
text.margin.right=4
frame.top=3
frame.bottom=3
frame.left=3
frame.right=3
text.bold=false
min_width=+0.3font
min_height=+0.3font
frame.expansion=0
[MenuBar]
inherits=PanelButtonCommand
frame.element=menubar
interior.element=menubar
text.normal.color=#e0def4
frame.bottom=0
frame.expansion=0
[MenuBarItem]
inherits=PanelButtonCommand
interior=true
interior.element=menubaritem
frame.element=menubaritem
frame.top=2
frame.bottom=2
frame.left=2
frame.right=2
text.margin.left=4
text.margin.right=4
text.margin.top=0
text.margin.bottom=0
text.normal.color=#e0def4
text.focus.color=#e0def4
frame.expansion=0
[TitleBar]
inherits=PanelButtonCommand
frame=false
text.margin.top=2
text.margin.bottom=2
text.margin.left=2
text.margin.right=2
interior.element=titlebar
indicator.size=16
indicator.element=mdi
text.normal.color=#e0def4
text.focus.color=#e0def4
text.bold=true
text.italic=false
frame.expansion=0
[ComboBox]
inherits=PanelButtonCommand
interior.element=combo
frame.element=combo
text.press.color=#e0def4
indicator.element=carrow
[Menu]
inherits=PanelButtonCommand
frame.top=1
frame.bottom=1
frame.left=1
frame.right=1
frame.element=menu
interior.element=menu
text.normal.color=#e0def4
text.shadow=false
frame.expansion=0
[GroupBox]
inherits=GenericFrame
frame=false
text.shadow=0
text.margin=0
text.normal.color=#e0def4
text.focus.color=#e0def4
text.bold=true
frame.expansion=0
[TabBarFrame]
inherits=GenericFrame
frame=true
frame.element=tabBarFrame
interior=false
frame.top=4
frame.bottom=4
frame.left=4
frame.right=4
[ToolTip]
inherits=GenericFrame
frame.top=3
frame.bottom=3
frame.left=3
frame.right=3
interior=true
text.shadow=0
text.margin=0
interior.element=tooltip
frame.element=tooltip
frame.expansion=0
[StatusBar]
inherits=GenericFrame
frame=false
interior=false
interior=false
[Window]
interior=true
interior.element=window

File diff suppressed because it is too large Load Diff

After

Width:  |  Height:  |  Size: 226 KiB

143
home-manager/dwm/.xinitrc Normal file
View 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

View File

@@ -0,0 +1,3 @@
if [ "$(tty)" = "/dev/tty1" ];then
exec startx
fi

85
home-manager/dwm/bar.sh Executable file
View 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

View File

@@ -0,0 +1,6 @@
{pkgs, ...}: {
services.betterlockscreen = {
enable = true;
package = pkgs.betterlockscreen;
};
}

View 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;
}

View 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
# '';
# };
};
}

View File

@@ -0,0 +1,5 @@
{pkgs, ...}: {
services.easyeffects = {
enable = true;
};
}

View File

@@ -0,0 +1,10 @@
{pkgs, ...}: {
services.flameshot = {
enable = true;
settings = {
General = {
showStartupLaunchMessage = false;
};
};
};
}

View 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
View 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
View 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'"
# ];
# };
# };
}

View 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;
};
}

74
home-manager/home.nix Normal file
View File

@@ -0,0 +1,74 @@
{hostname, ...}: {
imports =
if hostname == "zion"
then [
./programs/btop.nix
./programs/fastfetch.nix
# ./programs/foot.nix
./programs/git.nix
./programs/gpg.nix
./programs/helix.nix
./programs/kitty.nix
./programs/neovide.nix
./programs/neovim.nix
./programs/packages.nix
./programs/shell.nix
./programs/tmux.nix
./programs/vscodium.nix
./dwm
# ./programs/yazi.nix
# ./programs/zathura.nix
# ./configs/keys.nix
./system/dunst.nix
./system/hypr.nix
./system/hyprland.nix
./system/rofi.nix
./system/stylix.nix
./system/theme.nix
./system/waybar.nix
./system/wlsunset.nix
./system/wofi.nix
]
else if hostname == "thor"
then [
./programs/btop.nix
./programs/fastfetch.nix
# ./programs/foot.nix
./programs/git.nix
./programs/gpg.nix
./programs/helix.nix
./programs/kitty.nix
./programs/neovide.nix
./programs/neovim.nix
./programs/packages.nix
./programs/shell.nix
./programs/tmux.nix
./programs/vscodium.nix
# ./programs/yazi.nix
# ./programs/zathura.nix
# ./configs/keys.nix
./system/dunst.nix
./system/hyprland.nix
./system/rofi.nix
./system/stylix.nix
./system/theme.nix
./system/waybar.nix
./system/wlsunset.nix
./system/wofi.nix
]
else if hostname == "server"
then [
./programs/git.nix
./programs/btop.nix
./programs/yazi.nix
./programs/shell.nix
./programs/helix.nix
./programs/fastfetch.nix
]
else [];
}

View File

@@ -0,0 +1,11 @@
{
programs.btop = {
enable = true;
settings = {
update_ms = 1000;
rounded_corners = false;
proc_sorting = "memory";
shown_boxes = "proc cpu ";
};
};
}

View File

@@ -0,0 +1,120 @@
{
programs.fastfetch = {
enable = true;
settings = {
"$schema" = "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json";
logo = {
type = "kitty";
height = 20;
padding = {
top = 0;
right = 2;
};
};
display = {
separator = " ";
};
modules = [
"break"
{
type = "os";
key = "OS ";
keyColor = "31";
format = "{2} {8}";
}
{
type = "kernel";
key = " ";
keyColor = "31";
format = "{2}";
}
{
type = "packages";
format = "{} (nixpkgs)";
key = " 󰏖 ";
keyColor = "31";
}
{
type = "shell";
key = " ";
keyColor = "31";
}
"break"
{
type = "wm";
key = "WM ";
keyColor = "32";
format = "{2}";
}
{
type = "wmtheme";
key = " 󰉼 ";
keyColor = "32";
}
{
type = "icons";
key = " 󰀻 ";
keyColor = "32";
}
{
type = "cursor";
key = " ";
keyColor = "32";
}
{
type = "terminal";
key = " ";
keyColor = "32";
}
{
type = "terminalfont";
key = " ";
keyColor = "32";
}
"break"
{
type = "host";
format = "{5} {1}";
key = "PC ";
keyColor = "33";
}
{
type = "cpu";
format = "AMD Ryzen 7 8845HS";
key = " ";
keyColor = "33";
}
{
type = "gpu";
format = "AMD Radeon 780M";
key = " 󰢮 ";
keyColor = "33";
}
{
type = "memory";
key = " ";
keyColor = "33";
}
{
type = "swap";
key = " 󰓡 ";
keyColor = "33";
}
{
type = "disk";
key = " 󰋊 ";
keyColor = "33";
}
{
type = "monitor";
key = " ";
keyColor = "33";
format = "{2}x{3} px";
}
];
};
};
}

View File

@@ -0,0 +1,41 @@
{
programs.foot = {
enable = true;
settings = {
main = {
pad = "5x0";
dpi-aware = "yes";
};
mouse = {
hide-when-typing = "yes";
};
tweak = {
font-monospace-warn = "no";
};
colors = {
foreground = "cdd6f4";
background = "1e1e2e";
regular0 = "1e1e2e"; # black
regular1 = "f38ba8"; # red
regular2 = "a6e3a1"; # green
regular3 = "f9e2af"; # yellow
regular4 = "89b4fa"; # blue
regular5 = "cba6f7"; # magenta
regular6 = "94e2d5"; # cyan
regular7 = "cdd6f4"; # white
bright0 = "45475a"; # bright black
bright1 = "f38ba8"; # bright red
bright2 = "a6e3a1"; # bright green
bright3 = "f9e2af"; # bright yellow
bright4 = "89b4fa"; # bright blue
bright5 = "cba6f7"; # bright magenta
bright6 = "94e2d5"; # bright cyan
bright7 = "b4befe"; # bright white
};
};
};
}

View File

@@ -0,0 +1,26 @@
{
programs.freetube = {
enable = true;
settings = {
allowDashAv1Formats = true;
defaultQuality = "1080";
useSponsorBlock = true;
backendFallback = true;
autoplayPlaylists = false;
autoplayVideos = false;
expandSideBar = false;
hideLabelsSideBar = true;
checkForBlogPosts = false;
checkForUpdates = false;
mainColor = "CatppuccinMochaMauve";
secColor = "CatppuccinMochaPink";
baseTheme = "catppuccinMocha";
barColor = false;
};
};
}

View File

@@ -0,0 +1,26 @@
{
programs.git = {
enable = true;
userName = "Michał Czyż";
userEmail = "mike@c2yz.com";
signing = {
key = "9745B9E27E2B1ABB";
signByDefault = true;
};
extraConfig = {
init.defaultBranch = "main";
push.autoSetupRemote = true;
commit.gpgsign = true;
push.enabled = true;
column.ui = "auto";
branch.sort = "-committerdate";
pull.rebase = "false";
rerere.enabled = true;
tag.gpgSign = true;
push.gpgsign = "if-asked";
};
};
}

View File

@@ -0,0 +1,16 @@
{
services.gpg-agent = {
enable = true;
defaultCacheTtl = 1800;
# enableSshSupport = true;
};
# programs.ssh = {
# startAgent = true;
# # agentTimeout = "1h";
# extraConfig = ''
# AddKeysToAgent yes
# IdentityFile ~/.ssh/senpai_ed25519;
# '';
# };
}

View File

@@ -0,0 +1,173 @@
{pkgs, ...}: {
programs.helix = {
enable = true;
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# languages Configuration
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
languages = {
language = [
{
name = "nix";
auto-format = true;
language-servers = ["nixd" "nil"];
formatter = {
command = "${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt";
# command = "${pkgs.nixfmt-rfc-style}/bin/nixfmt";
# command = "${pkgs.alejandra}/bin/alejandra";
};
}
{
name = "bash";
auto-format = true;
language-servers = ["bash-language-server"];
formatter = {
command = "${pkgs.shfmt}/bin/shfmt";
args = ["-i" "2" "-ci"];
};
}
{
name = "python";
auto-format = true;
language-servers = ["pyright"];
formatter = {
command = "${pkgs.black}/bin/black";
args = ["--quiet" "-"];
};
}
{
name = "rust";
auto-format = false;
file-types = ["rs"];
language-servers = ["rust-analyzer"];
formatter = {command = "${pkgs.rustfmt}/bin/rustfmt";};
}
{
name = "zig";
auto-format = true;
language-servers = ["zsl"];
formatter = {command = "${pkgs.zig}/bin/zig";};
}
{
name = "html";
auto-format = true;
language-servers = ["vscode-langservers-extracted"];
}
{
name = "javascript";
auto-format = true;
language-servers = ["typescript-language-server"];
}
];
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Language Server Protocol Configuration
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
language-servers = {
nil = {command = "${pkgs.nixd}/bin/nixd";};
rust-analyzer = {
config = {
check = {command = "${pkgs.clippy}/bin/cargo-clippy";};
# cargo.features = "all";
checkOnSave.command = "${pkgs.clippy}/bin/cargo-clippy";
completion.autoimport.enable = true;
};
};
typescript-language-server = {
command = "${pkgs.nodePackages_latest.typescript-language-server}/bin/typescript-language-server";
args = ["--stdio"];
};
};
};
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Needed Packages
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
extraPackages = with pkgs; [
# DEBUG
lldb_18
# lldb-vscode :
# c
# cpp
# = < NIX > =
# = Language Server Protocol =
nil
nixd
# = DAP =
# = Formatter =
# nixfmt
nixfmt-rfc-style
# alejandra
# = < Bash > =
# = Language Server Protocol =
nodePackages.bash-language-server
# = DAP =
# = Formatter =
shfmt
# = < Python > =
# = Language Server Protocol =
pyright
# = DAP =
# = Formatter =
black
# = < Rust > =
# = Language Server Protocol =
rust-analyzer
# = DAP =
lldb
# = Formatter =
# rust-fmt
clippy # Good place ?
# = < lua > =
# = Language Server Protocol =
lua-language-server
# = DAP =
# = Formatter =
# = < Zig > =
# = Language Server Protocol =
zls
# = DAP =
# lldb (commented because already called)
# = Formatter =
zig
# = < HTML > =
# = Language Server Protocol =
# vscode-html-language-server
vscode-langservers-extracted
# = DAP =
# = Formatter =
# = < CSS > =
# = Language Server Protocol =
nodePackages_latest.typescript-language-server
# = DAP =
# = Formatter =
# = Language Server Protocol =
docker-compose-language-service
dockerfile-language-server-nodejs
yaml-language-server
ansible-language-server
];
};
}

View File

@@ -0,0 +1,19 @@
{lib, ...}: {
programs.kitty = {
enable = true;
font = {
name = lib.mkForce "FiraCode Nerd Font";
size = 12;
};
themeFile = "rose-pine";
settings = {
confirm_os_window_close = 0;
window_padding_width = 10;
scrollback_lines = 10000;
enable_audio_bell = false;
mouse_hide_wait = 60;
};
};
}

View File

@@ -0,0 +1,10 @@
{
programs.librewolf = {
enable = true;
settings = {
"browser.sessionstore.resume_from_crash" = false;
"DisableSystemAddonUpdate" = true;
"DisableSetDesktopBackground" = true;
};
};
}

View File

@@ -0,0 +1,17 @@
{pkgs, ...}: {
home.packages = with pkgs; [
neovide
];
home.file = {
".config/neovide/config.toml" = {
text = ''
vsync = true
[font]
normal = ["FiraCode Nerd Font"]
size = 14
'';
};
};
}

View File

@@ -0,0 +1,20 @@
{
inputs,
pkgs,
...
}: {
# programs.neovim = {
# enable = true;
# # package = pkgs.neovim;
# # viAlias = true;
# # vimAlias = true;
# # vimdiffAlias = true;
# # defaultEditor = true;
# };
home.packages = with pkgs; [
neovim
];
}

View File

@@ -0,0 +1,90 @@
{
inputs,
pkgs,
...
}: {
programs.direnv.enable = true;
programs.direnv.nix-direnv.enable = true;
home.packages = with pkgs; [
# > graphics < #
tuxpaint
# krita
gimp
# > terminal < #
kitty
kitty-themes
# > tools < #
git
wget
eza
yt-dlp
ffmpeg
texlive.combined.scheme-full
fastfetch
zoxide
btop
htop
killall
woeusb
pavucontrol
steam-run
unzip
openvpn
wol
direnv
p7zip
hoppscotch
networkmanagerapplet
protonvpn-cli_2
python3
pwvucontrol
# > media < #
spotify
vlc
mpv
obs-studio
okular
# > desktop < #
# firefox
whatsapp-for-linux
telegram-desktop
google-chrome
chromium
evolution
obsidian
foliate
helio-workstation
# vesktop
equibop
inputs.zen-browser.packages."${system}".default
# > gaming < #
prismlauncher
classicube
# > development < #
android-studio
seahorse
iwgtk
imv
feh
zed-editor
zint
zip
unzip
pavucontrol
libreoffice
qalculate-gtk
file-roller
vim
# nixfmt-rfc-style
nemo
nixd
glfw-wayland-minecraft
];
}

View File

@@ -0,0 +1,61 @@
{
programs.qutebrowser = {
enable = false;
searchEngines = {
"DEFAULT" = "https://priv.au/search?q={}";
"d" = "https://duckduckgo.com/?q={}&ia=web";
"n" = "https://mynixos.com/search?q={}";
"nixo" = "https://search.nixos.org/options?channel=unstable&query={}";
"nixp" = "https://search.nixos.org/packages?channel=unstable&query={}";
"gt" = "https://github.com/search?q={}&type=repositories";
};
quickmarks = {
nwiki = "https://wiki.nixos.org/wiki/NixOS_Wiki";
nflake = "https://nixos-and-flakes.thiscute.world/introduction/";
nixy = "https://github.com/anotherhadi/nixy?tab=readme-ov-file";
nca = "https://github.com/nix-community/awesome-nix";
nc = "https://github.com/nix-community";
yb = "https://youatb.unibocconi.it/";
bk = "https://blackboard.unibocconi.it/ultra/stream";
pz = "https://piazza.com/class/m0nl57y6g4z1wh";
om = "https://outlook.office.com/mail/";
pm = "https://mail.proton.me/u/0/inbox";
tm = "https://app.tuta.com/mail/";
mai = "https://chat.mistral.ai/chat";
cai = "https://claude.ai/new";
chess = "https://www.chess.com/home";
lichess = "https://lichess.org/";
git = "https://github.com/dashboard";
berg = "https://codeberg.org/PyNEL/Dotfiles";
box = "http://192.168.1.254/#";
};
settings = {
content = {
autoplay = false;
javascript.clipboard = "access";
prefers_reduced_motion = true;
cookies.accept = "no-3rdparty";
pdfjs = true;
};
qt = {
highdpi = true;
};
scrolling = {
bar = "never";
smooth = true;
};
};
};
}

View File

@@ -0,0 +1,72 @@
{pkgs, ...}: let
cli = import ../configs/aliases.nix;
in {
programs = {
zoxide.enable = true;
eza = {
enable = true;
icons = "auto";
extraOptions = [
"--group-directories-first"
"--header"
"--icons"
];
};
starship = {
enable = true;
settings = {
add_newline = true;
};
};
zellij = {
enable = true;
settings = {
ui = {
pane_frames.hide_session_name = true;
pane_borderless = true;
};
};
};
bash = {
enable = true;
enableCompletion = true;
shellAliases = cli.myAliases;
};
zsh = {
enable = true;
enableCompletion = true;
history.size = 10000000;
shellAliases = cli.myAliases;
# plugins = [
# {
# name = "powerlevel10k";
# src = pkgs.zsh-powerlevel10k;
# file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
# }
# ];
autosuggestion = {
enable = true;
};
syntaxHighlighting = {
enable = true;
};
historySubstringSearch = {
enable = true;
};
initExtra = ''
eval "$(zoxide init --cmd cd zsh)"
'';
};
};
}

View File

@@ -0,0 +1,18 @@
{
inputs,
pkgs,
...
}: {
imports = [inputs.spicetify-nix.homeManagerModules.default];
programs.spicetify = {
enable = true;
#theme = spicePkgs.themes.catppuccin;
#colorScheme = "mocha";
enabledExtensions = with inputs.spicetify-nix.legacyPackages.${pkgs.system}.extensions; [
fullAppDisplay
shuffle
hidePodcasts
];
};
}

View File

@@ -0,0 +1,49 @@
{pkgs, ...}: {
programs.tmux = {
enable = true;
mouse = true;
prefix = "C-Space";
keyMode = "vi";
terminal = "screen-256color";
baseIndex = 1;
plugins = with pkgs.tmuxPlugins; [
sensible
vim-tmux-navigator
rose-pine
yank
];
extraConfig = ''
# history limit
set -g history-limit 5000
# increase repeat time
set -g repeat-time 1000
# decrese command delay
set -sg escape-time 1
# faster key repetition
set -s escape-time 0
setw -g aggressive-resize on
# reload tmux while using tmux
bind r source-file ~/.config/tmux/tmux.conf \; display "Reloaded!"
# Shift Alt vim keys to switch windows
bind -n M-H previous-window
bind -n M-L next-window
# Vim like yank
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
# Open panes in current directory
bind '"' split-window -v -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
'';
};
}

View File

@@ -0,0 +1,74 @@
{pkgs, ...}: {
programs.vscode = {
enable = true;
package = pkgs.vscode.fhsWithPackages (
ps:
with ps; [
rustup
zlib
openssl.dev
pkg-config
# nixfmt-rfc-style
python3
]
);
extensions = with pkgs.vscode-extensions; [
ms-python.python
ms-python.debugpy
jnoortheen.nix-ide
mkhl.direnv
arrterian.nix-env-selector
mvllow.rose-pine
github.copilot
# github.copilot-chat
ms-vsliveshare.vsliveshare
rust-lang.rust-analyzer
];
userSettings = {
"editor.fontSize" = 16;
"editor.fontFamily" = "FiraCode Nerd Font";
"explorer.confirmDelete" = false;
"disable-hardware-acceleration" = true;
"explorer.confirmDragAndDrop" = true;
"git.openRepositoryInParentFolders" = "never";
"[python]" = {
"editor.defaultFormatter" = "ms-python.black-formatter";
"editor.formatOnSave" = true;
};
"nix.enableLanguageServer" = true;
"nix.serverPath" = "${pkgs.nixd}/bin/nixd";
"nix.serverSettings" = {
"nixd" = {
"formatting" = {
"command" = ["${pkgs.nixpkgs-fmt}/bin/nixpkgs-fmt"];
};
"nixpkgs" = {
"expr" = "import <nixpkgs> { }";
"options" = {
"nixos" = {
"expr" = ''(builtins.getFlake "/home/mike/.files").nixosConfigurations.zion.options'';
};
};
};
};
};
"editor.formatOnSave" = true;
"editor.fontLigatures" = true;
"editor.formatOnPaste" = true;
"editor.minimap.enabled" = false;
# "symbols.hidesExplorerArrows" = false;
"workbench.iconTheme" = "rose-pine-icons";
"workbench.colorTheme" = "Rosé Pine";
"workbench.preferredDarkColorTheme" = "Rosé Pine";
"workbench.preferredHighContrastColorTheme" = "Rosé Pine";
};
};
}

View File

@@ -0,0 +1,12 @@
{
programs.yazi = {
enable = true;
settings = {
manager = {
sort_by = "alphabetical";
show_hidden = true;
show_symlink = true;
};
};
};
}

View File

@@ -0,0 +1,14 @@
# Zathura is a PDF viewer
{
programs.zathura = {
enable = true;
options = {
guioptions = "v";
adjust-open = "width";
statusbar-basename = true;
render-loading = false;
scroll-step = 120;
};
};
}

View File

@@ -0,0 +1,8 @@
{pkgs, ...}: {
home.packages = with pkgs; [libnotify];
services.dunst = {
enable = true;
package = pkgs.dunst;
};
}

View File

@@ -0,0 +1,11 @@
{
lib,
pkgs,
inputs,
hostname,
...
}: {
home.packages = with pkgs; [
hypr
];
}

View File

@@ -0,0 +1,789 @@
{
lib,
pkgs,
inputs,
hostname,
...
}: {
# ------------------------------------------------
# Needed Packages
# ------------------------------------------------
home.packages = with pkgs; [
qt6ct
qt6.qtwayland
hyprshot
hyprshade
hyprpicker
inputs.hyprsunset.packages."${pkgs.system}".hyprsunset
inputs.hyprsysteminfo.packages."${pkgs.system}".hyprsysteminfo
inputs.hyprpolkitagent.packages."${pkgs.system}".hyprpolkitagent
xdg-desktop-portal-hyprland
wev
wlr-randr
wdisplays
wl-clipboard
# wl-copy
# wl-paste
# wf-recorder
# wl-screenrec
playerctl
brightnessctl
];
# ------------------------------------------------
# Hyprland Config
# ------------------------------------------------
wayland.windowManager.hyprland = {
enable = true;
systemd.enable = true;
xwayland.enable = true;
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
plugins = [
inputs.split-monitor-workspaces.packages."${pkgs.system}".split-monitor-workspaces
];
# ------------------------------------------------
# Configuration
# ------------------------------------------------
# settings = {
# "$mod" = "SUPER";
# "$shiftMod" = "SUPER_SHIFT";
# "$Alt_L" = "ALT";
# # App
# "$terminal" = "kitty";
# "$browser" = "firefox";
# "$launcher" = "rofi -show drun";
# "$file-manager" = "nemo";
# "$Tfile-manager" = "$terminal -e yazi";
# "$audio-manager" = "com.saivert.pwvucontrol";
# "$password-manager" = "org.keepassxc.KeePassXC";
# "$bluetooth-manager" = "io.github.kaii_lb.Overskride";
# # ------------------------------------------------
# # Envirronement variables
# # ------------------------------------------------
# env = [
# "XDG_SESSION_TYPE,wayland"
# "XDG_CURRENT_DESKTOP,Hyprland"
# "XDG_SESSION_DESKTOP,Hyprland"
# "DISABLE_QT5_COMPAT,1"
# "QT_QPA_PLATFORM,wayland"
# "QT_AUTO_SCREEN_SCALE_FACTOR,1"
# "QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
# "NIXOS_OZONE_WL,1"
# "ELECTRON_OZONE_PLATFORM_HINT,auto"
# "GTK_WAYLAND_DISABLE_WINDOWDECORATION,1"
# ];
# # ------------------------------------------------
# # Startup
# # ------------------------------------------------
# exec-once = [
# "waybar"
# # "systemctl --user start hyprpolkitagent"
# ];
# # ------------------------------------------------
# # Monitors
# # ------------------------------------------------
# monitor = [
# "HDMI-A-1, preferred, 0x360, 1"
# "DP-1, highrr, 4480x0, 1"
# "DP-2, highrr, 1920x0, 1"
# ];
# # ------------------------------------------------
# # Window Rules
# # ------------------------------------------------
# windowrule = [
# "float, ^($terminal)$"
# "size 45% 45%,^($terminal)$"
# "float, ^($password-manager)$"
# "size 50% 40%,^($password-manager)$"
# "float, ^($bluetooth-manager)$"
# "size 50% 60%,^($bluetooth-manager)$"
# "float, ^($audio-manager)$"
# "size 50% 30%,^($audio-manager)$"
# "noblur, class:^(steam)"
# "forcergbx, class:^(steam)"
# ];
# # ------------------------------------------------
# # Keybidings
# # ------------------------------------------------
# bind = [
# # Apps
# "ALT, code:10, exec, $browser"
# "ALT, code:11, exec, $file-manager"
# "ALT, code:12, exec, $Tfile-manager"
# # System
# "SUPER, RETURN, exec, $terminal"
# "SUPER, X, exec, powermenu"
# "SUPER, R, exec, $launcher"
# "SUPER, Q, killactive"
# "SUPER, F, fullscreen"
# "SUPER, T, togglefloating"
# # Screenshot
# "ALT, S , exec , hyprshot -m region --clipboard-only"
# "CONTROL&ALT , S , exec , hyprshot -m region "
# "CONTROL&ALT&SHIFT_L , S , exec , hyprshot -m output"
# # Window Focus
# "SUPER, h, movefocus, l"
# "SUPER, l, movefocus, r"
# "SUPER, k, movefocus, u"
# "SUPER, j, movefocus, d"
# # Switch workspaces with mainMod + [0-9]
# "SUPER, code:10, workspace, 1"
# "SUPER, code:11, workspace, 2"
# "SUPER, code:12, workspace, 3"
# "SUPER, code:13, workspace, 4"
# "SUPER, code:14, workspace, 5"
# "SUPER, code:15, workspace, 6"
# "SUPER, code:16, workspace, 7"
# "SUPER, code:17, workspace, 8"
# "SUPER, code:18, workspace, 9"
# "SUPER, code:19, workspace, 10"
# # Move active window to a workspace with mainMod + SHIFT + [0-9]
# "SUPER SHIFT, code:10, movetoworkspace, 1"
# "SUPER SHIFT, code:11, movetoworkspace, 2"
# "SUPER SHIFT, code:12, movetoworkspace, 3"
# "SUPER SHIFT, code:13, movetoworkspace, 4"
# "SUPER SHIFT, code:14, movetoworkspace, 5"
# "SUPER SHIFT, code:15, movetoworkspace, 6"
# "SUPER SHIFT, code:16, movetoworkspace, 7"
# "SUPER SHIFT, code:17, movetoworkspace, 8"
# "SUPER SHIFT, code:18, movetoworkspace, 9"
# "SUPER SHIFT, code:19, movetoworkspace, 10"
# ];
# bindm = [
# "SUPER, mouse:272, movewindow"
# "SUPER, mouse:273, resizewindow"
# ];
# bindl = [
# ",XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
# ",switch:Lid Switch, exec, pidof hyprlock || hyprlock"
# ];
# bindle = [
# ", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%+ -l 1"
# ", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%-"
# ", XF86AudioPlay , exec , playerctl play-pause"
# ", XF86AudioStop , exec , playerctl pause"
# ", XF86AudioPrev , exec , playerctl previous"
# ", XF86AudioNext , exec , playerctl next"
# ", XF86MonBrightnessUp, exec, brightnessctl -q s 5%+"
# ", XF86MonBrightnessDown, exec, brightnessctl -q s 5%-"
# ];
# # ------------------------------------------------
# # Sections
# # ------------------------------------------------
# xwayland = { enabled = false; };
# opengl = { force_introspection = 1; };
# animations = { enabled = false; };
# decoration = { drop_shadow = false; blur = { enabled = false; }; };
# general = {
# gaps_in = 4;
# gaps_out = 0;
# border_size = 2;
# "col.active_border" = "rgb(F5A97F) rgb(ED8796) rgb(C6A0F6) rgb(8AADF4) rgb(A6DA95) rgb(EED49F)";
# layout = "dwindle";
# };
# misc = {
# vfr = true;
# vrr = 1;
# focus_on_activate = true;
# disable_autoreload = true;
# disable_hyprland_logo = true;
# disable_splash_rendering = true;
# };
# input = {
# kb_layout = "us";
# kb_variant = "";
# follow_mouse = 1;
# accel_profile = "flat";
# sensitivity = 0.4;
# repeat_delay = 300;
# repeat_rate = 50;
# touchpad = {
# natural_scroll = true;
# clickfinger_behavior = true;
# disable_while_typing = true;
# };
# };
# };
extraConfig = ''
# This is an example Hyprland config file.
# Refer to the wiki for more information.
# https://wiki.hyprland.org/Configuring/Configuring-Hyprland/
# Please note not all available settings / options are set here.
# For a full list, see the wiki
# You can split this configuration into multiple files
# Create your files separately and then link them to this file like this:
# source = ~/.config/hypr/myColors.conf
################
### MONITORS ###
################
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=, preferred, auto, 1
monitor=HDMI-A-1, preferred, 0x360, 1
monitor=DP-1, highrr, 4480x0, 1
monitor=DP-2, highrr, 1920x0, 1
###################
### MY PROGRAMS ###
###################
# See https://wiki.hyprland.org/Configuring/Keywords/
# Set programs that you use
$terminal = kitty
$fileManager = nemo
$menu = rofi -show drun
$lock = pidof hyprlock || hyprlock
$editor = zed
$browser = zen-browser
$picker = hyprpicker -a -f hex
#################
### AUTOSTART ###
#################
# Autostart necessary processes (like notifications daemons, status bars, etc.)
# exec-once = hyprpm reload -n
exec-once = hypridle
exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
# exec-once=zsh $HOME/.config/hypr/autostart.sh
exec-once = waybar
# exec-once = keepassxc
#############################
### ENVIRONMENT VARIABLES ###
#############################
# See https://wiki.hyprland.org/Configuring/Environment-variables/
env = XCURSOR_SIZE,24
env = XCURSOR_THEME,/usr/share/icons/Gruvbox-Dark/index.theme
env = HYPRCURSOR_SIZE,24
env = HYPRCURSOR_THEME,/usr/share/icons/Gruvbox-Dark/index.theme
env = CLUTTER_BACKEND,wayland
env = GDK_BACKEND,wayland,x11
env = QT_AUTO_SCREEN_SCALE_FACTOR,1
env = QT_QPA_PLATFORMTHEME,qt5ct
env = QT_QPA_PLATFORMTHEME,qt6ct
env = QT_SCALE_FACTOR,1
env = QT_WAYLAND_DISABLE_WINDOWDECORATION,1
# Nvidia
env = LIBVA_DRIVER_NAME,nvidia
env = XDG_SESSION_TYPE,wayland
env = GBM_BACKEND,nvidia-drm
env = __GLX_VENDOR_LIBRARY_NAME,nvidia
env = WLR_NO_HARDWARE_CURSORS,1
env = __NV_PRIME_RENDER_OFFLOAD,1
env = __VK_LAYER_NV_optimus,NVIDIA_only
env = __GL_THREADED_OPTIMIZATIONS,0
# Wayland enforce
env = QT_QPA_PLATFORM,wayland
# env = QT_QPA_PLATFORM,wayland;xcb
env = ELECTRON_OZONE_PLATFORM_HINT,wayland
env = XDG_CURRENT_DESKTOP,Hyprland
env = XDG_SESSION_DESKTOP,Hyprland
# Java
env = _JAVA_AWT_WM_NONREPARENTING,1
env = _JAVA_OPTIONS,-Dawt.useSystemAAFontSettings=on
# Firefox
env = MOZ_ENABLE_WAYLAND,1
env = MOZ_DISABLE_RDD_SANDBOX,1
env = EGL_PLATFORM,wayland
# Electron
env = ELECTRON_OZONE_PLATFORM_HINT,auto
# Input
env = QT_IM_MODULE,fcitx
env = XMODIFIERS=@im=fcitx
env = GLFW_IM_MODULE,ibus
# SSH Agents
env = SSH_AUTH_SOCK,$XDG_RUNTIME_DIR/ssh-agent.socket
env = NIXOS_OZONE_WL,1
#####################
### LOOK AND FEEL ###
#####################
# Refer to https://wiki.hyprland.org/Configuring/Variables/
# https://wiki.hyprland.org/Configuring/Variables/#general
general {
gaps_in = 10
gaps_out = 20
border_size = 1
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = rgba(fabd2fee) rgba(fe8019ee) 45deg
col.inactive_border = rgba(928374aa)
# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
layout = dwindle
}
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 10
# Change transparency of focused and unfocused windows
active_opacity = 0.98
inactive_opacity = 0.95
# drop_shadow = true
# shadow_range = 5
# shadow_render_power = 3
# col.shadow = rgba(1a1a1aee)
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur {
enabled = true
size = 4
passes = 3
vibrancy = 0.1696
}
}
cursor {
no_hardware_cursors = true
inactive_timeout = 5
}
# https://wiki.hyprland.org/Configuring/Variables/#animations
animations {
enabled = true
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
animation = windows, 1, 7, myBezier
animation = windowsOut, 1, 7, default, popin 80%
animation = border, 1, 10, default
animation = borderangle, 1, 8, default
animation = fade, 1, 7, default
animation = workspaces, 1, 6, default
}
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
}
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
master {
new_status = master
}
# https://wiki.hyprland.org/Configuring/Variables/#misc
misc {
force_default_wallpaper = -1 # Set to 0 or 1 to disable the anime mascot wallpapers
disable_hyprland_logo = false # If true disables the random hyprland logo / anime girl background. :(
}
#############
### INPUT ###
#############
# https://wiki.hyprland.org/Configuring/Variables/#input
input {
kb_layout = pl
kb_variant =
kb_model =
kb_options =
kb_rules =
numlock_by_default = true
follow_mouse = 1
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = true
}
}
# https://wiki.hyprland.org/Configuring/Variables/#gestures
gestures {
workspace_swipe = false
}
# Example per-device config
# See https://wiki.hyprland.org/Configuring/Keywords/#per-device-input-configs for more
# device {
# name = epic-mouse-v1
# sensitivity = -0.5
# }
###############
### PLUGINS ###
###############
plugin {
split-monitor-workspaces {
count = 10
keep_focused = 1
enable_notifications = 0
}
}
##############
### RENDER ###
##############
render {
explicit_sync = 1
}
xwayland {
force_zero_scaling = true
}
####################
### KEYBINDINGSS ###
####################
# See https://wiki.hyprland.org/Configuring/Keywords/
$mainMod = SUPER # Sets "Windows" key as main modifier
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
bind = $mainMod SHIFT, RETURN, exec, $terminal
bind = $mainMod, Q, killactive,
bind = $mainMod SHIFT, Q, exit
bind = $mainMod, N, exec, $fileManager
bind = $mainMod, W, exec, $editor
bind = $mainMod, Z, exec, $terminal
bind = $mainMod, B, exec, $browser
bind = $mainMod SHIFT, L, exec, $lock
bind = $mainMod, V, togglefloating,
bind = $mainMod, R, exec, $menu
bind = $mainMod, SPACE, exec, $menu
bind = $mainMod SHIFT, C, exec, $picker
bind = $mainMod, P, pseudo, # dwindle
bind = $mainMod, J, togglesplit, # dwindle
bind = $mainMod, F, fullscreen, 1
bind = $mainMod SHIFT, F, fullscreen, 0
bind = $mainMod, T, togglefloating
bind = $mainMod, mouse:274, togglefloating
# Super Rat Binds
bind = , mouse:277, exec, amixer set Master playback 2%+
bind = , mouse:278, exec, amixer set Master playback 2%-
# bind = , mouse:279, exec,
bind = , mouse:280, exec, amixer set Capture toggle
# Move focus with mainMod + vim keys
bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r
bind = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d
# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, split-workspace, 1
bind = $mainMod, 2, split-workspace, 2
bind = $mainMod, 3, split-workspace, 3
bind = $mainMod, 4, split-workspace, 4
bind = $mainMod, 5, split-workspace, 5
bind = $mainMod, 6, split-workspace, 6
bind = $mainMod, 7, split-workspace, 7
bind = $mainMod, 8, split-workspace, 8
bind = $mainMod, 9, split-workspace, 9
bind = $mainMod, 0, split-workspace, 10
# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, split-movetoworkspacesilent, 1
bind = $mainMod SHIFT, 2, split-movetoworkspacesilent, 2
bind = $mainMod SHIFT, 3, split-movetoworkspacesilent, 3
bind = $mainMod SHIFT, 4, split-movetoworkspacesilent, 4
bind = $mainMod SHIFT, 5, split-movetoworkspacesilent, 5
bind = $mainMod SHIFT, 6, split-movetoworkspacesilent, 6
bind = $mainMod SHIFT, 7, split-movetoworkspacesilent, 7
bind = $mainMod SHIFT, 8, split-movetoworkspacesilent, 8
bind = $mainMod SHIFT, 9, split-movetoworkspacesilent, 9
bind = $mainMod SHIFT, 0, split-movetoworkspacesilent, 10
# Example special workspace (scratchpad)
bind = $mainMod, D, togglespecialworkspace, magic
bind = $mainMod SHIFT, D, movetoworkspace, special:magic
# Move between monitors
bind = $mainMod, code:60, focusmonitor, -1 # code 60 is a dot (.)
bind = $mainMod, code:59, focusmonitor, +1 # code 59 is a comma (,)
# bind = $mainMod SHIFT, BackSpace, movewindow, mon:+1,
# bind = $mainMod SHIFT, code:59, changemonitorsilent, e-1
# bind = $mainMod SHIFT, code:60, changemonitorsilent, e+1
# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
bind = ,XF86AudioMicMute, exec, amixer set Capture toggle
bind = ,XF86AudioMute, exec, amixer set Master toggle
bind = ,XF86AudioRaiseVolume, exec, amixer set Master playback 2%+
bind = ,XF86AudioLowerVolume, exec, amixer set Master playback 2%-
bind = ,XF86MonBrightnessUp, exec, brightnessctl set 5%+
bind = ,XF86MonBrightnessDown, exec, brightnessctl set 5%-
# bind =CTRL,XF86Launch2, exec, hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1"
# bind = SHIFT,XF86Launch2, exec, hyprctl keyword monitor "eDP-1,1920x1080@60,0x0,1.5"
bind = SHIFT, XF86MonBrightnessDown, exec, brightnessctl set 1%
bind = SHIFT, XF86MonBrightnessUp, exec, brightnessctl set 100%
# Screenshot a window
bind = $mainMod, PRINT, exec, hyprshot -m window
# Screenshot a monitor
bind = , PRINT, exec, hyprshot -m output
# Screenshot a region
bind = $mainMod SHIFT, S, exec, hyprshot -m region
##############################
### WINDOWS AND WORKSPACES ###
##############################
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
# See https://wiki.hyprland.org/Configuring/Workspace-Rules/ for workspace rules
# Example windowrule v1
# windowrule = float, ^(kitty)$
windowrule=opacity 1.0 override 1.0, ^(firefox)$
# Example windowrule v2
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
windowrulev2 = suppressevent maximize, class:.* # You'll probably like this.
windowrule=fullscreen, flameshot
windowrule=float,flameshot
windowrule=monitor 0,flameshot
windowrule=move 0 0,flameshot
windowrule=workspace 0,flameshot
windowrule=stayfocused,flameshot
windowrulev2=move 0 -195,class:^(flameshot)$
windowrulev2 = opacity 0.0 override,class:^(xwaylandvideobridge)$
windowrulev2 = noanim,class:^(xwaylandvideobridge)$
windowrulev2 = noinitialfocus,class:^(xwaylandvideobridge)$
windowrulev2 = maxsize 1 1,class:^(xwaylandvideobridge)$
windowrulev2 = noblur,class:^(xwaylandvideobridge)$
'';
};
#################################
# Hyprpaper
#################################
services.hyprpaper = {
enable = true;
settings = {
ipc = "off";
splash = false;
preload = ["~/.files/home/wallpapers/blockwavemoon.png"];
wallpaper = [",~/.files/home/wallpapers/blockwavemoon.png"];
};
};
#################################
# Hypridle
#################################
services.hypridle = {
enable = true;
settings = {
general = {
lock_cmd = "pidof hyprlock || hyprlock";
after_sleep_cmd = "hyprctl dispatch dpms on";
};
listener =
if hostname == "zion"
then [
# {
# timeout = 60;
# on-timeout = "brightnessctl -sd asus::kbd_backlight set 0";
# on-resume = "brightnessctl -rd asus::kbd_backlight";
# }
# {
# timeout = 80;
# on-timeout = "brightnessctl -s set 0";
# on-resume = "brightnessctl -r";
# }
# {
# timeout = 100;
# on-timeout = "hyprctl dispatch dpms off ";
# on-resume = "hyprctl dispatch dpms on";
# }
# {
# timeout = 150;
# on-timeout = "systemctl suspend";
# }
{
timeout = 300; # 5min
on-timeout = "brightnessctl -s set 10"; # set monitor backlight to minimum, avoid 0 on OLED monitor.
on-resume = "brightnessctl -r"; # monitor backlight restore.
}
{
timeout = 600; # 10min
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
}
# {
# timeout = 1800; # 30min
# on-timeout = "systemctl hibernate";
# on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
# on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
# }
]
else if hostname == "thor"
then [
{
timeout = 450;
on-timeout = "brightnessctl -s set 0";
on-resume = "brightnessctl -r";
}
{
timeout = 600;
on-timeout = "loginctl lock-session"; # lock screen when timeout has passed
}
{
timeout = 750;
on-timeout = "hyprctl dispatch dpms off ";
on-resume = "hyprctl dispatch dpms on";
}
{
timeout = 900;
on-timeout = "systemctl suspend";
}
{
timeout = 1500;
on-timeout = "systemctl hibernate";
}
]
else [];
};
};
#################################
# Hyprlock
#################################
programs.hyprlock = {
enable = true;
settings = lib.mkForce {
general = {
grace = 5;
no_fade_in = true;
no_fade_out = true;
disable_loading_bar = false;
};
background = {
monitor = "";
path = "~/.files/home/wallpapers/blockwavemoon.png";
};
input-field = [
{
monitor = "";
size = "200 , 50";
outline_thickness = 7;
dots_size = 0.2;
dots_spacing = 0.2;
dots_center = true;
fade_on_empty = true;
fade_timeout = "1000";
position = "0, -20";
halign = "center";
valign = "center";
}
];
};
};
}

View File

@@ -0,0 +1,12 @@
{
lib,
pkgs,
...
}: {
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
location = "center";
theme = lib.mkForce ../configs/rose-pine.rasi;
};
}

View File

@@ -0,0 +1,86 @@
{
inputs,
pkgs,
...
}: {
imports = [inputs.stylix.homeManagerModules.stylix];
#qt = {
# enable = false;
# style.name = "gtk2";
# platformTheme.name = "gtk";
#};
gtk.iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
stylix = {
enable = true;
autoEnable = true;
targets = {
gnome.enable = true;
gtk.enable = true;
# foot.enable = false;
wofi.enable = false;
# tofi.enable = false;
vscode.enable = false;
waybar.enable = false;
hyprland.enable = false;
};
image = ../wallpapers/blockwavemoon.png;
override = {
base00 = "191724";
base01 = "1f1d2e";
base02 = "26233a";
base03 = "6e6a86";
base04 = "908caa";
base05 = "e0def4";
base06 = "e0def4";
base07 = "524f67";
base08 = "eb6f92";
base09 = "f6c177";
base0A = "ebbcba";
base0B = "31748f";
base0C = "9ccfd8";
base0D = "c4a7e7";
base0E = "f6c177";
base0F = "524f67";
};
cursor = {
size = 24;
name = "Bibata-Modern-Ice";
package = pkgs.bibata-cursors;
};
fonts = {
emoji = {
package = pkgs.noto-fonts-emoji;
name = "noto-fonts-color-emoji";
};
monospace = {
# package = pkgs.nerd-fonts.droid-sans-mono;
package = pkgs.nerdfonts.override { fonts = [ "DroidSansMono" ]; };
name = "DroidSansMono";
};
sansSerif = {
# package = pkgs.nerd-fonts.droid-sans-mono;
package = pkgs.nerdfonts.override { fonts = [ "DroidSansMono" ]; };
name = "DroidSansMono";
};
serif = {
# package = pkgs.nerd-fonts.droid-sans-mono;
package = pkgs.nerdfonts.override { fonts = [ "DroidSansMono" ]; };
name = "DroidSansMono";
};
};
};
}

View File

@@ -0,0 +1,34 @@
{
lib,
pkgs,
inputs,
...
}: let
in {
qt = {
enable = true;
platformTheme.name = "qtct";
style = {
name = "kvantum";
};
};
xdg.configFile = {
# "Kvantum/kvantum.kvconfig".text = ''
# [General]
# theme=GraphiteNordDark
# '';
# "Kvantum/GraphiteNord".source = "${pkgs.graphite-kde-theme}/share/Kvantum/GraphiteNord";
"Kvantum/kvantum.kvconfig".text = ''
[General]
theme=rosepine-kvantum
'';
"Kvantum/rosepine-kvantum".source = "${
inputs.rosepine-kvantum.packages.${pkgs.system}.default
}/share/Kvantum/rosepine-kvantum";
# "Kvantum/rosepine".source = ../configs/Kvantum/rosepine-kvantum;
};
}

View File

@@ -0,0 +1,35 @@
{
programs.tofi = {
enable = true;
settings = {
# font
font-size = 12;
# Window Style
horizontal = true;
anchor = "top";
width = "100%";
height = "15%";
result-spacing = 25;
min-input-width = 120;
# Style
padding-top = 0;
padding-bottom = 0;
padding-left = 0;
padding-right = 0;
outline-width = 0;
border-width = 0;
prompt-text = " ";
num-results = 7;
text-color = "#cdd6f4";
prompt-color = "#f38ba8";
selection-color = "#f9e2af";
background-color = "#1a1b26";
};
};
}

View File

@@ -0,0 +1,575 @@
{pkgs, ...}: {
programs.waybar = {
enable = true;
package = pkgs.waybar.overrideAttrs (oa: {mesonFlags = (oa.mesonFlags or []) ++ ["-Dexperimental=true"];});
settings.mainBar = {
layer = "top"; # Waybar at top layer
height = 32; # Waybar height (to be removed for auto height)
spacing = 0; # Gaps between modules (4px)
position = "top";
margin = "10 20 0";
# Choose the order of the modules
modules-left = [
"hyprland/workspaces"
"custom/media"
];
modules-center = ["hyprland/window"];
modules-right = [
"mpris"
# "idle_inhibitor",
"pulseaudio"
# "network",
"cpu"
"memory"
# "temperature",
"backlight"
# "keyboard-state",
"battery"
"clock"
"tray"
];
# Modules configuration
# sway/workspaces = {
# "disable-scroll = true,
# "all-outputs = true,
# "warp-on-scroll = false,
# "format = "{name}: {icon}",
# "format-icons = {
# "1 = "",
# "2 = "",
# "3 = "",
# "4 = "",
# "5 = "",
# "urgent = "",
# "focused = "",
# "default = ""
# }
# },
"hyprland/workspaces" = {
active-only = false;
format = "{icon}";
format-icons = {
"1" = "";
"2" = "";
"3" = "";
"4" = "";
"5" = "";
"6" = "";
"7" = "";
"8" = "";
"9" = "";
"10" = "";
"11" = "";
"12" = "";
"13" = "";
"14" = "";
"15" = "";
"16" = "";
"17" = "";
"18" = "";
"19" = "";
"20" = "";
"21" = "";
"22" = "";
"23" = "";
"24" = "";
"25" = "";
"26" = "";
"27" = "";
"28" = "";
"29" = "";
"30" = "";
};
on-scroll-up = "hyprctl dispatch workspace e+1";
on-scroll-down = "hyprctl dispatch workspace e-1";
persistent-workspaces = {
HDMI-A-1 = [1 2 3 4 5 6 7 8 9 10];
DP-1 = [11 12 13 14 15 16 17 18 19 20];
DP-2 = [21 22 23 24 25 26 27 28 29 30];
};
};
keyboard-state = {
numlock = false;
capslock = true;
format = "{name} {icon}";
format-icons = {
locked = "";
unlocked = "";
};
};
"sway/mode" = {
format = "<span style=\"italic\">{}</span>";
};
"sway/scratchpad" = {
format = "{icon} {count}";
show-empty = false;
format-icons = ["" ""];
tooltip = true;
tooltip-format = "{app}: {title}";
};
mpris = {
interval = 1;
format = "{player_icon} {status_icon}";
format-paused = "{player_icon} {status_icon}";
tooltip-format = "{player_icon} {dynamic}";
tooltip-format-paused = "{player_icon} {dynamic}";
player-icons = {
default = "󰎄";
mpv = "󰝚";
vlc = "󰕼";
spotify = "";
};
status-icons = {
playing = "";
paused = "";
stopped = "";
};
# "ignored-players = ["firefox"]
};
mpd = {
format = "{stateIcon} {consumeIcon}{randomIcon}{repeatIcon}{singleIcon}{artist} - {album} - {title} ({elapsedTime:%M:%S}/{totalTime:%M:%S}) {songPosition}|{queueLength} {volume}% ";
format-disconnected = "Disconnected ";
format-stopped = "{consumeIcon}{randomIcon}{repeatIcon}{singleIcon}Stopped ";
unknown-tag = "N/A";
interval = 2;
consume-icons = {
on = " ";
};
random-icons = {
off = "<span color=\"#f53c3c\"></span> ";
on = " ";
};
repeat-icons = {
on = " ";
};
single-icons = {
on = "1 ";
};
state-icons = {
paused = "";
playing = "";
};
tooltip-format = "MPD (connected)";
tooltip-format-disconnected = "MPD (disconnected)";
};
idle_inhibitor = {
format = "{icon}";
format-icons = {
activated = "󰅶";
deactivated = "󰾪";
};
};
tray = {
# "icon-size = 21,
spacing = 10;
show-passive-items = true;
};
clock = {
format = "{:%b %d %I:%M %p}";
tooltip-format = "<big>{:%d %B %Y}</big>\n<tt><small>{calendar}</small></tt>";
format-alt = "{:%Y-%m-%d %I:%M %p}";
};
cpu = {
format = "{usage}% ";
tooltip = false;
};
memory = {
format = "{}% ";
};
temperature = {
# "thermal-zone = 2,
# "hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input",
critical-threshold = 80;
# "format-critical = "{temperatureC}°C {icon}",
format = "{temperatureC}°C {icon}";
format-icons = ["" "" " "];
};
backlight = {
# "device = "acpi_video1",
format = "{percent}% {icon}";
format-icons = ["" "" "" "" "" "" "" "" ""];
};
battery = {
# bat = "BAT0";
states = {
good = 95;
warning = 30;
critical = 15;
};
format = "{capacity}% {icon}";
format-charging = "{capacity}% ";
format-plugged = "{capacity}% ";
format-alt = "{time} {icon}";
# "format-good = "", # An empty format will hide the module
# "format-full = "",
format-icons = ["" "" "" "" ""];
interval = 10;
weighted-average = true;
};
network = {
# "interface = "wlp2*", # (Optional) To force the use of this interface
format-wifi = "{essid} ({signalStrength}%) ";
format-ethernet = "{ipaddr}/{cidr} 󰈀";
tooltip-format = "{ifname} via {gwaddr} ";
format-linked = "{ifname} (No IP) ";
format-disconnected = "Disconnected ";
format-alt = "{ifname}: {ipaddr}/{cidr}";
on-click-right = "kitty nmtui";
};
pulseaudio = {
# "scroll-step = 1, # %, can be a float
format = "{volume}% {icon} {format_source}";
format-bluetooth = "{volume}% {icon} {format_source}";
format-bluetooth-muted = "󰝟 {icon} {format_source}";
format-muted = "󰝟 {format_source}";
format-source = " {volume}% ";
format-source-muted = " ";
format-icons = {
headphone = "󰋋";
hands-free = "󰟅";
headset = "󰋎";
phone = "";
portable = "";
car = "";
default = ["" "" ""];
};
on-click = "pavucontrol";
};
"custom/media" = {
format = "{icon} {}";
return-type = "json";
max-length = 40;
format-icons = {
spotify = "";
default = "🎜";
};
escape = true;
exec = "$HOME/.config/waybar/mediaplayer.py 2> /dev/null"; # Script in resources folder
# exec = "$HOME/.config/waybar/mediaplayer.py --player spotify 2> /dev/null" # Filter player based on name
};
"custom/archicon" = {
format = "󰣇";
# "on-click":"nwg-menu -d -fm nemo -cmd-lock gtklock -va top",
on-click = "jgmenu_run";
tooltip = false;
};
};
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# CSS Styling
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
style = ''
/*
* Variant: Rosé Pine
* Maintainer: DankChoir
*/
@define-color base #191724;
@define-color surface #1f1d2e;
@define-color overlay #26233a;
@define-color muted #6e6a86;
@define-color subtle #908caa;
@define-color text #e0def4;
@define-color love #eb6f92;
@define-color gold #f6c177;
@define-color rose #ebbcba;
@define-color pine #31748f;
@define-color foam #9ccfd8;
@define-color iris #c4a7e7;
@define-color highlightLow #21202e;
@define-color highlightMed #403d52;
@define-color highlightHigh #524f67;
* {
font-family: "JetBrainsMono Nerd Font", FontAwesome, Roboto, Helvetica,
Arial, sans-serif;
font-size: 16px;
}
window#waybar {
background-color: @surface;
color: @text;
transition-property: background-color;
transition-duration: 0.5s;
border-radius: 10px;
}
window#waybar.hidden {
opacity: 0.2;
}
/*
window#waybar.empty {
background-color: transparent;
}
window#waybar.solo {
background-color: #FFFFFF;
}
*/
/*window#waybar.termite {
background-color: #3F3F3F;
}
window#waybar.chromium {
background-color: #000000;
border: none;
}*/
#workspaces button {
box-shadow: inset 0 -3px transparent;
padding: 0 8px;
background-color: @base;
color: @text;
border: none;
border-radius: 0;
font-weight: 800;
}
#workspaces button:first-child {
border-radius: 10px 0 0 10px;
}
#workspaces button:last-child {
border-radius: 0 10px 10px 0;
}
/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */
#workspaces button:hover {
background: rgba(0, 0, 0, 0.2);
background-color: @overlay;
/* box-shadow: inset 0 -100px 0 -97px @bright-yellow; */
}
#workspaces button.empty {
color: @muted;
box-shadow: inherit;
text-shadow: inherit;
}
#workspaces button.active {
color: @gold;
box-shadow: inset 0 -100px 0 -97px @bright-yellow;
text-shadow: inherit;
}
#workspaces button.focused {
background-color: @overlay;
color: @text;
/* box-shadow: inset 0 -100px 0 -97px @bright-yellow; */
}
#workspaces button.urgent {
background-color: @love;
color: @base;
}
#mode {
background-color: @overlay;
border-bottom: 3px solid @gold;
}
#cava,
#clock,
#battery,
#cpu,
#memory,
#disk,
#temperature,
#backlight,
#network,
#pulseaudio,
#pulseaudio.muted,
#pulseaudio.bluetooth,
#wireplumber,
#custom-media,
#tray,
#mpris,
#keyboard-state,
#mode,
#battery,
#idle_inhibitor,
#scratchpad,
#mpd {
padding: 0 10px;
color: @text;
}
#window,
#workspaces {
margin: 0 4px;
padding-top: 0px;
}
.modules-right {
background-color: @overlay;
border-radius: 10px;
}
/* If workspaces is the leftmost module, omit left margin */
.modules-left > widget:first-child > #workspaces {
margin-left: 0;
}
/* If workspaces is the rightmost module, omit right margin */
.modules-right > widget:last-child > #workspaces {
margin-right: 0;
}
#mpris {
color: @gold;
}
#clock {
color: @gold;
}
#battery {
color: @foam;
}
#battery.charging,
#battery.plugged {
color: #d3869b;
}
@keyframes blink {
to {
background-color: #fbf1c7;
color: #df3f71;
}
}
#battery.critical:not(.charging) {
background-color: #282828;
color: #d3869b;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
label:focus {
background-color: #000000;
}
#backlight {
color: #458588;
}
#temperature {
color: #fabd2f;
}
#temperature.critical {
background-color: #fbf1c7;
color: #b57614;
}
#cpu {
color: @foam;
}
#memory {
color: @iris;
}
#network {
color: @foam;
}
#network.disconnected {
background-color: @love;
color: @base;
}
/*#disk {
background-color: #964B00;
}*/
#pulseaudio,
#pulseaudio.muted,
#pulseaudio.bluetooth {
color: @pine;
}
#tray {
}
#tray > .needs-attention {
background-color: @love;
color: @base;
}
#idle_inhibitor {
background-color: #282828;
color: #ebdbb2;
}
#idle_inhibitor.activated {
background-color: #fbf1c7;
color: #3c3836;
}
#custom-media {
background-color: #66cc99;
color: #2a5c45;
min-width: 100px;
}
#custom-media.custom-spotify {
background-color: #66cc99;
}
#custom-media.custom-vlc {
background-color: #ffa000;
}
#mpd {
background-color: #66cc99;
color: #2a5c45;
}
#mpd.disconnected {
background-color: #f53c3c;
}
#mpd.stopped {
background-color: #90b1b1;
}
#mpd.paused {
background-color: #51a37a;
}
#language {
background: #00b093;
color: #740864;
padding: 0 5px;
margin: 0 5px;
min-width: 16px;
}
#keyboard-state {
background: #97e1ad;
color: #000000;
padding: 0 0px;
margin: 0 5px;
min-width: 16px;
}
#keyboard-state > label {
padding: 0 5px;
}
#keyboard-state > label.locked {
background: rgba(0, 0, 0, 0.2);
}
'';
};
}

View File

@@ -0,0 +1,11 @@
{
services.wlsunset = {
enable = true;
gamma = 0.8;
sunrise = "7:00";
sunset = "21:00";
temperature.night = 4000;
};
}

View File

@@ -0,0 +1,102 @@
{
programs.wofi = {
enable = true;
settings = {
allow_markup = true;
width = 450;
terminal = "foot";
height = "305px";
orientation = "vertical";
halign = "fill";
show = "drun";
prompt = "Apps";
normal_window = true;
layer = "top";
gtk_dark = true;
line_wrap = "off";
dynamic_lines = false;
allow_images = true;
image_size = 24;
exec_search = false;
hide_search = false;
parse_search = false;
insensitive = true;
hide_scroll = true;
no_actions = true;
sort_order = "default";
filter_rate = 100;
key_expand = "Tab";
key_exit = "Escape";
};
style = ''
/** ********** Fonts ********** **/
* {
font-size: 14px;
font-weight: 800;
}
#window {
background-color: @theme_base_color;
color: @theme_text_color;
border-radius: 10px;
}
#outer-box {
padding: 20px;
}
#input {
background-color: #181825;
border: #313244;
padding: 8px 12px;
}
#scroll {
margin-top: 20px;
}
#inner-box {}
#img {
padding-right: 8px;
}
#text {
color: #cdd6f4;
}
#text:selected {
color: #f5e0dc;
}
#entry {
padding: 6px;
}
#entry:selected {
background-image: linear-gradient(
to right,
#F5A97F,
#ED8796,
#C6A0F6,
#8AADF4,
#A6DA95,
#EED49F
);
color: #cdd6f4;
}
#unselected {}
#selected {}
#input,
#entry:selected {
border-radius: 20px;
}
'';
};
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1024 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 MiB