commit 837ba50533194b55ba97167a18d509799f302f5a Author: nils Date: Fri Dec 27 02:03:25 2024 +0100 Hihihihah diff --git a/.config/fastfetch/config.jsonc b/.config/fastfetch/config.jsonc new file mode 100644 index 0000000..beeae1a --- /dev/null +++ b/.config/fastfetch/config.jsonc @@ -0,0 +1,23 @@ +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "modules": [ + "title", + "separator", + "os", + "host", + "kernel", + "uptime", + "packages", + "shell", + "wm", + "terminal", + "cpu", + "gpu", + "memory", + "swap", + "disk", + "battery", + "break", + "colors" + ] +} diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini new file mode 100644 index 0000000..70a3f7d --- /dev/null +++ b/.config/foot/foot.ini @@ -0,0 +1,179 @@ +# -*- conf -*- + +include=~/.cache/wal/colors-foot + +shell=/bin/zsh +# (if set, otherwise user's default shell from /etc/passwd) +# term=foot (or xterm-256color if built with -Dterminfo=disabled) +# login-shell=no + +# app-id=foot +# title=foot +# locked-title=no + +font=ProFontWindowsNerdFontMono:size=11.5 +# font-bold= +# font-italic= +# font-bold-italic= +# line-height= +# letter-spacing=0 +# horizontal-letter-offset=0 +# vertical-letter-offset=0 +# underline-offset= +# box-drawings-uses-font-glyphs=no +dpi-aware=off + +initial-window-size-pixels=740x420 +# initial-window-size-chars= +# initial-window-mode=windowed +# pad=2x2 # optionally append 'center' +# resize-delay-ms=100 + + +#[desktop-notifications] +#command=notify-send -a ${app-id} -i ${app-id} ${title} ${body} + +# bold-text-in-bright=no +# word-delimiters=,│`|:"'()[]{}<> +# selection-target=primary +# workers= + +[environment] +# name=value + +[bell] +# urgent=no +# notify=no +# command= +# command-focused=no + +[scrollback] +# lines=1000 +# multiplier=3.0 +# indicator-position=relative +# indicator-format= + +[url] +# launch=xdg-open ${url} +# label-letters=sadfjklewcmpgh +# osc8-underline=url-mode +# protocols=http, https, ftp, ftps, file, gemini, gopher +# uri-characters=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_.,~:;/?#@!$&%*+="'()[] + +[cursor] +# style=block +# color= +# blink=no +# beam-thickness=1.5 +# underline-thickness= + +[mouse] +# hide-when-typing=no +# alternate-scroll-mode=yes + +[colors] +alpha=0.9 + +## dimmed colors (see foot.ini(5) man page) +# dim0= +# ... +# dim7= + +## The remaining 256-color palette +# 16 = <256-color palette #16> +# ... +# 255 = <256-color palette #255> + +## Misc colors +# selection-foreground= +# selection-background= +# jump-labels= # black-on-yellow +# scrollback-indicator= # black-on-bright-blue +# search-box-no-match= # black-on-red +# search-box-match= # black-on-yellow +# urls= + +[csd] +# preferred=server +# size=26 +# font= +# color= +# hide-when-typing=no +# border-width=0 +# border-color= +# button-width=26 +# button-color= +# button-minimize-color= +# button-maximize-color= +# button-close-color= + +[key-bindings] +# scrollback-up-page=Shift+Page_Up +# scrollback-up-half-page=none +# scrollback-up-line=none +# scrollback-down-page=Shift+Page_Down +# scrollback-down-half-page=none +# scrollback-down-line=none +# clipboard-copy=Control+Shift+c XF86Copy +# clipboard-paste=Control+Shift+v XF86Paste +# primary-paste=Shift+Insert +# search-start=Control+Shift+r +# font-increase=Control+plus Control+equal Control+KP_Add +# font-decrease=Control+minus Control+KP_Subtract +# font-reset=Control+0 Control+KP_0 +# spawn-terminal=Control+Shift+n +# minimize=none +# maximize=none +# fullscreen=none +# pipe-visible=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-scrollback=[sh -c "xurls | fuzzel | xargs -r firefox"] none +# pipe-selected=[xargs -r firefox] none +# show-urls-launch=Control+Shift+u +# show-urls-copy=none +# show-urls-persistent=none +# prompt-prev=Control+Shift+z +# prompt-next=Control+Shift+x +# unicode-input=none +# noop=none + +[search-bindings] +# cancel=Control+g Control+c Escape +# commit=Return +# find-prev=Control+r +# find-next=Control+s +# cursor-left=Left Control+b +# cursor-left-word=Control+Left Mod1+b +# cursor-right=Right Control+f +# cursor-right-word=Control+Right Mod1+f +# cursor-home=Home Control+a +# cursor-end=End Control+e +# delete-prev=BackSpace +# delete-prev-word=Mod1+BackSpace Control+BackSpace +# delete-next=Delete +# delete-next-word=Mod1+d Control+Delete +# extend-to-word-boundary=Control+w +# extend-to-next-whitespace=Control+Shift+w +# clipboard-paste=Control+v Control+Shift+v Control+y XF86Paste +# primary-paste=Shift+Insert +# unicode-input=none + +[url-bindings] +# cancel=Control+g Control+c Control+d Escape +# toggle-url-visible=t + +[text-bindings] +# \x03=Mod4+c # Map Super+c -> Ctrl+c + +[mouse-bindings] +# selection-override-modifiers=Shift +# primary-paste=BTN_MIDDLE +# select-begin=BTN_LEFT +# select-begin-block=Control+BTN_LEFT +# select-extend=BTN_RIGHT +# select-extend-character-wise=Control+BTN_RIGHT +# select-word=BTN_LEFT-2 +# select-word-whitespace=Control+BTN_LEFT-2 +# select-row=BTN_LEFT-3 + +# vim: ft=dosini + diff --git a/.config/fuzzel/fuzzel.ini b/.config/fuzzel/fuzzel.ini new file mode 100644 index 0000000..64c2598 --- /dev/null +++ b/.config/fuzzel/fuzzel.ini @@ -0,0 +1,17 @@ +# Import colors from wal +include=~/.cache/wal/colors-fuzzel + +[border] +radius=4 +width=0 + +[main] +dpi-aware=no +font=ProFontWindowsNerdFontMono:size=18 +horizontal-pad=10 +icon-theme=Papirus-Dark +image-size-ratio=0.0 +layer=overlay +lines=10 +prompt=">> " +width=18 diff --git a/.config/river/init b/.config/river/init new file mode 100755 index 0000000..3fa6687 --- /dev/null +++ b/.config/river/init @@ -0,0 +1,158 @@ +#!/bin/sh + +# Source colors generated by wal +source ~/.cache/wal/colors-river + +# Set border-width +riverctl border-width 2 + +# Super+Shift+Return to start an instance of foot (https://codeberg.org/dnkl/foot) +riverctl map normal Super Return spawn footclient +riverctl map normal Super Space spawn fuzzel +riverctl map normal Super Tab spawn "swaync-client -t -sw" +riverctl map normal Super+Control S spawn 'pkill -9 slurp ; grim -g "$(slurp -d)" - | wl-copy -t image/png' + +riverctl spawn 'dinit graphical.target -d .config/dinit.d -q -u' + +# Super+Q to close the focused view +riverctl map normal Super Slash close + +# Super+Shift+E to exit river +riverctl map normal Super+Shift E exit + +# Focus shortcuts +riverctl map normal Super Up focus-view up +riverctl map normal Super Right focus-view right +riverctl map normal Super Down focus-view down +riverctl map normal Super Left focus-view left + +# Change positions +riverctl map normal Super+Shift Up swap up +riverctl map normal Super+Shift Right swap right +riverctl map normal Super+Shift Down swap down +riverctl map normal Super+Shift Left swap left + +# Super+Period and Super+Comma to focus the next/previous output +riverctl map normal Super Period focus-output next +riverctl map normal Super Comma focus-output previous + +# Super+Shift+{Period,Comma} to send the focused view to the next/previous output +riverctl map normal Super+Shift Period send-to-output next +riverctl map normal Super+Shift Comma send-to-output previous + +# Super+H and Super+L to decrease/increase the main ratio of rivertile(1) +riverctl map normal Super H send-layout-cmd rivertile "main-ratio -0.05" +riverctl map normal Super L send-layout-cmd rivertile "main-ratio +0.05" + +# Super+Shift+H and Super+Shift+L to increment/decrement the main count of rivertile(1) +riverctl map normal Super+Shift H send-layout-cmd rivertile "main-count +1" +riverctl map normal Super+Shift L send-layout-cmd rivertile "main-count -1" + +# Super+Alt+{H,J,K,L} to move views +riverctl map normal Super+Alt H move left 100 +riverctl map normal Super+Alt J move down 100 +riverctl map normal Super+Alt K move up 100 +riverctl map normal Super+Alt L move right 100 + +# Super+Alt+Control+{H,J,K,L} to snap views to screen edges +riverctl map normal Super+Alt+Control H snap left +riverctl map normal Super+Alt+Control J snap down +riverctl map normal Super+Alt+Control K snap up +riverctl map normal Super+Alt+Control L snap right + +# Super+Alt+Shift+{H,J,K,L} to resize views +riverctl map normal Super+Alt+Shift H resize horizontal -100 +riverctl map normal Super+Alt+Shift J resize vertical 100 +riverctl map normal Super+Alt+Shift K resize vertical -100 +riverctl map normal Super+Alt+Shift L resize horizontal 100 + +# Super + Left Mouse Button to move views +riverctl map-pointer normal Super BTN_LEFT move-view + +# Super + Right Mouse Button to resize views +riverctl map-pointer normal Super BTN_RIGHT resize-view + +# Super + Middle Mouse Button to toggle float +riverctl map-pointer normal Super BTN_MIDDLE toggle-float + +for i in $(seq 1 9) +do + tags=$((1 << ($i - 1))) + + # Super+[1-9] to focus tag [0-8] + riverctl map normal Super $i set-focused-tags $tags + + # Super+Shift+[1-9] to tag focused view with tag [0-8] + riverctl map normal Super+Shift $i set-view-tags $tags + + # Super+Control+[1-9] to toggle focus of tag [0-8] + riverctl map normal Super+Control $i toggle-focused-tags $tags + + # Super+Shift+Control+[1-9] to toggle tag [0-8] of focused view + riverctl map normal Super+Shift+Control $i toggle-view-tags $tags +done + +# Super+0 to focus all tags +# Super+Shift+0 to tag focused view with all tags +all_tags=$(((1 << 32) - 1)) +riverctl map normal Super 0 set-focused-tags $all_tags +riverctl map normal Super+Shift 0 set-view-tags $all_tags + +# Super+Space to toggle float +riverctl map normal Super+Shift Space toggle-float + +# Super+F to toggle fullscreen +riverctl map normal Super F toggle-fullscreen + +# Declare a passthrough mode. This mode has only a single mapping to return to +# normal mode. This makes it useful for testing a nested wayland compositor +riverctl declare-mode passthrough + +# Super+F11 to enter passthrough mode +riverctl map normal Super F11 enter-mode passthrough + +# Super+F11 to return to normal mode +riverctl map passthrough Super F11 enter-mode normal + +# Various media key mapping examples for both normal and locked mode which do +# not have a modifier +for mode in normal locked +do + # Eject the optical drive (well if you still have one that is) + riverctl map $mode None XF86Eject spawn 'eject -T' + + # Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer) + riverctl map $mode None XF86AudioRaiseVolume spawn 'wpctl set-volume @DEFAULT_SINK@ 5%+ ; wpctl set-mute @DEFAULT_SINK@ 0' + riverctl map $mode None XF86AudioLowerVolume spawn 'wpctl set-volume @DEFAULT_SINK@ 5%- ; wpctl set-mute @DEFAULT_SINK@ 0' + riverctl map $mode None XF86AudioMute spawn 'wpctl set-mute @DEFAULT_SINK@ toggle' + riverctl map $mode None XF86AudioMicMute spawn 'wpctl set-mute @DEFAULT_SOURCE@ toggle' + + # Control MPRIS aware media players with playerctl (https://github.com/altdesktop/playerctl) + riverctl map $mode None XF86AudioMedia spawn 'playerctl play-pause' + riverctl map $mode None XF86AudioPlay spawn 'playerctl play-pause' + riverctl map $mode None XF86AudioPrev spawn 'playerctl previous' + riverctl map $mode None XF86AudioNext spawn 'playerctl next' + + # Control screen backlight brightness with brightnessctl (https://github.com/Hummer12007/brightnessctl) + riverctl map $mode None XF86MonBrightnessUp spawn 'brightnessctl set +5%' + riverctl map $mode None XF86MonBrightnessDown spawn 'brightnessctl set 5%-' +done + +# Use server side decoration everywhere +riverctl rule-add -app-id "*" ssd + +# Set keyboard repeat rate +riverctl set-repeat 50 300 + +# Set layouter to bsp +riverctl default-layout bsp-layout +river-bsp-layout --inner-gap 2 --outer-gap 5 --split-perc 0.5 --og-top 0 & + +# Keyboard layout +riverctl keyboard-layout dehel + +# Natural scroll +riverctl input pointer-1160-4639-DELL08B8:00_0488:121F_Touchpad natural-scroll enabled + +# Set focus-follow +riverctl focus-follows-cursor normal diff --git a/.config/wal/colorschemes/dark/current.json b/.config/wal/colorschemes/dark/current.json new file mode 100644 index 0000000..42c7e3a --- /dev/null +++ b/.config/wal/colorschemes/dark/current.json @@ -0,0 +1,28 @@ +{ + "checksum": "aea73d1b3527974fb8483fd2da3dfa2f", + "wallpaper": "/home/n/Pictures/wallpaper.png", + "alpha": "100", + "special": { + "background": "#03070C", + "foreground": "#c0c1c2", + "cursor": "#c0c1c2" + }, + "colors": { + "color0": "#03070C", + "color1": "#939270", + "color2": "#256F9B", + "color3": "#4D7491", + "color4": "#3287B6", + "color5": "#668EA8", + "color6": "#509ECA", + "color7": "#c0c1c2", + "color8": "#545a67", + "color9": "#939270", + "color10": "#256F9B", + "color11": "#4D7491", + "color12": "#3287B6", + "color13": "#668EA8", + "color14": "#509ECA", + "color15": "#c0c1c2" + } +} \ No newline at end of file diff --git a/.config/wal/templates/colors-foot b/.config/wal/templates/colors-foot new file mode 100644 index 0000000..51b7e1f --- /dev/null +++ b/.config/wal/templates/colors-foot @@ -0,0 +1,21 @@ +[colors] +foreground={foreground.strip} +background={background.strip} + +regular0={color0.strip} +regular1={color1.strip} +regular2={color2.strip} +regular3={color3.strip} +regular4={color4.strip} +regular5={color5.strip} +regular6={color6.strip} +regular7={color7.strip} + +bright0={color8.strip} +bright1={color9.strip} +bright2={color10.strip} +bright3={color11.strip} +bright4={color12.strip} +bright5={color13.strip} +bright6={color14.strip} +bright7={color15.strip} diff --git a/.config/wal/templates/colors-fuzzel b/.config/wal/templates/colors-fuzzel new file mode 100644 index 0000000..b245ae7 --- /dev/null +++ b/.config/wal/templates/colors-fuzzel @@ -0,0 +1,9 @@ +[colors] +background= {background.strip}ee +match= {color10.strip}ff +selection= {color3.strip}ff +selection-match= {color14.strip}ff +selection-text= {foreground.strip}ff +text= {foreground.strip}ff +input= {foreground.strip}ff +prompt= {color10.strip}ff diff --git a/.config/wal/templates/colors-river b/.config/wal/templates/colors-river new file mode 100644 index 0000000..03c8ceb --- /dev/null +++ b/.config/wal/templates/colors-river @@ -0,0 +1,4 @@ +#!/bin/sh +riverctl background-color 0x{background.strip} +riverctl border-color-focused 0x{foreground.strip} +riverctl border-color-unfocused 0x{background.strip} diff --git a/.config/waybar/config b/.config/waybar/config new file mode 100644 index 0000000..ae156cd --- /dev/null +++ b/.config/waybar/config @@ -0,0 +1,84 @@ +[ + { + "modules-left": [ + "clock" + ], + "modules-center": [ + "river/tags" + ], + "modules-right": [ + "tray", + "battery", + "custom/notification" + ], + "battery": { + "format": "{icon} {capacity}%", + "format-charging": "󱟦 {capacity}%", + "format-icons": [ + "󰂎", + "󰁺", + "󰁻", + "󰁼", + "󰁽", + "󰁾", + "󰁿", + "󰂀", + "󰂁", + "󰂂", + "󰁹" + ], + "format-plugged": "󱟦 {capacity}%" + }, + "clock": { + "format": "{:L%H:%M %A, %d %B}", + "interval": 1, + "tooltip": false, + "locale": "C", + "timezone": "Europe/Amsterdam" + }, + "custom/notification": { + "escape": "true", + "exec": "swaync-client -swb", + "format": "", + "on-click": "swaync-client -t -sw", + "on-click-right": "swaync-client -C -sw", + "return-type": "json", + "tooltip": "false" + }, + "layer": "bottom", + "mode": "dock", + "position": "top", + "start_hidden": false, + "fixed-center": true, + "tray": { + "icon-size": 16, + "reverse-direction": "true", + "spacing": 10 + }, + "height": 27, + "margin": 4, + "wlr/taskbar": { + "format": "{icon}", + "icon-size": 16, + "on-click": "activate", + "on-click-middle": "minimize-raise", + "on-click-right": "close", + "tooltip": "true", + "tooltip-format": "{title}" + }, + "river/tags": { + "num-tags": 9, + "tag-labels": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9" + ] + } + } +] diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..a25a7a4 --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,109 @@ +@import url("/home/n/.cache/wal/colors-waybar.css"); + +* { + font-family: "ProFontWindowsNerdFontMono"; + font-size: 10px; + margin: 0; + padding: 0; + color: @foreground; +} + +#waybar { + background-color: @background; +} + +#window { + border-radius: 100px; +} + +#taskbar, #battery, #tray, #custom-notification, #clock, #pulseaudio-slider, #tags { + margin: 2px 5px; + padding: 0 6px; + background-color: @color0; + border-radius: 5px; +} + +#taskbar { + margin: 0px 5px; + margin-left: 10px; +} + +#taskbar button { + padding: 0 2px; + background-color: transparent; + border-radius: 2px; +} + +#taskbar button.active { + border: 0px solid @color0; + border-bottom: 2px solid @color2; +} + +#taskbar.empty { + padding: 0; +} + +tooltip { + background-color: @background; + border-radius: 3px; + color: @color1; + font-size:14px; +} + +#battery { + font-size: 16px; + font-weight: 900; + color: @foreground; +} + +#clock { + font-weight: 900; + font-size: 16px; + min-width: 50px; + color: @foreground; +} + +#custom-notification { + font-family: "NotoMonoNerdFont-Regular"; + font-size: 16px; + color: @foreground; + margin-right: 10px; +} + +#custom-notification.notification { + background: @color2; +} + +#custom-notification.dnd-notification { + background: @color3; +} + +#tags * { + font-weight: 900; + font-size: 16px; + margin: 0; + padding: 0; +} + +#tags { + margin: 0 5px; +} + +#tags button { + margin: 0; + border-radius: 0; + padding: 0 4px; + background: transparent; +} + +#tags button*:Hover { + border-style: none; +} + +#tags button.occupied { + background: @color2; +} + +#tags button.focused { + background: @color5; +} diff --git a/.zshrc b/.zshrc new file mode 100644 index 0000000..5f8a5cc --- /dev/null +++ b/.zshrc @@ -0,0 +1,67 @@ +HISTFILE=~/.histfile +HISTSIZE=1000 +SAVEHIST=1000 +unsetopt autocd beep notify +bindkey -e +zstyle :compinstall filename '~/.zshrc' +autoload -Uz compinit promptinit +compinit +promptinit +export TERM=xterm-256color +prompt redhat + +# Aliases +alias ls="ls --color=auto" +alias v="nvim" +alias d="doas" + +# Plugins +if [ -e /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh ]; then + source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh +elif [ -e /usr/share/zsh/site-functions/zsh-autosuggestions.zsh ]; then + source /usr/share/zsh/site-functions/zsh-autosuggestions.zsh +else + echo "No autosuggestions plugin." +fi + +# Keybinds +typeset -g -A key + +key[Home]="${terminfo[khome]}" +key[End]="${terminfo[kend]}" +key[Insert]="${terminfo[kich1]}" +key[Backspace]="${terminfo[kbs]}" +key[Delete]="${terminfo[kdch1]}" +key[Up]="${terminfo[kcuu1]}" +key[Down]="${terminfo[kcud1]}" +key[Left]="${terminfo[kcub1]}" +key[Right]="${terminfo[kcuf1]}" +key[PageUp]="${terminfo[kpp]}" +key[PageDown]="${terminfo[knp]}" +key[Shift-Tab]="${terminfo[kcbt]}" + +# setup key accordingly +[[ -n "${key[Home]}" ]] && bindkey -- "${key[Home]}" beginning-of-line +[[ -n "${key[End]}" ]] && bindkey -- "${key[End]}" end-of-line +[[ -n "${key[Insert]}" ]] && bindkey -- "${key[Insert]}" overwrite-mode +[[ -n "${key[Backspace]}" ]] && bindkey -- "${key[Backspace]}" backward-delete-char +[[ -n "${key[Delete]}" ]] && bindkey -- "${key[Delete]}" delete-char +[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-history +[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-history +[[ -n "${key[Left]}" ]] && bindkey -- "${key[Left]}" backward-char +[[ -n "${key[Right]}" ]] && bindkey -- "${key[Right]}" forward-char +[[ -n "${key[PageUp]}" ]] && bindkey -- "${key[PageUp]}" beginning-of-buffer-or-history +[[ -n "${key[PageDown]}" ]] && bindkey -- "${key[PageDown]}" end-of-buffer-or-history +[[ -n "${key[Shift-Tab]}" ]] && bindkey -- "${key[Shift-Tab]}" reverse-menu-complete + +# For ctrl+forward/backwards +bindkey "^[[1;5C" forward-word +bindkey "^[[1;5D" backward-word + +if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then + autoload -Uz add-zle-hook-widget + function zle_application_mode_start { echoti smkx } + function zle_application_mode_stop { echoti rmkx } + add-zle-hook-widget -Uz zle-line-init zle_application_mode_start + add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop +fi diff --git a/README.md b/README.md new file mode 100644 index 0000000..db0b8f4 --- /dev/null +++ b/README.md @@ -0,0 +1,7 @@ +# My Gentoo Dots :D + +![The screenshot](images/obligatory_screenshot.png) + +Hallo, + +These are my dotfiles, simply copy the files to their correct place and relog after running `wal -i `. diff --git a/images/obligatory_screenshot.png b/images/obligatory_screenshot.png new file mode 100644 index 0000000..20c3d9a Binary files /dev/null and b/images/obligatory_screenshot.png differ