├── dot_config ├── chezmoi │ └── empty_chezmoi.toml ├── nvim │ └── lua │ │ └── user │ │ ├── dot_git │ │ ├── branches │ │ │ └── .keep │ │ ├── refs │ │ │ ├── tags │ │ │ │ └── .keep │ │ │ ├── heads │ │ │ │ └── main │ │ │ └── remotes │ │ │ │ └── origin │ │ │ │ └── HEAD │ │ ├── objects │ │ │ ├── info │ │ │ │ └── .keep │ │ │ └── pack │ │ │ │ ├── readonly_pack-5218439ddf65142b8ba14825aceb9d1a60ea45bf.idx │ │ │ │ └── readonly_pack-5218439ddf65142b8ba14825aceb9d1a60ea45bf.pack │ │ ├── HEAD │ │ ├── description │ │ ├── index │ │ ├── packed-refs │ │ ├── logs │ │ │ ├── HEAD │ │ │ └── refs │ │ │ │ ├── heads │ │ │ │ └── main │ │ │ │ └── remotes │ │ │ │ └── origin │ │ │ │ └── HEAD │ │ ├── hooks │ │ │ ├── executable_post-update.sample │ │ │ ├── executable_pre-merge-commit.sample │ │ │ ├── executable_pre-applypatch.sample │ │ │ ├── executable_applypatch-msg.sample │ │ │ ├── executable_pre-receive.sample │ │ │ ├── executable_commit-msg.sample │ │ │ ├── executable_pre-push.sample │ │ │ ├── executable_prepare-commit-msg.sample │ │ │ ├── executable_pre-commit.sample │ │ │ ├── executable_push-to-checkout.sample │ │ │ └── executable_update.sample │ │ ├── info │ │ │ └── exclude │ │ └── config │ │ ├── colorscheme.lua │ │ ├── lsp │ │ ├── config │ │ │ ├── clangd.lua │ │ │ └── yamlls.lua │ │ ├── servers.lua │ │ ├── mappings.lua │ │ ├── formatting.lua │ │ └── setup_handlers.lua │ │ ├── highlights │ │ ├── init.lua │ │ └── duskfox.lua │ │ ├── heirline │ │ ├── separators.lua │ │ ├── colors.lua │ │ ├── attributes.lua │ │ └── icon_highlights.lua │ │ ├── plugins │ │ ├── treesitter.lua │ │ ├── user.lua │ │ ├── community.lua │ │ ├── lsp.lua │ │ ├── catppuccin.lua │ │ ├── null-ls.lua │ │ ├── alpha.lua │ │ ├── mason.lua │ │ └── core.lua │ │ ├── diagnostics.lua │ │ ├── dot_stylua.toml │ │ ├── lazy.lua │ │ ├── polish.lua │ │ ├── dot_github │ │ └── README.md │ │ ├── updater.lua │ │ ├── mappings.lua │ │ └── options.lua ├── eww │ ├── iceberg │ │ ├── bar │ │ │ ├── scripts │ │ │ │ ├── empty_blank.txt │ │ │ │ ├── executable_blank │ │ │ │ ├── visibility_controls │ │ │ │ ├── executable_toggle_rainbow │ │ │ │ ├── executable_updates.sh │ │ │ │ ├── executable_wifi │ │ │ │ ├── executable_window │ │ │ │ ├── executable_nvidia.sh │ │ │ │ ├── executable_test │ │ │ │ ├── executable_cavabars │ │ │ │ ├── executable_adjust_bar │ │ │ │ ├── executable_bat │ │ │ │ └── executable_widgets │ │ │ ├── yuck │ │ │ │ ├── cpu.yuck │ │ │ │ ├── disk.yuck │ │ │ │ ├── workspaces.yuck │ │ │ │ ├── nvidia.yuck │ │ │ │ ├── ram.yuck │ │ │ │ ├── notifs.yuck │ │ │ │ ├── window.yuck │ │ │ │ ├── updates.yuck │ │ │ │ ├── sys.yuck │ │ │ │ ├── start.yuck │ │ │ │ └── bat.yuck │ │ │ └── eww.yuck │ │ ├── menu │ │ │ ├── assets │ │ │ │ └── sakurafetch.png │ │ │ ├── eww.yuck │ │ │ ├── scripts │ │ │ │ ├── executable_unfocus │ │ │ │ ├── executable_media │ │ │ │ ├── executable_weather │ │ │ │ ├── executable_clipboard │ │ │ │ ├── executable_stats │ │ │ │ └── executable_sys │ │ │ ├── clipboard │ │ │ │ ├── clipboard.scss │ │ │ │ └── clipboard.yuck │ │ │ └── eww.scss │ │ └── common │ │ │ ├── yuck │ │ │ ├── unfocus.yuck │ │ │ ├── v-iconmeter.yuck │ │ │ ├── h-iconmeter.yuck │ │ │ └── circlemeter.yuck │ │ │ ├── scripts │ │ │ ├── executable_power │ │ │ ├── executable_bright │ │ │ ├── executable_mic │ │ │ ├── executable_vol │ │ │ └── executable_animations │ │ │ └── scss │ │ │ └── colors.scss │ └── executable_startup ├── electron19-flags.conf ├── wofi │ ├── menu.css │ ├── menu │ ├── executable_wifi │ ├── config │ └── style.css ├── firefox │ └── chrome │ │ ├── userContent.css │ │ ├── hide-tabline.css │ │ ├── todo.md │ │ ├── window-controls │ │ ├── circle-max.svg │ │ ├── circle-min.svg │ │ ├── circle-close-p.svg │ │ ├── circle-max-p.svg │ │ ├── circle-min-p.svg │ │ ├── wc-with-tabline.css │ │ ├── circle.svg │ │ ├── wc-wt-windowspatch.css │ │ ├── wc-without-tabline-r.css │ │ ├── wc-without-tabline.css │ │ └── window-controls.css │ │ ├── icons │ │ ├── star-2x.svg │ │ ├── menu.svg │ │ ├── new-tab.svg │ │ ├── page-action.svg │ │ ├── arrow-back-1x.svg │ │ ├── profile.svg │ │ ├── reader-mode.svg │ │ ├── close.svg │ │ ├── fullscreen.svg │ │ ├── sidebar.svg │ │ ├── menu-update.svg │ │ ├── stop-2x.svg │ │ ├── bank-card.svg │ │ ├── email.svg │ │ ├── bookmark.svg │ │ ├── stop-1x.svg │ │ ├── home-1x.svg │ │ ├── incognito.svg │ │ ├── library-1x.svg │ │ ├── library-2x.svg │ │ ├── lock.svg │ │ ├── paste.svg │ │ ├── overflow.svg │ │ ├── print.svg │ │ ├── share.svg │ │ ├── refresh-1x.svg │ │ ├── custom-adblock.svg │ │ ├── dark-mode.svg │ │ ├── password-manager.svg │ │ ├── folder.svg │ │ ├── developer.svg │ │ ├── copy.svg │ │ ├── star-filled.svg │ │ ├── key.svg │ │ ├── history.svg │ │ ├── star-1x.svg │ │ ├── home-2x.svg │ │ ├── sync.svg │ │ ├── tracking-protection.svg │ │ ├── audio-muted.svg │ │ ├── arrow-back-2x.svg │ │ ├── search.svg │ │ ├── refresh-2x.svg │ │ ├── hyperlink.svg │ │ ├── customize.svg │ │ ├── cut.svg │ │ ├── addons.svg │ │ ├── screenshot.svg │ │ ├── forget.svg │ │ ├── profile-inactive.svg │ │ ├── bug.svg │ │ ├── audio.svg │ │ ├── settings.svg │ │ ├── globe.svg │ │ └── extension-icons.css │ │ ├── navbar │ │ ├── connection-warning-1x.svg │ │ ├── connection-warning-2x.svg │ │ ├── info-1x.svg │ │ ├── connection-1x.svg │ │ ├── connection-2x.svg │ │ ├── info-2x.svg │ │ ├── naughty-shield-1x.svg │ │ ├── naughty-shield-2x.svg │ │ ├── identity-icons-brand.svg │ │ └── navbar.css │ │ ├── popup │ │ ├── menu-right-1x.svg │ │ ├── menu-right-2x.svg │ │ ├── checkmark-blank.svg │ │ ├── checkmark.svg │ │ └── folder.svg │ │ ├── urlbar │ │ ├── go.svg │ │ ├── info-1x.svg │ │ ├── info-2x.svg │ │ ├── media-blocked.svg │ │ ├── connection-warning-1x.svg │ │ ├── connection-warning-2x.svg │ │ ├── permissions.svg │ │ ├── connection-1x.svg │ │ ├── connection-2x.svg │ │ ├── block-media.svg │ │ ├── notification-off.svg │ │ ├── camera-off.svg │ │ ├── page-action.svg │ │ ├── mic-off.svg │ │ ├── favorite-star-full.svg │ │ ├── favorite-star-empty.svg │ │ └── identity-icons-brand.svg │ │ ├── userChrome.css │ │ ├── content │ │ └── inner-rounded.css │ │ ├── userChrome-static.css │ │ ├── interface │ │ └── interface.css │ │ ├── userChrome-hover.css │ │ ├── userChrome-overlay.css │ │ └── userChrome-tabline.css ├── electron-flags.conf ├── electron-parameters.conf ├── electron13-flags.conf ├── lf │ ├── lfrc │ ├── executable_lf_kitty_clean │ ├── executable_lf_kitty_preview │ └── executable_vidthumb ├── hypr │ ├── themes │ │ └── color.conf │ └── scripts │ │ ├── extra │ │ └── executable_dictionary │ │ ├── default │ │ ├── executable_launch_portals │ │ └── tools │ │ │ └── executable_expand │ │ ├── executable_launch_portals │ │ ├── executable_wallpaper │ │ ├── executable_toggle_opacity │ │ ├── variables │ │ ├── executable_set_env │ │ └── executable_load_envs │ │ ├── executable_lf_wall │ │ └── executable_wallpaper_picker ├── dunst │ ├── scripts │ │ ├── executable_notify-history.sh │ │ ├── executable_brightness │ │ └── executable_volume │ └── executable_dunstrc ├── kitty │ ├── kitty.conf │ └── color.conf ├── spotify-player │ ├── exampleapp.toml │ └── theme.toml ├── swaylock │ └── config ├── zsh │ ├── dot_zshrc │ └── plugins │ │ ├── iceberg-zsh-syntax-highlighting.zsh │ │ └── poimandres-zsh-syntax-highlighting.zsh ├── private_Code - OSS │ └── User │ │ └── settings.json └── btop │ └── themes │ ├── iceberg.theme │ └── poimandres.theme ├── dot_local ├── extras │ ├── optional-recommended.txt │ └── installedpkgs.txt ├── bin │ └── executable_nvim-gui └── dot_scripts │ ├── executable_wofi-powermenu │ ├── executable_mediaserver │ ├── executable_wayland-screenshot │ └── executable_notifications └── dot_zshenv /dot_config/chezmoi/empty_chezmoi.toml: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/branches/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/refs/tags/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/scripts/empty_blank.txt: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/objects/info/.keep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/electron19-flags.conf: -------------------------------------------------------------------------------- 1 | --ozone-platform-hint=auto 2 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/HEAD: -------------------------------------------------------------------------------- 1 | ref: refs/heads/main 2 | -------------------------------------------------------------------------------- /dot_local/extras/optional-recommended.txt: -------------------------------------------------------------------------------- 1 | discord_arch_electron -------------------------------------------------------------------------------- /dot_config/wofi/menu.css: -------------------------------------------------------------------------------- 1 | @import ".config/wofi/style.css"; 2 | 3 | -------------------------------------------------------------------------------- /dot_local/bin/executable_nvim-gui: -------------------------------------------------------------------------------- 1 | WINIT_UNIX_BACKEND=x11 neovide 2 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/scripts/executable_blank: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | echo "works" -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/scripts/visibility_controls: -------------------------------------------------------------------------------- 1 | updater 2 | notifs 3 | sys -------------------------------------------------------------------------------- /dot_config/firefox/chrome/userContent.css: -------------------------------------------------------------------------------- 1 | *{ 2 | scrollbar-width: 3px !important; 3 | } -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/refs/heads/main: -------------------------------------------------------------------------------- 1 | 6774fc80cd2d4bb35e69f9c7280dbad21830018d 2 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/refs/remotes/origin/HEAD: -------------------------------------------------------------------------------- 1 | ref: refs/remotes/origin/main 2 | -------------------------------------------------------------------------------- /dot_config/electron-flags.conf: -------------------------------------------------------------------------------- 1 | --enable-features=UseOzonePlatform 2 | --ozone-platform=wayland 3 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/colorscheme.lua: -------------------------------------------------------------------------------- 1 | -- Set colorscheme to use 2 | return "catppuccin" 3 | -------------------------------------------------------------------------------- /dot_config/electron-parameters.conf: -------------------------------------------------------------------------------- 1 | --enable-features=UseOzonePlatform 2 | --ozone-platform=wayland 3 | -------------------------------------------------------------------------------- /dot_config/electron13-flags.conf: -------------------------------------------------------------------------------- 1 | --enable-features=UseOzonePlatform 2 | --ozone-platform=wayland 3 | -------------------------------------------------------------------------------- /dot_config/lf/lfrc: -------------------------------------------------------------------------------- 1 | set previewer ~/.config/lf/lf_kitty_preview 2 | set cleaner ~/.config/lf/lf_kitty_clean -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/lsp/config/clangd.lua: -------------------------------------------------------------------------------- 1 | return { capabilities = { offsetEncoding = "utf-8" } } 2 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/description: -------------------------------------------------------------------------------- 1 | Unnamed repository; edit this file 'description' to name the repository. 2 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/index: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cenunix/dotfiles/HEAD/dot_config/nvim/lua/user/dot_git/index -------------------------------------------------------------------------------- /dot_config/hypr/themes/color.conf: -------------------------------------------------------------------------------- 1 | general { 2 | col.active_border = rgb(a0acc5) 3 | col.inactive_border= rgb(7486a9) 4 | } 5 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/lsp/servers.lua: -------------------------------------------------------------------------------- 1 | -- enable servers that you already have installed without mason 2 | return { 3 | -- "pyright" 4 | } 5 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/menu/assets/sakurafetch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cenunix/dotfiles/HEAD/dot_config/eww/iceberg/menu/assets/sakurafetch.png -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/highlights/init.lua: -------------------------------------------------------------------------------- 1 | return { -- this table overrides highlights in all themes 2 | -- Normal = { bg = "#000000" }, 3 | } 4 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/yuck/cpu.yuck: -------------------------------------------------------------------------------- 1 | (defwidget cpu [] 2 | (icon-module :class "cpu" :icon " " 3 | (label :text "${round(EWW_CPU.avg, 0)}%"))) -------------------------------------------------------------------------------- /dot_config/lf/executable_lf_kitty_clean: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | kitty +kitten icat --clear --stdin no --silent --transfer-mode file < /dev/null > /dev/tty -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/highlights/duskfox.lua: -------------------------------------------------------------------------------- 1 | return { -- a table of overrides/changes to the duskfox theme 2 | Normal = { bg = "#000000" }, 3 | } 4 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/packed-refs: -------------------------------------------------------------------------------- 1 | # pack-refs with: peeled fully-peeled sorted 2 | 6774fc80cd2d4bb35e69f9c7280dbad21830018d refs/remotes/origin/main 3 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/yuck/disk.yuck: -------------------------------------------------------------------------------- 1 | (defwidget disk [] 2 | (icon-module :class "disk" :icon " " 3 | (label :text "${round(EWW_DISK["/"].used_perc, 0)}%"))) -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/heirline/separators.lua: -------------------------------------------------------------------------------- 1 | -- Customize different separators between sections 2 | return { 3 | breadcrumbs = " > ", 4 | tab = { "", "" }, 5 | } 6 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/plugins/treesitter.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "nvim-treesitter/nvim-treesitter", 3 | opts = { 4 | ensure_installed = { "lua", "rust", }, 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/hide-tabline.css: -------------------------------------------------------------------------------- 1 | /* /1* hide tabs *1/ */ 2 | .tabbrowser-tab { 3 | display: none; 4 | } 5 | 6 | #tabs-newtab-button { 7 | display: none; 8 | } 9 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/todo.md: -------------------------------------------------------------------------------- 1 | ## Mini Tasks 2 | 3 | - close icon/animation 4 | - icons 5 | - style popup 6 | - right click menu 7 | - other styles from shadowfox 8 | -------------------------------------------------------------------------------- /dot_config/hypr/scripts/extra/executable_dictionary: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | input="$(wofi -n -k "/dev/null" --show dmenu)" 4 | dict $input | wofi -n --show dmenu --width 1000 --heigh 500 -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/yuck/workspaces.yuck: -------------------------------------------------------------------------------- 1 | (deflisten workspace "scripts/workspace") 2 | 3 | (defwidget workspaces [] 4 | (literal 5 | :content workspace 6 | :valign "center")) -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/diagnostics.lua: -------------------------------------------------------------------------------- 1 | -- Diagnostics configuration (for vim.diagnostics.config({...})) when diagnostics are on 2 | return { 3 | virtual_text = true, 4 | underline = true, 5 | } 6 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/yuck/nvidia.yuck: -------------------------------------------------------------------------------- 1 | (deflisten nvidia_listen "./scripts/nvidia.sh") 2 | 3 | (defwidget nvidia [] 4 | (icon-module :class "nvidia" :icon " " 5 | (label :text nvidia_listen))) -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/yuck/ram.yuck: -------------------------------------------------------------------------------- 1 | (defwidget ram [] 2 | (icon-module :class "ram" :icon " " :visible {EWW_RAM.used_mem_perc != ""} 3 | (label :text "${round(EWW_RAM.used_mem_perc, 0)}%"))) 4 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/window-controls/circle-max.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/window-controls/circle-min.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/window-controls/circle-close-p.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/window-controls/circle-max-p.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/window-controls/circle-min-p.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/lsp/mappings.lua: -------------------------------------------------------------------------------- 1 | -- easily add or disable built in mappings added during LSP attaching 2 | return { 3 | n = { 4 | -- ["lf"] = false -- disable formatting keymap 5 | }, 6 | } 7 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/common/yuck/unfocus.yuck: -------------------------------------------------------------------------------- 1 | (defwidget unfocus-eventbox [onclick] 2 | (eventbox :class "unfocus-eventbox" 3 | :onclick onclick 4 | (box :hexpand true 5 | :vexpand true))) 6 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/window-controls/wc-with-tabline.css: -------------------------------------------------------------------------------- 1 | @import "window-controls.css"; 2 | 3 | #TabsToolbar.browser-toolbar { 4 | margin-left: var(--wc-left-space); 5 | margin-right: var(--wc-right-space); 6 | } 7 | -------------------------------------------------------------------------------- /dot_config/hypr/scripts/default/executable_launch_portals: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | sleep 4 3 | killall xdg-desktop-portal-wlr 4 | killall xdg-desktop-portal 5 | /usr/lib/xdg-desktop-portal-wlr & 6 | sleep 4 7 | /usr/lib/xdg-desktop-portal & 8 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/logs/HEAD: -------------------------------------------------------------------------------- 1 | 0000000000000000000000000000000000000000 6774fc80cd2d4bb35e69f9c7280dbad21830018d Selmer443 1677764100 -0800 clone: from https://github.com/AstroNvim/split_user_example 2 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_stylua.toml: -------------------------------------------------------------------------------- 1 | column_width = 120 2 | line_endings = "Unix" 3 | indent_type = "Spaces" 4 | indent_width = 2 5 | quote_style = "AutoPreferDouble" 6 | call_parentheses = "None" 7 | collapse_simple_statement = "Always" 8 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/window-controls/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/logs/refs/heads/main: -------------------------------------------------------------------------------- 1 | 0000000000000000000000000000000000000000 6774fc80cd2d4bb35e69f9c7280dbad21830018d Selmer443 1677764100 -0800 clone: from https://github.com/AstroNvim/split_user_example 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/star-2x.svg: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/logs/refs/remotes/origin/HEAD: -------------------------------------------------------------------------------- 1 | 0000000000000000000000000000000000000000 6774fc80cd2d4bb35e69f9c7280dbad21830018d Selmer443 1677764100 -0800 clone: from https://github.com/AstroNvim/split_user_example 2 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/objects/pack/readonly_pack-5218439ddf65142b8ba14825aceb9d1a60ea45bf.idx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cenunix/dotfiles/HEAD/dot_config/nvim/lua/user/dot_git/objects/pack/readonly_pack-5218439ddf65142b8ba14825aceb9d1a60ea45bf.idx -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/objects/pack/readonly_pack-5218439ddf65142b8ba14825aceb9d1a60ea45bf.pack: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cenunix/dotfiles/HEAD/dot_config/nvim/lua/user/dot_git/objects/pack/readonly_pack-5218439ddf65142b8ba14825aceb9d1a60ea45bf.pack -------------------------------------------------------------------------------- /dot_config/hypr/scripts/executable_launch_portals: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | sleep 1 3 | killall xdg-desktop-portal-hyprland 4 | killall xdg-desktop-portal-wlr 5 | killall xdg-desktop-portal 6 | /usr/libexec/xdg-desktop-portal-hyprland & 7 | sleep 2 8 | /usr/lib/xdg-desktop-portal & 9 | -------------------------------------------------------------------------------- /dot_config/wofi/menu: -------------------------------------------------------------------------------- 1 | # Config for wofi-wifi-menu 2 | 3 | # position values: 4 | # 1 2 3 5 | # 8 0 4 6 | # 7 6 5 7 | POSITION=3 8 | 9 | #y-offset 10 | YOFF=15 11 | 12 | #x-offset 13 | XOFF=-30 14 | 15 | #fields to be displayed 16 | FIELDS=SSID,IN-USE,BARS,SECURITY 17 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/menu.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/navbar/connection-warning-1x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dot_config/wofi/executable_wifi: -------------------------------------------------------------------------------- 1 | # Config for wofi-wifi-menu 2 | 3 | # position values: 4 | # 1 2 3 5 | # 8 0 4 6 | # 7 6 5 7 | POSITION=3 8 | 9 | #y-offset 10 | YOFF=65 11 | 12 | #x-offset 13 | XOFF=-40 14 | 15 | #fields to be displayed 16 | FIELDS=SSID,SECURITY,BARS 17 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/hooks/executable_post-update.sample: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # An example hook script to prepare a packed repository for use over 4 | # dumb transports. 5 | # 6 | # To enable this hook, rename this file to "post-update". 7 | 8 | exec git update-server-info 9 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/new-tab.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/page-action.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/heirline/colors.lua: -------------------------------------------------------------------------------- 1 | -- Customize colors for each element each element has a `_fg` and a `_bg` 2 | return function(colors) 3 | local get_hlgroup = require("astronvim.utils").get_hlgroup 4 | colors.git_branch_fg = get_hlgroup("Conditional").fg 5 | return colors 6 | end 7 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/arrow-back-1x.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/wofi/config: -------------------------------------------------------------------------------- 1 | width=400 2 | height=900 3 | show=drun 4 | prompt=Search... 5 | filter_rate=100 6 | allow_markup=true 7 | no_actions=true 8 | halign=fill 9 | orientation=vertical 10 | content_halign=fill 11 | insensitive=true 12 | allow_images=true 13 | image_size=40 14 | gtk_dark=true 15 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/navbar/connection-warning-2x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/info/exclude: -------------------------------------------------------------------------------- 1 | # git ls-files --others --exclude-from=.git/info/exclude 2 | # Lines that start with '#' are comments. 3 | # For a project mostly in C, the following would be a good set of 4 | # exclude patterns (uncomment them if you want to use them): 5 | # *.[oa] 6 | # *~ 7 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/heirline/attributes.lua: -------------------------------------------------------------------------------- 1 | -- Customize attributes of highlighting in Heirline components 2 | return { 3 | -- styling choices for each heirline element, check possible attributes with `:h attr-list` 4 | git_branch = { bold = true }, -- bold the git branch statusline component 5 | } 6 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/profile.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/reader-mode.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/popup/menu-right-1x.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/fullscreen.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/sidebar.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/navbar/info-1x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/go.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/yuck/notifs.yuck: -------------------------------------------------------------------------------- 1 | (defwidget notifs[] 2 | (eventbox :class "notifs-eventbox" 3 | :tooltip "Notifications" 4 | :valign "center" 5 | (label :class "notifs-label" :text " ${notif-count}"))) 6 | 7 | (deflisten notif-count :initial "0" "~/.local/.scripts/notifs count") -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/menu-update.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/stop-2x.svg: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/popup/menu-right-2x.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/yuck/window.yuck: -------------------------------------------------------------------------------- 1 | (deflisten window_listen "./scripts/window") 2 | 3 | (defwidget window-name [] 4 | (box :class "window-box" 5 | :space-evenly false 6 | :style "min-width: ${strlength(window_listen) * 10}px;" 7 | (label :class "window-name-label" :text window_listen :limit-width 39))) -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/bank-card.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/dunst/scripts/executable_notify-history.sh: -------------------------------------------------------------------------------- 1 | #! /bin/bash 2 | 3 | socat -u UNIX-CONNECT:/tmp/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock - | while read -r event; do 4 | if [[ $event == "closelayer>>notifications" ]]; then 5 | echo $event 6 | dunstctl history > /tmp/dunst-history.json 7 | exit 8 | fi 9 | done 10 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/navbar/connection-1x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/info-1x.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/info-2x.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/media-blocked.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/email.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/userChrome.css: -------------------------------------------------------------------------------- 1 | @import "config.css"; 2 | @import "variables.css"; 3 | @import "icons/icons.css"; 4 | @import "urlbar/urlbar.css"; 5 | @import "navbar/navbar.css"; 6 | @import "popup/popup.css"; 7 | @import "interface/interface.css"; 8 | @import "userChrome-tabline.css"; 9 | @import "content/inner-rounded.css"; 10 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/menu/eww.yuck: -------------------------------------------------------------------------------- 1 | (include "../common/yuck/h-iconmeter.yuck") 2 | (include "../common/yuck/v-iconmeter.yuck") 3 | (include "./time-menu/time-menu.yuck") 4 | (include "./sys-menu/sys-menu.yuck") 5 | (include "./clipboard/clipboard.yuck") 6 | 7 | (defwidget sep[] 8 | (box :class "sep" 9 | :valign "center")) 10 | 11 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/bookmark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/popup/checkmark-blank.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/connection-warning-1x.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/connection-warning-2x.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/permissions.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/config: -------------------------------------------------------------------------------- 1 | [core] 2 | repositoryformatversion = 0 3 | filemode = true 4 | bare = false 5 | logallrefupdates = true 6 | [remote "origin"] 7 | url = https://github.com/AstroNvim/split_user_example 8 | fetch = +refs/heads/*:refs/remotes/origin/* 9 | [branch "main"] 10 | remote = origin 11 | merge = refs/heads/main 12 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/stop-1x.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/lazy.lua: -------------------------------------------------------------------------------- 1 | -- Configure require("lazy").setup() options 2 | return { 3 | defaults = { lazy = true }, 4 | performance = { 5 | rtp = { 6 | -- customize default disabled vim plugins 7 | disabled_plugins = { "tohtml", "gzip", "matchit", "zipPlugin", "netrwPlugin", "tarPlugin", "matchparen" }, 8 | }, 9 | }, 10 | } 11 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/home-1x.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/navbar/connection-2x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/navbar/info-2x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/incognito.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/library-1x.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/plugins/user.lua: -------------------------------------------------------------------------------- 1 | return { 2 | -- You can also add new plugins here as well: 3 | -- Add plugins, the lazy syntax 4 | -- "andweeb/presence.nvim", 5 | -- { 6 | -- "ray-x/lsp_signature.nvim", 7 | -- event = "BufRead", 8 | -- config = function() 9 | -- require("lsp_signature").setup() 10 | -- end, 11 | -- }, 12 | } 13 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/yuck/updates.yuck: -------------------------------------------------------------------------------- 1 | (defpoll updates_poll :initial "" :interval "1m" "./scripts/updates.sh &") 2 | (deflisten updates_visible "~/.config/eww/iceberg/bar/scripts/test updater") 3 | 4 | (defwidget updates [] 5 | (icon-module :class "updates" :icon " " :visible {updates_poll != "" && updates_visible != "none found"} 6 | (label :text updates_poll))) -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/library-2x.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/paste.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/scripts/executable_toggle_rainbow: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | bar="$HOME/.config/eww/iceberg/bar" 3 | bar_theme="$HOME/.config/eww/themes/catppuccin-macchiato/bar" 4 | if [ -f "$bar/gradient" ];then 5 | rm "$bar/gradient" 6 | cp "$bar_theme/eww.scss" "$bar/eww.scss" 7 | else 8 | touch "$bar/gradient" 9 | cp "$bar_theme/gradient.scss" "$bar/eww.scss" 10 | fi -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/overflow.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/print.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/share.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/popup/checkmark.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/connection-1x.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/refresh-1x.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/connection-2x.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/kitty/kitty.conf: -------------------------------------------------------------------------------- 1 | # BEGIN_KITTY_THEME 2 | # Rosé Pine 3 | include color.conf 4 | # END_KITTY_THEME 5 | window_padding_width 30 6 | font_size 14 7 | font_family JetBrainsMono Nerd Font 8 | bold_font auto 9 | italic_font auto 10 | bold_italic_font auto 11 | confirm_os_window_close 0 12 | enable_audio_bell no 13 | allow_remote_control yes 14 | background_opacity 0.6 -------------------------------------------------------------------------------- /dot_config/firefox/chrome/window-controls/wc-wt-windowspatch.css: -------------------------------------------------------------------------------- 1 | /********************************/ 2 | /* windows10 specific ***********/ 3 | /* patches for window-controls. */ 4 | /********************************/ 5 | 6 | /* makes space between top edge and navigation bar when maximized */ 7 | :root[sizemode="maximized"] #navigator-toolbox { 8 | padding-top: 10px !important; 9 | } 10 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/custom-adblock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/dark-mode.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/password-manager.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/heirline/icon_highlights.lua: -------------------------------------------------------------------------------- 1 | -- Customize if icons should be highlighted 2 | return { 3 | breadcrumbs = false, -- LSP symbols in the breadcrumbs 4 | file_icon = { 5 | winbar = false, -- Filetype icon in the winbar inactive windows 6 | statusline = true, -- Filetype icon in the statusline 7 | tabline = true, -- Filetype icon in the tabline 8 | }, 9 | } 10 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/folder.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/popup/folder.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/block-media.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/developer.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/scripts/executable_updates.sh: -------------------------------------------------------------------------------- 1 | 2 | #!/bin/sh 3 | 4 | updates_arch=$(checkupdates 2> /dev/null | wc -l ); 5 | [ -z "$updates_arch" ] && updates_arch=0 6 | 7 | updates_aur=$(checkupdates-aur 2> /dev/null | wc -l) 8 | [ -z "$updates_aur" ] && updates_aur=0 9 | 10 | updates=$((updates_arch + updates_aur)) 11 | echo "$updates" 12 | 13 | #[ "$updates" -gt 0 ] && echo "$updates" || echo "A" -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/copy.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/star-filled.svg: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /dot_local/extras/installedpkgs.txt: -------------------------------------------------------------------------------- 1 | paru -S chezmoi hyprland-git xdg-desktop-portal-hyprland-git grim cava slurp wl-clipboard socat swappy cliphist swaylock-effects-git wofi dunst jq eww-wayland swww-git zathura-pdf-mupdf zathura lf spotify-dev spotify-player neofetch kitty-git btop dictd moreutils pamixer wf-recorder unimatrix-git playerctl pistol-git 2 | 3 | ** NVIDIA ** ! 4 | 5 | 6 | nvidia-dkms nvidia-vaapi-driver-git -------------------------------------------------------------------------------- /dot_config/firefox/chrome/content/inner-rounded.css: -------------------------------------------------------------------------------- 1 | /* make borders from inner content rounded */ 2 | #tabbrowser-tabpanels browser[type="content"] { 3 | color-scheme: env(-moz-content-preferred-color-scheme); 4 | border-top-left-radius: 16px; 5 | } 6 | 7 | /* comment this out for padding around the content */ 8 | /* .browserContainer{ 9 | padding-right: 10px !important; 10 | padding-bottom: 10px !important; 11 | } */ -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/key.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/notification-off.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/history.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/star-1x.svg: -------------------------------------------------------------------------------- 1 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/home-2x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dot_config/hypr/scripts/executable_wallpaper: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # load $WALLPAPER_IMAGE environment variable 4 | source $HOME/.config/hypr/scripts/variables/load_envs 5 | 6 | function load_wp(){ 7 | swww img -t any --transition-bezier 0.0,0.0,1.0,1.0 --transition-duration .8 --transition-step 255 --transition-fps 60 $BACKGROUND_IMAGE 8 | } 9 | 10 | #perform cleanup and exit 11 | if ! swww query; then 12 | swww init 13 | fi 14 | 15 | load_wp -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/scripts/executable_wifi: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | status=$(nmcli | grep "^wlan0" | cut -d ":" -d " " -f 2) 4 | 5 | function icon() { 6 | [ "$status" = "connected" ] && echo "" || echo "" 7 | } 8 | 9 | function class() { 10 | [ "$status" = "connected" ] && echo "wifi-on" || echo "wifi-off" 11 | } 12 | 13 | case "$1" in 14 | "icon") icon;; 15 | "class") class;; 16 | *) echo "unknown command" && exit 1;; 17 | esac 18 | 19 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/plugins/community.lua: -------------------------------------------------------------------------------- 1 | return { 2 | -- Add the community repository of plugin specifications 3 | "AstroNvim/astrocommunity", 4 | -- example of imporing a plugin, comment out to use it or add your own 5 | -- available plugins can be found at https://github.com/AstroNvim/astrocommunity 6 | 7 | -- { import = "astrocommunity.colorscheme.catppuccin" }, 8 | -- { import = "astrocommunity.completion.copilot-lua-cmp" }, 9 | } 10 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/sync.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/tracking-protection.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/audio-muted.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/window-controls/wc-without-tabline-r.css: -------------------------------------------------------------------------------- 1 | @import "window-controls.css"; 2 | @import "wc-without-tabline.css"; 3 | 4 | #TabsToolbar.browser-toolbar { 5 | left: auto !important; 6 | right: var(--wc-right-space) !important; 7 | } 8 | 9 | :root toolbar#nav-bar { 10 | margin-left: 0 !important; 11 | margin-right: calc(var(--wc-left-space) * 2 + 65px) !important; 12 | } 13 | 14 | .titlebar-buttonbox { 15 | flex-direction: row !important; 16 | } -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/scripts/executable_window: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | window () { 4 | if [[ ${1:0:14} == "activewindow>>" ]]; then 5 | result=$(echo "$1" | sed 's/^.\{14\}//g' | sed -e 's/,/-/g' | head -c 40) 6 | echo "$result" 7 | fi 8 | } 9 | 10 | socat -u UNIX-CONNECT:/tmp/hypr/"$HYPRLAND_INSTANCE_SIGNATURE"/.socket2.sock - | while read -r event; do 11 | window "$event" 12 | done 13 | 14 | 15 | # window=$(hyprctl activewindow -j | jq -r '.title') 16 | 17 | # echo "$window" -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/plugins/lsp.lua: -------------------------------------------------------------------------------- 1 | return { 2 | { "neovim/nvim-lspconfig", dependencies = { 3 | { "folke/neoconf.nvim", cmd = "Neoconf", config = true }, 4 | } }, 5 | { 6 | "simrat39/rust-tools.nvim", 7 | opts = function() return { server = require("astronvim.utils.lsp").config "rust_analyzer" } end, 8 | }, 9 | { 10 | "p00f/clangd_extensions.nvim", 11 | opts = function() return { server = require("astronvim.utils.lsp").config "clangd" } end, 12 | }, 13 | } -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/arrow-back-2x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/search.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/common/yuck/v-iconmeter.yuck: -------------------------------------------------------------------------------- 1 | (defwidget v-iconmeter[name min max val icon ?active ?onclick ?onchange ?pointer] 2 | (box :class "${name}-box" 3 | :space-evenly false 4 | :orientation "v" 5 | (scale :class "${name}-scale" :orientation "v" :active {active ?: true} :flipped true :min min :max max :onchange onchange :value {val}) 6 | (eventbox :class "${name}-eventbox" 7 | :onclick onclick 8 | (label :class "${name}-icon" :text icon)))) 9 | 10 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/refresh-2x.svg: -------------------------------------------------------------------------------- 1 | 6 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/scripts/executable_nvidia.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits -l 2 2> /dev/null | while read -r line ; do 4 | # [ "$result" = "Failed" ] && echo "NaN" || echo "$line%" 5 | # done 6 | 7 | if nvidia-smi ; then 8 | nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader,nounits -l 2 2> /dev/null | while read -r line ; do 9 | [ "$result" = "Failed" ] && echo "NaN" || echo "$line%" 10 | done 11 | else 12 | echo "NaN" 13 | fi -------------------------------------------------------------------------------- /dot_config/dunst/scripts/executable_brightness: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | down() { 4 | light -U 5 5 | brightness=$(light -G) 6 | dunstify -a "BRIGHTNESS" "Decreasing to $brightness%" -h int:value:"$brightness" -i display-brightness-symbolic -r 2593 -u normal 7 | } 8 | 9 | up() { 10 | light -A 5 11 | brightness=$(light -G) 12 | dunstify -a "BRIGHTNESS" "Increasing to $brightness%" -h int:value:"$brightness" -i display-brightness-symbolic -r 2593 -u normal 13 | } 14 | 15 | case "$1" in 16 | up) up;; 17 | down) down;; 18 | esac -------------------------------------------------------------------------------- /dot_config/eww/iceberg/menu/scripts/executable_unfocus: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CACHE_DIR="$HOME/.cache/eww" 4 | eww_menu="eww -c $HOME/.config/eww/iceberg/menu" 5 | 6 | function close() { 7 | $eww_menu close "$1" 8 | $eww_menu close unfocus 9 | rm "$CACHE_DIR/$1.lock" 10 | } 11 | 12 | function unfocus() { 13 | [ -f "$CACHE_DIR/notif-menu.lock" ] && close "notif-menu" 14 | [ -f "$CACHE_DIR/sys-menu.lock" ] && close "sys-menu" 15 | [ -f "$CACHE_DIR/time-menu.lock" ] && close "time-menu" 16 | } 17 | 18 | unfocus 19 | 20 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/hyperlink.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/hooks/executable_pre-merge-commit.sample: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # An example hook script to verify what is about to be committed. 4 | # Called by "git merge" with no arguments. The hook should 5 | # exit with non-zero status after issuing an appropriate message to 6 | # stderr if it wants to stop the merge commit. 7 | # 8 | # To enable this hook, rename this file to "pre-merge-commit". 9 | 10 | . git-sh-setup 11 | test -x "$GIT_DIR/hooks/pre-commit" && 12 | exec "$GIT_DIR/hooks/pre-commit" 13 | : 14 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/lsp/config/yamlls.lua: -------------------------------------------------------------------------------- 1 | -- example for addings schemas to yamlls 2 | return { -- override table for require("lspconfig").yamlls.setup({...}) 3 | settings = { 4 | yaml = { 5 | schemas = { 6 | ["http://json.schemastore.org/github-workflow"] = ".github/workflows/*.{yml,yaml}", 7 | ["http://json.schemastore.org/github-action"] = ".github/action.{yml,yaml}", 8 | ["http://json.schemastore.org/ansible-stable-2.9"] = "roles/tasks/*.{yml,yaml}", 9 | }, 10 | }, 11 | }, 12 | } 13 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/customize.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/hooks/executable_pre-applypatch.sample: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # An example hook script to verify what is about to be committed 4 | # by applypatch from an e-mail message. 5 | # 6 | # The hook should exit with non-zero status after issuing an 7 | # appropriate message if it wants to stop the commit. 8 | # 9 | # To enable this hook, rename this file to "pre-applypatch". 10 | 11 | . git-sh-setup 12 | precommit="$(git rev-parse --git-path hooks/pre-commit)" 13 | test -x "$precommit" && exec "$precommit" ${1+"$@"} 14 | : 15 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/scripts/executable_test: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | function check() { 4 | echo -n "$(cat ~/.config/eww/iceberg/bar/scripts/visibility_controls)a" | grep "$1" 5 | while inotifywait -q -q ~/.config/eww/iceberg/bar/scripts/visibility_controls; do 6 | if grep -q "$1" ~/.config/eww/iceberg/bar/scripts/visibility_controls; then 7 | echo -n "$(cat ~/.config/eww/iceberg/bar/scripts/visibility_controls)a" | grep "$1" 8 | else 9 | echo "none found" 10 | fi 11 | done 12 | } 13 | case "$1" in 14 | *) check "$1";; 15 | esac -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/cut.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/addons.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/camera-off.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/page-action.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/yuck/sys.yuck: -------------------------------------------------------------------------------- 1 | (deflisten sys_visible "~/.config/eww/iceberg/bar/scripts/test sys") 2 | 3 | (defwidget sys[] 4 | (box :spacing 10 5 | :class "sys" 6 | :valign "center" 7 | :visible {sys_visible != "none found"} 8 | (label :class "vol-icon" :text vol-icon) 9 | (label :class "wifi-icon ${wifi-class}" :text ""))) 10 | 11 | (defpoll vol-icon :interval "1s" "../common/scripts/vol icon") 12 | (defpoll wifi-class :interval "1s" "scripts/wifi class") 13 | (defpoll bat-icon :interval "1s" "scripts/bat icon") -------------------------------------------------------------------------------- /dot_config/eww/iceberg/common/yuck/h-iconmeter.yuck: -------------------------------------------------------------------------------- 1 | (defwidget h-iconmeter[name min max val icon ?active ?iwidth ?onclick ?onchange ?pointer] 2 | (box :class "${name}-box" 3 | :space-evenly false 4 | :orientation "h" 5 | :spacing 7 6 | (box :class "${name}-box" 7 | (eventbox :class "${name}-eventbox" 8 | :onclick onclick 9 | (label :class "${name}-icon" :width {iwidth ?: 20} :text icon))) 10 | (scale :class "${name}-scale" :orientation "h" :active {active ?: true} :min min :max max :onchange onchange :value val))) 11 | 12 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/screenshot.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/forget.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/profile-inactive.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/mic-off.svg: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/polish.lua: -------------------------------------------------------------------------------- 1 | -- This function is run last and is a good place to configuring 2 | -- augroups/autocommands and custom filetypes also this just pure lua so 3 | -- anything that doesn't fit in the normal config locations above can go here 4 | return function() 5 | -- Set up custom filetypes 6 | -- vim.filetype.add { 7 | -- extension = { 8 | -- foo = "fooscript", 9 | -- }, 10 | -- filename = { 11 | -- ["Foofile"] = "fooscript", 12 | -- }, 13 | -- pattern = { 14 | -- ["~/%.config/foo/.*"] = "fooscript", 15 | -- }, 16 | -- } 17 | end 18 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/hooks/executable_applypatch-msg.sample: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # An example hook script to check the commit log message taken by 4 | # applypatch from an e-mail message. 5 | # 6 | # The hook should exit with non-zero status after issuing an 7 | # appropriate message if it wants to stop the commit. The hook is 8 | # allowed to edit the commit message file. 9 | # 10 | # To enable this hook, rename this file to "applypatch-msg". 11 | 12 | . git-sh-setup 13 | commitmsg="$(git rev-parse --git-path hooks/commit-msg)" 14 | test -x "$commitmsg" && exec "$commitmsg" ${1+"$@"} 15 | : 16 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/bug.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/hypr/scripts/executable_toggle_opacity: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | opacity_val=$(hyprctl getoption decoration:active_opacity | grep float) 4 | echo "$opacity_val" 5 | if [[ "$opacity_val" == " float: 0.800000" ]]; then 6 | echo "float 0.8 detected" 7 | hyprctl --batch "keyword decoration:active_opacity 1.0 ; keyword decoration:inactive_opacity 1.0 ; keyword decoration:fullscreen_opacity 1.0" 8 | else 9 | echo "float 1.0 detected" 10 | hyprctl --batch "keyword decoration:active_opacity 0.8 ; keyword decoration:inactive_opacity 0.8 ; keyword decoration:fullscreen_opacity 0.8" 11 | fi 12 | 13 | 14 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/audio.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/common/yuck/circlemeter.yuck: -------------------------------------------------------------------------------- 1 | (defwidget circlemeter [name val ?thickness ?active ?icon ?onscroll ?onclick ?styles] 2 | (eventbox :class "${name}-eventbox" 3 | :onscroll "${onscroll ?: 'true'}" 4 | :timeout "3s" 5 | :onclick "${onclick ?: 'true'}" 6 | (box :class name 7 | :halign "center" 8 | :valign "center" 9 | :style styles 10 | (circular-progress 11 | :class "${name}-meter" 12 | :value "${val}" 13 | :thickness "${thickness ?: 2}" 14 | :active "${active ?: false}" 15 | (label :class "${name}-icon" :text icon))))) 16 | 17 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/common/scripts/executable_power: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function close() { 4 | eww -c "$HOME/.config/eww/iceberg/menu" close sys-menu time-menu 5 | $HOME/.scripts/dashboard close 6 | } 7 | 8 | function lock() { 9 | close 10 | betterlockscreen -l dim 11 | } 12 | 13 | function llogout() { 14 | close 15 | bspc quit 16 | } 17 | 18 | function rrestart() { 19 | close 20 | reboot 21 | } 22 | 23 | function sshutdown() { 24 | close 25 | shutdown now 26 | } 27 | 28 | case "$1" in 29 | lock) lock;; 30 | logout) llogout;; 31 | reboot) rrestart;; 32 | shutdown) sshutdown;; 33 | *) echo "unrecognized command" && exit 1;; 34 | esac 35 | 36 | -------------------------------------------------------------------------------- /dot_config/spotify-player/exampleapp.toml: -------------------------------------------------------------------------------- 1 | theme = "poimandres" 2 | 3 | client_id = "" 4 | 5 | app_refresh_duration_in_ms = 32 6 | 7 | playback_refresh_duration_in_ms = 0 8 | 9 | cover_image_refresh_duration_in_ms = 2000 10 | 11 | track_table_item_max_len = 32 12 | 13 | enable_media_control = true 14 | 15 | default_device = "spotify-player" 16 | 17 | play_icon = "\u23f8" 18 | 19 | pause_icon = "\u25b6" 20 | 21 | cover_img_length = 9 22 | 23 | cover_img_width = 5 24 | 25 | playback_window_width = 6 26 | 27 | 28 | 29 | [device] 30 | 31 | name = "spotify-player" 32 | 33 | device_type = "speaker" 34 | 35 | volume = 100 36 | 37 | bitrate = 320 38 | 39 | audio_cache = true 40 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/plugins/catppuccin.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "Selmer443/poimandres.nvim", 3 | name = "catppuccin", 4 | opts = { 5 | flavour = "poimandres", -- latte, frappe, macchiato, mocha 6 | -- transparent_background = false, 7 | dim_inactive = { enabled = true, percentage = 0.25 }, 8 | integrations = { 9 | nvimtree = false, 10 | aerial = true, 11 | dap = { enabled = true, enable_ui = true }, 12 | mason = true, 13 | neotree = true, 14 | notify = true, 15 | sandwich = true, 16 | semantic_tokens = true, 17 | symbols_outline = true, 18 | telescope = true, 19 | which_key = true, 20 | }, 21 | }, 22 | } -------------------------------------------------------------------------------- /dot_config/lf/executable_lf_kitty_preview: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | file=$1 3 | w=$2 4 | h=$3 5 | x=$4 6 | y=$5 7 | 8 | filetype="$( file -Lb --mime-type "$file")" 9 | 10 | if [[ "$filetype" =~ ^image ]]; then 11 | kitty +kitten icat --silent --stdin no --transfer-mode file --place "${w}x${h}@${x}x${y}" "$file" < /dev/null > /dev/tty 12 | exit 1 13 | fi 14 | 15 | if [[ "$filetype" =~ ^video ]]; then 16 | # vidthumb is from here: 17 | # https://raw.githubusercontent.com/duganchen/kitty-pistol-previewer/main/vidthumb 18 | kitty +icat --silent --transfer-mode file --place "${w}x${h}@${x}x${y}" "$("$HOME/.config/lf/vidthumb" "$file")" 19 | exit 1 20 | fi 21 | 22 | pistol "$file" -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/hooks/executable_pre-receive.sample: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # An example hook script to make use of push options. 4 | # The example simply echoes all push options that start with 'echoback=' 5 | # and rejects all pushes when the "reject" push option is used. 6 | # 7 | # To enable this hook, rename this file to "pre-receive". 8 | 9 | if test -n "$GIT_PUSH_OPTION_COUNT" 10 | then 11 | i=0 12 | while test "$i" -lt "$GIT_PUSH_OPTION_COUNT" 13 | do 14 | eval "value=\$GIT_PUSH_OPTION_$i" 15 | case "$value" in 16 | echoback=*) 17 | echo "echo from the pre-receive-hook: ${value#*=}" >&2 18 | ;; 19 | reject) 20 | exit 1 21 | esac 22 | i=$((i + 1)) 23 | done 24 | fi 25 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/plugins/null-ls.lua: -------------------------------------------------------------------------------- 1 | return { 2 | "jose-elias-alvarez/null-ls.nvim", 3 | opts = function(_, config) 4 | -- config variable is the default configuration table for the setup function call 5 | -- local null_ls = require "null-ls" 6 | 7 | -- Check supported formatters and linters 8 | -- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/formatting 9 | -- https://github.com/jose-elias-alvarez/null-ls.nvim/tree/main/lua/null-ls/builtins/diagnostics 10 | config.sources = { 11 | -- Set a formatter 12 | -- null_ls.builtins.formatting.stylua, 13 | -- null_ls.builtins.formatting.prettier, 14 | } 15 | return config -- return final config table 16 | end, 17 | } 18 | -------------------------------------------------------------------------------- /dot_config/eww/executable_startup: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | EWW_DIR=$HOME/.config/eww/iceberg 4 | killall eww 5 | NB_MONITORS=($(hyprctl monitors -j | jq -r '.[] | .id')) 6 | 7 | for id in "${NB_MONITORS[@]}"; do 8 | # make top bar for every display 9 | bar="bar$id" 10 | hyprctl dispatch focusmonitor "$id" 11 | eww --debug -c $EWW_DIR/bar open "$bar" 12 | eww -c $EWW_DIR/menu daemon 13 | # eww -c $EWW_DIR/menu open "sys-menu$id" 14 | # eww -c $EWW_DIR/dashboard daemon 15 | eww -c $EWW_DIR/meters daemon 16 | echo $id 17 | done 18 | mkdir /tmp/eww 19 | mkdir /tmp/eww/clipboard 20 | (~/.config/eww/iceberg/menu/scripts/clipboard watch > /tmp/eww/clipboard/yuck) & 21 | 22 | 23 | # $HOME/.config/eww/iceberg/menu/scripts/sys restore 24 | 25 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/lsp/formatting.lua: -------------------------------------------------------------------------------- 1 | -- customize lsp formatting options 2 | return { 3 | -- control auto formatting on save 4 | format_on_save = { 5 | enabled = true, -- enable or disable format on save globally 6 | allow_filetypes = { -- enable format on save for specified filetypes only 7 | -- "go", 8 | }, 9 | ignore_filetypes = { -- disable format on save for specified filetypes 10 | -- "python", 11 | }, 12 | }, 13 | disabled = { -- disable formatting capabilities for the listed language servers 14 | -- "sumneko_lua", 15 | }, 16 | timeout_ms = 1000, -- default format timeout 17 | -- filter = function(client) -- fully override the default formatting function 18 | -- return true 19 | -- end 20 | } 21 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/window-controls/wc-without-tabline.css: -------------------------------------------------------------------------------- 1 | @import "window-controls.css"; 2 | 3 | :root toolbar#nav-bar { 4 | z-index: 1 !important; 5 | position: relative !important; 6 | /* shift toolbar to the right based on initial width */ 7 | /* margin-left: calc( 8 | var(--wc-right-space) * 2 + 60px 9 | ) !important; */ 10 | margin-left: 0px; 11 | } 12 | 13 | #TabsToolbar .toolbar-items { 14 | display: none !important; 15 | } 16 | 17 | .titlebar-buttonbox { 18 | flex-direction: row-reverse; 19 | } 20 | 21 | #TabsToolbar.browser-toolbar { 22 | display: inline-block !important; 23 | position: absolute; 24 | top: var(--wc-vertical-shift) !important; 25 | left: var(--wc-left-space) !important; 26 | } 27 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/common/scss/colors.scss: -------------------------------------------------------------------------------- 1 | $red: #FCC5E9; //changed "pink2" 2 | $dark-navy: #14151e; // changed "background2" 3 | $light-gray: #506477; //changed "blueGray3" 4 | $gray: #303340; //changed "background1" 5 | $dark-gray: #171922; //changed "background3" 6 | $light-blue: #add7ff; //changed "blue2 7 | $blue: #91b4d5; // changed "blue3" 8 | $mauve: #FAE4FC; //changed "pink1" 9 | $dark-blue: #506477; //changed "blueGray3" 10 | $yellow: #FFFAC2; //changed "yellow" 11 | $purple: #FAE4FC; //changed "pink1" 12 | $green: #99e6bf; 13 | $orange: #A6ACCD; //changed "blueGray1" 14 | $teal: #add7ff; //changed "blue2 15 | $mint: #add7ff; //changed "blue2 16 | $raisin-black: #14151e; // changed "background2" 17 | $bg: #14151e; // changed "background2" 18 | $fg: #E4F0FB; 19 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/settings.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/navbar/naughty-shield-1x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/yuck/start.yuck: -------------------------------------------------------------------------------- 1 | (defwidget start[] 2 | (box :class "start-box" 3 | (eventbox :class "start-eventbox" 4 | :onclick "scripts/widgets toggle-sys ; scripts/blank" 5 | :timeout "60s" 6 | ; :cursor "pointer" 7 | :valign "center" 8 | (box :class "start" 9 | (label :class "start-btn" :text ""))))) 10 | 11 | (defwidget start1[] 12 | (box :class "start-box" 13 | (eventbox :class "start-eventbox" 14 | :onclick "scripts/widgets toggle-sys1 ; scripts/blank" 15 | :timeout "60s" 16 | ; :cursor "pointer" 17 | :valign "center" 18 | (box :class "start" 19 | (label :class "start-btn" :text ""))))) 20 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/navbar/naughty-shield-2x.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/menu/clipboard/clipboard.scss: -------------------------------------------------------------------------------- 1 | .clipboard0 { 2 | background: $bg; 3 | border-radius: 10; 4 | padding: 0 0.5em; 5 | } 6 | .clipboard1 { 7 | background: $bg; 8 | border-radius: 10; 9 | padding: 0 0.5em; 10 | } 11 | 12 | .cb-item { 13 | border: 1px solid rgba($light-gray, 30%); 14 | border-radius: 10; 15 | margin: 4; 16 | padding: 4; 17 | } 18 | 19 | .cb-text { 20 | // overflow-wrap: anywhere; 21 | // word-break: break-all; 22 | } 23 | 24 | .cb-empty { 25 | color: rgba($fg, 30%); 26 | } 27 | 28 | .cb-event:hover > .cb-item { 29 | background: $bg; 30 | } 31 | 32 | .cb-event > .cb-item > .cb-showhide >.cb-show { 33 | color: transparent; 34 | } 35 | .cb-event:hover > .cb-item > .cb-showhide > .cb-hide { 36 | color: transparent; 37 | } 38 | .cb-event:hover > .cb-item > .cb-showhide > .cb-show { 39 | color: unset; 40 | } -------------------------------------------------------------------------------- /dot_config/swaylock/config: -------------------------------------------------------------------------------- 1 | # indicator 2 | # no-unlock-indicator 3 | # daemonize 4 | 5 | indicator-caps-lock 6 | # datestr=%A 7 | # image=$("cat ~/.config/hypr/scripts/variables/temp/background") 8 | scaling=fill 9 | font=JetBrainsMono Nerd Font 10 | font-size=32 11 | 12 | clock 13 | indicator 14 | 15 | fade-in=0.2 16 | effect-blur=8x5 17 | effect-vignette=0.5:0.5 18 | timestr=%I:%M:%S 19 | datestr=%d.%m 20 | 21 | 22 | # Ring 23 | indicator-radius=200 24 | indicator-thickness=20 25 | # line-uses-ring 26 | line-color=#515977 27 | text-color=#E4F0FB 28 | inside-color=#14151e 29 | inside-ver-color=#E4F0FB 30 | line-ver-color=#E4F0FB 31 | ring-ver-color=#E4F0FB 32 | ring-color=#14151e 33 | key-hl-color=#303340 34 | separator-color=#303340 35 | layout-text-color=#303340 36 | line-wrong-color=#E4F0FB 37 | ring-wrong-color=#E4F0FB 38 | inside-wrong-color=#E4F0FB 39 | 40 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/plugins/alpha.lua: -------------------------------------------------------------------------------- 1 | -- customize alpha options 2 | return { 3 | "goolord/alpha-nvim", 4 | opts = function(_, opts) 5 | -- customize the dashboard header 6 | opts.section.header.val = { 7 | " █████ ███████ ████████ ██████ ██████", 8 | "██ ██ ██ ██ ██ ██ ██ ██", 9 | "███████ ███████ ██ ██████ ██ ██", 10 | "██ ██ ██ ██ ██ ██ ██ ██", 11 | "██ ██ ███████ ██ ██ ██ ██████", 12 | " ", 13 | " ███  ██ ██  ██ ██ ███  ███", 14 | " ████  ██ ██  ██ ██ ████  ████", 15 | " ██ ██  ██ ██  ██ ██ ██ ████ ██", 16 | " ██  ██ ██  ██  ██  ██ ██  ██  ██", 17 | " ██   ████   ████   ██ ██      ██", 18 | } 19 | -- opts.section.header.val = { 20 | -- "hello world" 21 | -- } 22 | return opts 23 | end, 24 | } 25 | -------------------------------------------------------------------------------- /dot_config/lf/executable_vidthumb: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if ! [ -f "$1" ]; then 4 | exit 1 5 | fi 6 | 7 | cache="$HOME/.cache/vidthumb" 8 | index="$cache/index.json" 9 | movie="$(realpath "$1")" 10 | 11 | mkdir -p "$cache" 12 | 13 | if [ -f "$index" ]; then 14 | thumbnail="$(jq -r ". \"$movie\"" <"$index")" 15 | if [[ "$thumbnail" != "null" ]]; then 16 | if [[ ! -f "$cache/$thumbnail" ]]; then 17 | exit 1 18 | fi 19 | echo "$cache/$thumbnail" 20 | exit 0 21 | fi 22 | fi 23 | 24 | thumbnail="$(uuidgen).jpg" 25 | 26 | if ! ffmpegthumbnailer -i "$movie" -o "$cache/$thumbnail" -s 0 2>/dev/null; then 27 | exit 1 28 | fi 29 | 30 | if [[ ! -f "$index" ]]; then 31 | echo "{\"$movie\": \"$thumbnail\"}" >"$index" 32 | fi 33 | json="$(jq -r --arg "$movie" "$thumbnail" ". + {\"$movie\": \"$thumbnail\"}" <"$index")" 34 | echo "$json" >"$index" 35 | 36 | echo "$cache/$thumbnail" -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/favorite-star-full.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 10 | 11 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/scripts/executable_cavabars: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # credits to mmsaeed509 4 | # https://github.com/mmsaeed509/bspwm-dots 5 | 6 | bar="▁▂▃▄▅▆▇█" 7 | dict="s/;//g;" 8 | 9 | # creating "dictionary" to replace char with bar 10 | i=0 11 | while [ $i -lt ${#bar} ] 12 | do 13 | dict="${dict}s/$i/${bar:$i:1}/g;" 14 | i=$((i=i+1)) 15 | done 16 | 17 | # make sure to clean pipe 18 | pipe="/tmp/cava.fifo" 19 | if [ -p $pipe ]; then 20 | unlink $pipe 21 | fi 22 | mkfifo $pipe 23 | 24 | # write cava config 25 | config_file="/tmp/polybar_cava_config" 26 | echo " 27 | [general] 28 | bars = 10 29 | [output] 30 | method = raw 31 | raw_target = $pipe 32 | data_format = ascii 33 | ascii_max_range = 7 34 | " > $config_file 35 | 36 | # run cava in the background 37 | cava -p $config_file & 38 | 39 | # reading data from fifo 40 | while read -r cmd; do 41 | echo $cmd | sed $dict 42 | done < $pipe 43 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/userChrome-static.css: -------------------------------------------------------------------------------- 1 | #main-window[title^="Firefox Developer Edition"] #PersonalToolbar { 2 | visibility: visible !important; 3 | margin-top: -1px !important; 4 | } 5 | 6 | #sidebar-box #sidebar { 7 | min-width: var(--sidebar-width) !important; 8 | max-width: var(--sidebar-width) !important; 9 | box-shadow: none !important; 10 | } 11 | 12 | #sidebar-box { 13 | width: var(--sidebar-width) !important; 14 | } 15 | 16 | /* hide sidebar header for tree style tabs sidebar */ 17 | #sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header { 18 | display: none; 19 | } 20 | 21 | #sidebar { 22 | border-right: solid var(--dividers) var(--sidebar-shadow-color) !important; 23 | } 24 | 25 | toolbar { 26 | border: none !important; 27 | } 28 | 29 | /* Hide splitter, when using Tree Style Tab. */ 30 | #sidebar-splitter { 31 | display: none !important; 32 | } 33 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/scripts/executable_adjust_bar: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if grep -n "$1" ~/.config/eww/iceberg/bar/scripts/visibility_controls ; then 4 | line_number=$(grep -n "$1" ~/.config/eww/iceberg/bar/scripts/visibility_controls | head -c 1) 5 | line_revised="$line_number""d" 6 | sed -i "$line_revised" ~/.config/eww/iceberg/bar/scripts/visibility_controls 7 | else 8 | sed -i '/^$/d' ~/.config/eww/iceberg/bar/scripts/visibility_controls 9 | printf "\n$1" >> ~/.config/eww/iceberg/bar/scripts/visibility_controls 10 | fi 11 | 12 | echo "$line_number" 13 | 14 | 15 | podman run -d \ 16 | --name=jackett \ 17 | -e PUID=1000 \ 18 | -e PGID=1000 \ 19 | -e TZ=Etc/UTC \ 20 | -e AUTO_UPDATE=true `#optional` \ 21 | -e RUN_OPTS= `#optional` \ 22 | -p 9117:9117 \ 23 | -v /home/user/Personal/repos/jackett:/config \ 24 | -v /dev/null:/downloads \ 25 | --restart unless-stopped \ 26 | lscr.io/linuxserver/jackett:latest -------------------------------------------------------------------------------- /dot_config/hypr/scripts/variables/executable_set_env: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | save_location=~/.config/hypr/scripts/variables/temp 3 | 4 | function setVar(){ 5 | checkENVDir $2 6 | echo $1 > "$save_location/$2" 7 | } 8 | 9 | function checkENVDir() { 10 | if ! test -d "$save_location"; then 11 | mkdir $save_location 12 | fi 13 | if ! test -f "$save_location/$1"; then 14 | touch $save_location/$1 15 | fi 16 | } 17 | 18 | doc() { 19 | echo "Usage: 20 | set_env [Options] 21 | 22 | Options: 23 | primary Sets the primary screen 24 | background Sets the image location of the active wallpaper" 25 | } 26 | 27 | case $1 in #function #file param #file name 28 | primary) setVar $2 primary_screen ;; 29 | background) setVar $2 background ;; 30 | help) doc ;; 31 | *) doc ;; 32 | esac 33 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_github/README.md: -------------------------------------------------------------------------------- 1 | # AstroNvim Structured User Example 2 | 3 | A user configuration template for [AstroNvim](https://github.com/AstroNvim/AstroNvim) 4 | 5 | **Note:** This repository does require AstroNvim v3.0. Because of this, `nightly` is currently the default update channel until v3.0 is released to stable when it will be changed to using `stable` by default. 6 | 7 | ## 🛠️ Installation 8 | 9 | #### Make a backup of your current nvim and shared folder 10 | 11 | ```shell 12 | mv ~/.config/nvim ~/.config/nvim.bak 13 | mv ~/.local/share/nvim ~/.local/share/nvim.bak 14 | ``` 15 | 16 | #### Clone AstroNvim 17 | 18 | ```shell 19 | git clone https://github.com/AstroNvim/AstroNvim ~/.config/nvim 20 | ``` 21 | 22 | #### Clone the repository 23 | 24 | ```shell 25 | git clone https://github.com/AstroNvim/split_user_example ~/.config/nvim/lua/user 26 | ``` 27 | 28 | #### Start Neovim 29 | 30 | ```shell 31 | nvim 32 | ``` 33 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/menu/eww.scss: -------------------------------------------------------------------------------- 1 | * { 2 | all: unset; 3 | transition: 100ms ease-in; 4 | } 5 | 6 | @import "../common/scss/colors.scss"; 7 | @import "./time-menu/time-menu.scss"; 8 | @import "./sys-menu/sys-menu.scss"; 9 | @import "./clipboard/clipboard.scss"; 10 | 11 | tooltip { 12 | color: #B8BDC9; 13 | background-color: $bg; 14 | border: 1px solid $gray; 15 | } 16 | 17 | @keyframes gradient_f { 18 | 0% { 19 | background-position: 0% 200%; 20 | } 21 | 50% { 22 | background-position: 200% 0%; 23 | } 24 | 100% { 25 | background-position: 400% 200%; 26 | } 27 | } 28 | 29 | .menu { 30 | font-family: Noto Sans, "Font Awesome 6 Free"; 31 | background-color: $bg; 32 | } 33 | 34 | .sys-menu, .time-menu { 35 | border: 1px solid $gray; 36 | border-radius: 15px; 37 | } 38 | 39 | .menu-main, .sys-menu, .time-menu, .notif-menu { 40 | } 41 | 42 | .sep { 43 | border-top: 1px solid $raisin-black; 44 | } 45 | 46 | -------------------------------------------------------------------------------- /dot_local/dot_scripts/executable_wofi-powermenu: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # rofi theme 4 | theme="$HOME/.config/rofi/main_without_icons.rasi" 5 | 6 | get_options() { 7 | echo " Poweroff" 8 | echo " Reboot" 9 | echo " Hibernate" 10 | echo " Lock" 11 | echo " Suspend" 12 | echo " Log out" 13 | } 14 | 15 | main() { 16 | 17 | # get choice from rofi 18 | choice=$( (get_options) | wofi -n -k "/dev/null" -dmenu) 19 | 20 | # run the selected command 21 | case $choice in 22 | ' Poweroff') 23 | systemctl poweroff 24 | ;; 25 | ' Reboot') 26 | systemctl reboot 27 | ;; 28 | ' Hibernate') 29 | systemctl hibernate 30 | ;; 31 | ' Lock') 32 | swaylock -i "$(cat ~/.config/hypr/scripts/variables/temp/background)" 33 | ;; 34 | ' Suspend') 35 | systemctl suspend 36 | ;; 37 | ' Log out') 38 | hyprctl kill 39 | ;; 40 | esac 41 | 42 | # done 43 | set -e 44 | } 45 | 46 | main & 47 | 48 | exit 0 -------------------------------------------------------------------------------- /dot_zshenv: -------------------------------------------------------------------------------- 1 | export ZDOTDIR="$HOME/.config/zsh" 2 | 3 | export GOPATH="$HOME/langs/go" 4 | export MOZ_ENABLE_WAYLAND=1 5 | 6 | export XDG_CONFIG_HOME="$HOME/.config" 7 | export XDG_DATA_HOME="$HOME/.local/share" 8 | export XDG_CACHE_HOME="$HOME/.cache" 9 | 10 | #Cleanup 11 | 12 | export CARGO_HOME="$HOME/langs/.cargo" 13 | export RUSTUP_HOME="$HOME/langs/.rustup" 14 | export CUDA_CACHE_PATH="$XDG_CACHE_HOME"/nv 15 | export NPM_CONFIG_USERCONFIG="$HOME/langs/npm/config" 16 | export NPM_CONFIG_CACHE="$HOME/langs/npm/" 17 | export NPM_CONFIG_TMP="$HOME/langs/npm/" 18 | export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/.gtkrc-2.0 19 | export WGETRC="$XDG_CONFIG_HOME/wget/.wgetrc" 20 | export PARALLEL_HOME="$XDG_CONFIG_HOME"/parallel 21 | export _JAVA_OPTIONS=-Djava.util.prefs.userRoot="$HOME/langs/java" 22 | export GNUPGHOME="$XDG_CONFIG_HOME/gnupg" 23 | export NUGET_PACKAGES="$XDG_CACHE_HOME"/.nuget 24 | 25 | alias svn="svn --config-dir \"$XDG_CONFIG_HOME\"/subversion" 26 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/common/scripts/executable_bright: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | CACHE_DIR="$HOME/.cache/eww" 4 | animate="$HOME/.config/eww/iceberg/common/scripts/animations" 5 | delta=5 6 | 7 | function percent() { 8 | echo $(brightnessctl -m | cut -d "," -f 4 | sed 's/%//') 9 | } 10 | 11 | function change() { 12 | [ "$1" = "up" ] && brightnessctl set "+$delta%" 1> /dev/null || brightnessctl set "$delta%-" 1> /dev/null 13 | } 14 | 15 | function set_value() { 16 | brightnessctl set "$1%" > /dev/null 17 | } 18 | 19 | function follow() { 20 | local scalar=$(percent) 21 | $animate run -i "bright" -s $scalar -e "ease_out_expo" 22 | 23 | local b=$(percent) 24 | echo $b 25 | while sleep 0.1; do 26 | local nb=$(percent) 27 | [[ $b -ne $nb ]] && b=$nb && echo $nb 28 | done 29 | } 30 | 31 | 32 | case "$1" in 33 | "percent") percent;; 34 | "change") change "$2";; 35 | "set") set_value "$2";; 36 | "follow") follow;; 37 | *) echo "Unknown command";; 38 | esac 39 | 40 | -------------------------------------------------------------------------------- /dot_config/hypr/scripts/executable_lf_wall: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | hypr=$HOME/.config/hypr 4 | wallpaper_folder=$HOME/Pictures/wallpapers 5 | 6 | wallpaper_location="$(ls $wallpaper_folder | wofi -n --show dmenu)" 7 | 8 | echo "$wallpaper_folder/$wallpaper_location" 9 | 10 | if [[ -d $wallpaper_folder/$wallpaper_location ]]; then 11 | echo "$wallpaper_folder/$wallpaper_location is a directory" 12 | wallpaper_temp="$wallpaper_location" 13 | sleep2 14 | wallpaper_location="$(ls $wallpaper_folder/$wallpaper_location | wofi -n --show dmenu)" 15 | elif [[ -f $wallpaper_folder/$wallpaper_location ]]; then 16 | echo "$wallpaper_folder/$wallpaper_location is a file" 17 | else 18 | echo "$wallpaper_folder/$wallpaper_location is not valid" 19 | exit 1 20 | fi 21 | 22 | 23 | echo "$wallpaper_folder/$wallpaper_temp/$wallpaper_location" 24 | 25 | $hypr/scripts/variables/set_env background "$wallpaper_folder/$wallpaper_temp/$wallpaper_location" 26 | 27 | $hypr/scripts/wallpaper 28 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/updater.lua: -------------------------------------------------------------------------------- 1 | -- Configure AstroNvim updates 2 | return { 3 | remote = "origin", -- remote to use 4 | channel = "nightly", -- "stable" or "nightly" 5 | version = "latest", -- "latest", tag name, or regex search like "v1.*" to only do updates before v2 (STABLE ONLY) 6 | branch = "nightly", -- branch name (NIGHTLY ONLY) 7 | commit = nil, -- commit hash (NIGHTLY ONLY) 8 | pin_plugins = nil, -- nil, true, false (nil will pin plugins on stable only) 9 | skip_prompts = false, -- skip prompts about breaking changes 10 | show_changelog = true, -- show the changelog after performing an update 11 | auto_quit = false, -- automatically quit the current session after a successful update 12 | remotes = { -- easily add new remotes to track 13 | -- ["remote_name"] = "https://remote_url.come/repo.git", -- full remote url 14 | -- ["remote2"] = "github_user/repo", -- GitHub user/repo shortcut, 15 | -- ["remote3"] = "github_user", -- GitHub user assume AstroNvim fork 16 | }, 17 | } 18 | -------------------------------------------------------------------------------- /dot_config/hypr/scripts/executable_wallpaper_picker: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | hypr=$HOME/.config/hypr 4 | wallpaper_folder=$HOME/Pictures/wallpapers 5 | 6 | wallpaper_location="$(ls $wallpaper_folder | wofi -n --show dmenu -k "/dev/null")" 7 | 8 | echo "$wallpaper_folder/$wallpaper_location" 9 | 10 | if [[ -d $wallpaper_folder/$wallpaper_location ]]; then 11 | echo "$wallpaper_folder/$wallpaper_location is a directory" 12 | wallpaper_temp="$wallpaper_location" 13 | sleep2 14 | wallpaper_location="$(ls $wallpaper_folder/$wallpaper_location | wofi -n --show dmenu -k "/dev/null")" 15 | elif [[ -f $wallpaper_folder/$wallpaper_location ]]; then 16 | echo "$wallpaper_folder/$wallpaper_location is a file" 17 | else 18 | echo "$wallpaper_folder/$wallpaper_location is not valid" 19 | exit 1 20 | fi 21 | 22 | 23 | echo "$wallpaper_folder/$wallpaper_temp/$wallpaper_location" 24 | 25 | $hypr/scripts/variables/set_env background "$wallpaper_folder/$wallpaper_temp/$wallpaper_location" 26 | 27 | $hypr/scripts/wallpaper 28 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/globe.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/hooks/executable_commit-msg.sample: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # An example hook script to check the commit log message. 4 | # Called by "git commit" with one argument, the name of the file 5 | # that has the commit message. The hook should exit with non-zero 6 | # status after issuing an appropriate message if it wants to stop the 7 | # commit. The hook is allowed to edit the commit message file. 8 | # 9 | # To enable this hook, rename this file to "commit-msg". 10 | 11 | # Uncomment the below to add a Signed-off-by line to the message. 12 | # Doing this in a hook is a bad idea in general, but the prepare-commit-msg 13 | # hook is more suited to it. 14 | # 15 | # SOB=$(git var GIT_AUTHOR_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') 16 | # grep -qs "^$SOB" "$1" || echo "$SOB" >> "$1" 17 | 18 | # This example catches duplicate Signed-off-by lines. 19 | 20 | test "" = "$(grep '^Signed-off-by: ' "$1" | 21 | sort | uniq -c | sed -e '/^[ ]*1[ ]/d')" || { 22 | echo >&2 Duplicate Signed-off-by lines. 23 | exit 1 24 | } 25 | -------------------------------------------------------------------------------- /dot_config/dunst/scripts/executable_volume: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | 4 | down() { 5 | pamixer -d 5 6 | volume=$(pamixer --get-volume) 7 | [$volume -gt 0 ] && volume=`expr $volume` 8 | notify-send "Volume" "Decreasing to $volume%" -h int:value:"$volume" -i audio-volume-low-symbolic -r 2593 -u normal 9 | canberra-gtk-play -i audio-volume-change -d "changevolume" 10 | } 11 | 12 | up() { 13 | pamixer -i 5 14 | volume=$(pamixer --get-volume) 15 | [ $volume -lt 100 ] && volume=`expr $volume` 16 | notify-send "Volume" "Increasing to $volume%" -h int:value:"$volume" -i audio-volume-high-symbolic -r 2593 -u normal 17 | canberra-gtk-play -i audio-volume-change -d "changevolume" 18 | } 19 | 20 | mute() { 21 | muted="$(pamixer --get-mute)" 22 | if $muted; then 23 | pamixer -u 24 | notify-send "Volume" "Unmuted" -i audio-volume-high-symbolic -r 2593 -u normal 25 | else 26 | pamixer -m 27 | notify-send "Volume" "Muted" -i audio-volume-muted-symbolic -r 2593 -u normal 28 | fi 29 | } 30 | 31 | case "$1" in 32 | up) up;; 33 | down) down;; 34 | mute) mute;; 35 | esac -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/scripts/executable_bat: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | function level() { 4 | energy=$(cat /sys/class/power_supply/qcom-battmgr-bat/energy_now) 5 | full=$(cat /sys/class/power_supply/qcom-battmgr-bat/energy_full) 6 | newfull=`expr $full / 100` 7 | ans=`expr $energy / $newfull` 8 | echo $ans 9 | } 10 | 11 | function charging() { 12 | [ $(cat /sys/class/power_supply/qcom-battmgr-bat/status) = "Charging" ] 13 | } 14 | 15 | function icon() { 16 | if charging;then 17 | echo "" 18 | elif (( $(level) < 20 ));then 19 | echo "" 20 | elif (( $(level) < 40 ));then 21 | echo "" 22 | elif (( $(level) < 60 ));then 23 | echo "" 24 | elif (( $(level) < 80 ));then 25 | echo "" 26 | else 27 | echo "" 28 | fi 29 | } 30 | 31 | function class() { 32 | if (( $(level) < 20 ));then 33 | echo "low" 34 | elif (( $(level) < 40 ));then 35 | echo "med" 36 | else 37 | echo "high" 38 | fi 39 | } 40 | 41 | 42 | case "$1" in 43 | "level") level;; 44 | "icon") icon;; 45 | "class") class;; 46 | *) echo "unknown command" && exit 1;; 47 | esac 48 | 49 | -------------------------------------------------------------------------------- /dot_local/dot_scripts/executable_mediaserver: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | function start() { 3 | rclone-linux mount my-remote: /media --vfs-cache-mode full --dir-cache-time 10s --vfs-cache-max-age 10h --vfs-cache-max-size 200g --allow-other & 4 | sleep 2 5 | sudo systemctl start plexmediaserver.service 6 | sleep 2 7 | podman run -d --name plex_debrid -v /home/user/Personal/repos/plex_debrid/:/config --net host -ti itstoggle/plex_debrid & 8 | sleep 2 9 | podman run -d --name=jackett -e PUID=1000 -e PGID=1000 -e TZ=Etc/UTC -e AUTO_UPDATE=true `#optional` -e RUN_OPTS= `#optional` -p 9117:9117 -v /home/user/Personal/repos/jackett:/config -v /dev/null:/downloads --restart unless-stopped lscr.io/linuxserver/jackett:latest & 10 | sleep 2 11 | } 12 | 13 | function stop() { 14 | # Stop shit 15 | killall rclone-linux & 16 | sudo systemctl stop plexmediaserver.service 17 | podman stop -a & 18 | sleep 10 19 | podman ps -a 20 | sleep 5 21 | podman rm -a 22 | } 23 | 24 | case "$1" in 25 | "start") start;; 26 | "stop") stop;; 27 | *) echo "unknown command" && exit 1;; 28 | esac -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/mappings.lua: -------------------------------------------------------------------------------- 1 | -- Mapping data with "desc" stored directly by vim.keymap.set(). 2 | -- 3 | -- Please use this mappings table to set keyboard mapping since this is the 4 | -- lower level configuration and more robust one. (which-key will 5 | -- automatically pick-up stored data by this setting.) 6 | return { 7 | -- first key is the mode 8 | n = { 9 | -- second key is the lefthand side of the map 10 | -- mappings seen under group name "Buffer" 11 | ["bb"] = { "tabnew", desc = "New tab" }, 12 | ["bc"] = { "BufferLinePickClose", desc = "Pick to close" }, 13 | ["bj"] = { "BufferLinePick", desc = "Pick to jump" }, 14 | ["bt"] = { "BufferLineSortByTabs", desc = "Sort by tabs" }, 15 | -- tables with the `name` key will be registered with which-key if it's installed 16 | -- this is useful for naming menus 17 | ["b"] = { name = "Buffers" }, 18 | -- quick save 19 | -- [""] = { ":w!", desc = "Save File" }, -- change description but the same command 20 | }, 21 | t = { 22 | -- setting a mapping to false will disable it 23 | -- [""] = false, 24 | }, 25 | } 26 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/yuck/bat.yuck: -------------------------------------------------------------------------------- 1 | (defwidget bat[] 2 | (eventbox :class "bat-eventbox" 3 | :onhover "${eww} update bat-vis=true" 4 | :onhoverlost "${eww} update bat-vis=false" 5 | (box :class "bat-box ${bat-class}" 6 | :orientation "v" 7 | :valign "center" 8 | (overlay 9 | (scale :class "bat-scale ${bat-class}" :active false :min 0 :max 101 :value bat-val) 10 | (box :orientation "v" 11 | :space-evenly false 12 | :valign "center" 13 | (revealer :class "bat-reveal" :reveal bat-vis 14 | :transition "slideup" 15 | :duration "550ms" 16 | (label :class "bat-label" :halign "center" :valign "center" :text "${bat-val}%")) 17 | (revealer :class "bat-reveal" :reveal {!bat-vis} 18 | :transition "slideup" 19 | :duration "550ms" 20 | (label :class "bat-icon" :halign "center" :valign "center" :height 25 :width 25 :text bat-icon))))))) 21 | 22 | (defpoll bat-val :initial 0 :interval "1s" "scripts/bat level") 23 | (defpoll bat-class :interval "1s" "scripts/bat class") 24 | (defvar bat-vis false) -------------------------------------------------------------------------------- /dot_config/hypr/scripts/default/tools/executable_expand: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | TEMP=/tmp/current_wall 3 | 4 | files=(~/.config/hypr/wallpapers/*) 5 | 6 | hypr=~/.config/hypr 7 | scripts=$hypr/scripts 8 | 9 | cooldown=0.1 10 | 11 | 12 | while true 13 | do 14 | case "$1" in 15 | "cycle") 16 | index=$(cat $TEMP) 17 | index=$((index+1)) 18 | if [ $index -ge ${#files[@]} ]; then 19 | index=0 20 | fi 21 | echo $index > $TEMP 22 | $scripts/wall "${files[$index]}" 23 | exit 0 24 | ;; 25 | "arrow-icon") 26 | if $scripts/toolbar_state; then 27 | echo "" 28 | else 29 | echo "" 30 | fi 31 | ;; 32 | "ss-icon") 33 | if $scripts/toolbar_state; then 34 | echo "" 35 | else 36 | echo "" 37 | fi 38 | ;; 39 | # "media") 40 | 41 | *) 42 | if $scripts/toolbar_state; then 43 | echo " " 44 | else 45 | echo "" 46 | fi 47 | ;; 48 | esac 49 | sleep $cooldown 50 | done -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/lsp/setup_handlers.lua: -------------------------------------------------------------------------------- 1 | local function fallback_setup(plugin, server, opts) 2 | local lsp_plugin_avail, _ = pcall(require, plugin) 3 | if not lsp_plugin_avail then require("lspconfig")[server].setup(opts) end 4 | end 5 | 6 | return { 7 | tsserver = function(...) fallback_setup("typescript", ...) end, 8 | clangd = function(...) fallback_setup("clangd_extensions", ...) end, 9 | rust_analyzer = function(...) fallback_setup("rust-tools", ...) end, 10 | } 11 | 12 | -- local function lsp_plugin_setup(plugin, server, opts) 13 | -- local lsp_plugin_avail, _ = pcall(require, plugin) 14 | -- if not lsp_plugin_avail then require("lspconfig")[server].setup(opts) end 15 | -- end 16 | 17 | -- -- override the LSP setup handler function based on server name 18 | -- return { 19 | -- -- first function changes the default setup handler 20 | -- function(server, opts) require("lspconfig")[server].setup(opts) end, 21 | -- -- keys for a specific server name will be used for that LSP 22 | -- sumneko_lua = function(server, opts) 23 | -- -- custom sumneko_lua setup handler 24 | -- require("lspconfig")["sumneko_lua"].setup(opts) 25 | -- end, 26 | -- clangd = function(...) lsp_plugin_setup("clangd_extensions", ...) end, 27 | -- } 28 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/common/scripts/executable_mic: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CACHE_DIR="$HOME/.cache/eww" 4 | animate="$HOME/.config/eww/iceberg/common/scripts/animations" 5 | 6 | function percent () { 7 | echo $(pamixer --default-source --get-volume) 8 | } 9 | 10 | function icon() { 11 | local muted=$(pamixer --default-source --get-mute) 12 | [ "$muted" = "true" ] && echo "" || echo "" 13 | } 14 | 15 | function set_val() { 16 | local val=$(printf "%.0f\n" "$1") 17 | pamixer --default-source --set-volume $val 18 | } 19 | 20 | function toggle_mute() { 21 | pamixer --default-source --toggle-mute 22 | } 23 | 24 | function follow() { 25 | local scalar=$(percent) 26 | $animate run -i "mic" -s $scalar -e "ease_out_expo" 27 | 28 | local m=$(percent) 29 | echo $m 30 | while sleep 0.1; do 31 | local nm=$(percent) 32 | [[ $m -ne $nm ]] && m=$nm && echo $nm 33 | done 34 | } 35 | 36 | function change() { 37 | [ "$1" = "up" ] && pamixer --default-source --increase 1 || pamixer --default-source --decrease 1 38 | } 39 | 40 | 41 | case "$1" in 42 | "percent") percent;; 43 | "icon") icon;; 44 | "set") set_val "$2";; 45 | "follow") follow "$2";; 46 | "change") change "$2";; 47 | "toggle-mute") toggle_mute;; 48 | *) echo "Unknown command";; 49 | esac 50 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/interface/interface.css: -------------------------------------------------------------------------------- 1 | #customization-footer button, 2 | #editBookmarkPanelBottomButtons button { 3 | -moz-appearance: none !important; 4 | border: none !important; 5 | padding: 7px !important; 6 | color: var(--arrowpanel-color) !important; 7 | background: var(--arrowpanel-background) !important; 8 | border-radius: 5px !important; 9 | margin-left: 10px !important; 10 | box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important; 11 | transition: transform 300ms ease-in-out !important; 12 | } 13 | 14 | #editBookmarkPanelBottomButtons button, 15 | #editBMPanel_foldersExpander button { 16 | background: var(--lwt-accent-color) !important; 17 | } 18 | button#editBookmarkPanelDoneButton { 19 | color: var(--lwt-accent-color) !important; 20 | background-color: var(--lwt-toolbarbutton-icon-fill-attention) !important; 21 | } 22 | 23 | button:hover { 24 | transform: translateY(-2px) !important; 25 | } 26 | 27 | #editBookmarkPanel input { 28 | -moz-appearance: none !important; 29 | border-radius: 5px; 30 | padding: 7px; 31 | background: var(--lwt-accent-color) !important; 32 | background-color: var(--lwt-accent-color) !important; 33 | border-color: var(--arrowpanel-dimmed-further) !important; 34 | } 35 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/common/scripts/executable_vol: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CACHE_DIR="$HOME/.cache/eww" 4 | animate="$HOME/.config/eww/iceberg/common/scripts/animations" 5 | delta=2 6 | 7 | function percent () { 8 | echo $(pamixer --get-volume) 9 | } 10 | 11 | function icon() { 12 | local per=$(percent) 13 | local muted=$(pamixer --get-mute) 14 | 15 | if [ "$muted" = "true" ]; then 16 | echo "" 17 | elif (( per >= 60 )); then 18 | echo "" 19 | elif (( per >= 20 )); then 20 | echo "" 21 | elif (( per <= 20 )); then 22 | echo "" 23 | fi 24 | } 25 | 26 | function set_vol() { 27 | local val=$(printf "%.0f\n" "$1") 28 | pamixer --set-volume $val 29 | } 30 | 31 | function toggle_mute() { 32 | pamixer --toggle-mute 33 | } 34 | 35 | function follow() { 36 | local scalar=$(percent) 37 | $animate run -i "vol" -s $scalar -e "ease_out_expo" 38 | local v=$(percent) 39 | echo $v 40 | while sleep 0.1; do 41 | local nv=$(percent) 42 | [[ $v -ne $nv ]] && v=$nv && echo $nv 43 | done 44 | } 45 | 46 | function change() { 47 | [ "$1" = "up" ] && pamixer --increase $delta || pamixer --decrease $delta 48 | } 49 | 50 | 51 | case "$1" in 52 | "percent") percent;; 53 | "icon") icon;; 54 | "set") set_vol "$2";; 55 | "follow") follow "$2";; 56 | "change") change "$2";; 57 | "toggle-mute") toggle_mute;; 58 | *) echo "Unknown command";; 59 | esac 60 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/favorite-star-empty.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 15 | 16 | -------------------------------------------------------------------------------- /dot_config/hypr/scripts/variables/executable_load_envs: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # use this script with `source path/to/this/script` to load the environment variables for use in your script 4 | 5 | temp_folder=~/.config/hypr/scripts/variables/temp 6 | 7 | # sets the PRIMARY_MONITOR_ID environment variable 8 | function exportPrimary(){ 9 | if ! test -f "$temp_folder/primary_screen"; then 10 | touch $temp_folder/primary_screen 11 | fi 12 | # for display id run: 'hyprctl monitors' 13 | # id of your primary screen: () 14 | primary_monitor_id=$(head -1 $temp_folder/primary_screen) 15 | 16 | # all available monitors 17 | NB_MONITORS=($(hyprctl monitors -j | jq -r '.[] | .id')) 18 | # check if monitor is available 19 | if [[ ! " ${NB_MONITORS[*]} " =~ " ${primary_monitor_id} " ]]; then 20 | primary_monitor_id=0 21 | fi 22 | 23 | export PRIMARY_MONITOR_ID=$primary_monitor_id 24 | } 25 | 26 | # sets the BACKGROUND_IMAGE environment variable 27 | function exportBackground(){ 28 | if ! test -f "$temp_folder/background"; then 29 | touch $temp_folder/background 30 | fi 31 | # load the background variables 32 | background_image=$(head -1 $temp_folder/background) 33 | 34 | [ -z $background_image ] && background_image="~/.config/hypr/themes/apatheia/wallpapers/Planet.png" 35 | 36 | export BACKGROUND_IMAGE=$background_image 37 | } 38 | 39 | exportPrimary 40 | exportBackground -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/plugins/mason.lua: -------------------------------------------------------------------------------- 1 | -- customize mason plugins 2 | return { 3 | -- use mason-lspconfig to configure LSP installations 4 | { 5 | "williamboman/mason-lspconfig.nvim", 6 | -- overrides `require("mason-lspconfig").setup(...)` 7 | opts = { 8 | ensure_installed = { 9 | "clangd", 10 | "cssls", 11 | "gopls", 12 | "html", 13 | "intelephense", 14 | "marksman", 15 | "neocmake", 16 | "jsonls", 17 | "pyright", 18 | "sqls", 19 | "lua_ls", 20 | "taplo", 21 | "texlab", 22 | "tsserver", 23 | "yamlls", 24 | "rust_analyzer", 25 | }, 26 | }, 27 | }, 28 | -- use mason-null-ls to configure Formatters/Linter installation for null-ls sources 29 | { 30 | "jay-babu/mason-null-ls.nvim", 31 | -- overrides `require("mason-null-ls").setup(...)` 32 | opts = { 33 | ensure_installed = { 34 | "shellcheck", 35 | "stylua", 36 | "black", 37 | "isort", 38 | "prettierd", 39 | "shfmt", 40 | "shellcheck", 41 | }, 42 | }, 43 | }, 44 | { 45 | "jay-babu/mason-nvim-dap.nvim", 46 | -- overrides `require("mason-nvim-dap").setup(...)` 47 | opts = { 48 | ensure_installed = { 49 | "bash", 50 | "cppdbg", 51 | "delve", 52 | "js", 53 | "php", 54 | "python", 55 | }, 56 | }, 57 | }, 58 | } 59 | -------------------------------------------------------------------------------- /dot_config/kitty/color.conf: -------------------------------------------------------------------------------- 1 | # Poimandres color scheme for kitty terminal emulator 2 | # https://github.com/guilhermedeandrade/poimandres-kitty-theme 3 | # 4 | # Based on Poimandres color theme for Visual Studio Code 5 | # https://github.com/drcmda/poimandres-theme 6 | 7 | foreground #a6accd 8 | background #14151e 9 | 10 | # Black 11 | color0 #14151e 12 | color8 #a6accd 13 | 14 | # Red 15 | color1 #d0679d 16 | color9 #d0679d 17 | 18 | # Green 19 | color2 #5de4c7 20 | color10 #5de4c7 21 | 22 | # Yellow 23 | color3 #fffac2 24 | color11 #fffac2 25 | 26 | # Blue 27 | color4 #89ddff 28 | color12 #add7ff 29 | 30 | # Magenta 31 | color5 #fcc5e9 32 | color13 #fae4fc 33 | 34 | # Cyan 35 | color6 #add7ff 36 | color14 #89ddff 37 | 38 | # White 39 | color7 #ffffff 40 | color15 #ffffff 41 | 42 | # Cursor 43 | cursor #ffffff 44 | cursor_text_color #14151e 45 | 46 | # Selection highlight 47 | selection_foreground none 48 | selection_background #28344a 49 | 50 | # The color for highlighting URLs on mouse-over 51 | # url_color #9ece6a 52 | url color #5de4c7 53 | 54 | # Window borders 55 | active_border_color #3d59a1 56 | inactive_border_color #101014 57 | bell_border_color #fffac2 58 | 59 | # Tab bar 60 | tab_bar_style fade 61 | tab_fade 1 62 | active_tab_foreground #3d59a1 63 | active_tab_background #16161e 64 | active_tab_font_style bold 65 | inactive_tab_foreground #787c99 66 | inactive_tab_background #16161e 67 | inactive_tab_font_style bold 68 | tab_bar_background #101014 69 | 70 | # Title bar 71 | macos_titlebar_color #16161e 72 | 73 | -------------------------------------------------------------------------------- /dot_config/wofi/style.css: -------------------------------------------------------------------------------- 1 | window { 2 | margin: 0px; 3 | border: 5px solid #303347; 4 | background-color: #14151e; 5 | font-family: "JetBrainsMono Nerd Font", "Font Awesome 6 Free Solid"; 6 | font-size: 13px; 7 | } 8 | 9 | @keyframes gradient_f { 10 | 0% { 11 | background-position: 0% 200%; 12 | } 13 | 50% { 14 | background-position: 200% 0%; 15 | } 16 | 100% { 17 | background-position: 400% 200%; 18 | } 19 | } 20 | 21 | #input { 22 | all: unset; 23 | min-height: 36px; 24 | padding: 4px 10px; 25 | margin: 4px; 26 | border: none; 27 | color: #ffffff; 28 | font-weight: bold; 29 | background-color: #14151e; 30 | outline: none; 31 | border-radius: 15px; 32 | margin: 10px; 33 | margin-bottom: 2px; 34 | } 35 | 36 | #inner-box { 37 | margin: 4px; 38 | padding: 10px; 39 | font-weight: bold; 40 | border-radius: 15px; 41 | } 42 | 43 | #outer-box { 44 | margin: 0px; 45 | padding: 3px; 46 | border: none; 47 | border: 5px solid #14151e; 48 | } 49 | 50 | #scroll { 51 | margin-top: 5px; 52 | border: none; 53 | border-radius: 15px; 54 | margin-bottom: 5px; 55 | } 56 | 57 | #text:selected { 58 | color: #14151e; 59 | margin: 0px 0px; 60 | border: none; 61 | border-radius: 15px; 62 | } 63 | 64 | #entry { 65 | margin: 0px 0px; 66 | border: none; 67 | border-radius: 15px; 68 | background-color: transparent; 69 | } 70 | 71 | #entry:selected { 72 | margin: 0px 0px; 73 | border: none; 74 | border-radius: 15px; 75 | background: linear-gradient(90deg, #99e6bf 0%, #b6d8e2 100%); 76 | } 77 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/hooks/executable_pre-push.sample: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # An example hook script to verify what is about to be pushed. Called by "git 4 | # push" after it has checked the remote status, but before anything has been 5 | # pushed. If this script exits with a non-zero status nothing will be pushed. 6 | # 7 | # This hook is called with the following parameters: 8 | # 9 | # $1 -- Name of the remote to which the push is being done 10 | # $2 -- URL to which the push is being done 11 | # 12 | # If pushing without using a named remote those arguments will be equal. 13 | # 14 | # Information about the commits which are being pushed is supplied as lines to 15 | # the standard input in the form: 16 | # 17 | # 18 | # 19 | # This sample shows how to prevent push of commits where the log message starts 20 | # with "WIP" (work in progress). 21 | 22 | remote="$1" 23 | url="$2" 24 | 25 | zero=$(git hash-object --stdin &2 "Found WIP commit in $local_ref, not pushing" 48 | exit 1 49 | fi 50 | fi 51 | done 52 | 53 | exit 0 54 | -------------------------------------------------------------------------------- /dot_config/zsh/dot_zshrc: -------------------------------------------------------------------------------- 1 | [ -f "$HOME/.local/share/zap/zap.zsh" ] && source "$HOME/.local/share/zap/zap.zsh" 2 | source "$ZDOTDIR//plugins/poimandres-zsh-syntax-highlighting.zsh" 3 | export NVM_DIR="$HOME/langs/.nvm" 4 | [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm 5 | [[ -r $NVM_DIR/zsh_completion ]] && \. $NVM_DIR/zsh_completion 6 | 7 | path+=('/home/user/.local/.scripts') 8 | path+=('/home/user/langs/.cargo/bin') 9 | path+=('/home/user/langs/go/bin') 10 | 11 | export HYPRLAND_HEADERS="/home/user/Personal/repos/Hyprland-Plugins/Hyprland" 12 | 13 | HISTFILE="$HOME/.config/zsh/.zsh_history" 14 | HISTSIZE=100000 15 | SAVEHIST=100000 16 | setopt appendhistory 17 | 18 | GRIM_DEFAULT_DIR="$HOME/Pictures/screenshots" 19 | 20 | # Example install plugins 21 | plug "zap-zsh/supercharge" 22 | plug "zsh-users/zsh-autosuggestions" 23 | plug "zsh-users/zsh-syntax-highlighting" 24 | 25 | # Example theme 26 | plug "zap-zsh/zap-prompt" 27 | 28 | # Example install completion 29 | plug "esc/conda-zsh-completion" 30 | 31 | # alias screenshot="grim -g \"$(slurp)\" $HOME/Pictures/screenshots/$(date +'%s_grim.png')" 32 | alias svn="svn --config-dir \"$XDG_CONFIG_HOME\"/subversion" 33 | alias ryujinx="__GL_THREADED_OPTIMIZATIONS=0 __GL_SYNC_TO_VBLANK=0 COMPlus_EnableAlternateStackCheck=1 GDK_BACKEND=x11 /home/user/.local/share/Ryujinx/Ryujinx" 34 | alias imcool="unimatrix -c blue -s 97 -f -a" 35 | alias screenclip='grim -g "$(slurp)" $GRIM_DEFAULT_DIR/$(date +"%s_grim.png") - | wl-copy -t' 36 | alias wget='wget --hsts-file="$XDG_CACHE_HOME/wget-hsts"' 37 | alias checkcpu='cat /proc/cpuinfo | grep MHz' 38 | # alias vim='lvim-gui .' 39 | # unimatrix -c blue -s 99 -w -a -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/hooks/executable_prepare-commit-msg.sample: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # An example hook script to prepare the commit log message. 4 | # Called by "git commit" with the name of the file that has the 5 | # commit message, followed by the description of the commit 6 | # message's source. The hook's purpose is to edit the commit 7 | # message file. If the hook fails with a non-zero status, 8 | # the commit is aborted. 9 | # 10 | # To enable this hook, rename this file to "prepare-commit-msg". 11 | 12 | # This hook includes three examples. The first one removes the 13 | # "# Please enter the commit message..." help message. 14 | # 15 | # The second includes the output of "git diff --name-status -r" 16 | # into the message, just before the "git status" output. It is 17 | # commented because it doesn't cope with --amend or with squashed 18 | # commits. 19 | # 20 | # The third example adds a Signed-off-by line to the message, that can 21 | # still be edited. This is rarely a good idea. 22 | 23 | COMMIT_MSG_FILE=$1 24 | COMMIT_SOURCE=$2 25 | SHA1=$3 26 | 27 | /usr/bin/perl -i.bak -ne 'print unless(m/^. Please enter the commit message/..m/^#$/)' "$COMMIT_MSG_FILE" 28 | 29 | # case "$COMMIT_SOURCE,$SHA1" in 30 | # ,|template,) 31 | # /usr/bin/perl -i.bak -pe ' 32 | # print "\n" . `git diff --cached --name-status -r` 33 | # if /^#/ && $first++ == 0' "$COMMIT_MSG_FILE" ;; 34 | # *) ;; 35 | # esac 36 | 37 | # SOB=$(git var GIT_COMMITTER_IDENT | sed -n 's/^\(.*>\).*$/Signed-off-by: \1/p') 38 | # git interpret-trailers --in-place --trailer "$SOB" "$COMMIT_MSG_FILE" 39 | # if test -z "$COMMIT_SOURCE" 40 | # then 41 | # /usr/bin/perl -i.bak -pe 'print "\n" if !$first_line++' "$COMMIT_MSG_FILE" 42 | # fi 43 | -------------------------------------------------------------------------------- /dot_local/dot_scripts/executable_wayland-screenshot: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # rofi theme 4 | theme="$HOME/.config/rofi/main_without_icons.rasi" 5 | 6 | get_options() { 7 | echo " Selected area screenshot" 8 | echo " Full screen screenshot" 9 | echo " Stop Recording" 10 | echo " Selected area video" 11 | echo " Full screen video" 12 | echo " Selected area video with audio (microphone)" 13 | echo " Full screen video with audio (microphone)" 14 | echo " Selected area video with audio (desktop)" 15 | echo " Full screen video with audio (desktop)" 16 | echo " Selected area video with all audio" 17 | echo " Full screen area video with all audio" 18 | } 19 | 20 | main() { 21 | 22 | # get choice from rofi 23 | choice=$( (get_options) | wofi -n -dmenu -k "/dev/null" -i) 24 | 25 | # run the selected command 26 | case $choice in 27 | ' Selected area screenshot') 28 | wscreenshot -sa 29 | ;; 30 | ' Full screen screenshot') 31 | wscreenshot -sf 32 | ;; 33 | ' Stop Recording') 34 | wscreenshot -s 35 | ;; 36 | ' Selected area video') 37 | wscreenshot -va 38 | ;; 39 | ' Full screen video') 40 | wscreenshot -vf 41 | ;; 42 | ' Selected area video with audio (microphone)') 43 | wscreenshot -vaam 44 | ;; 45 | ' Full screen video with audio (microphone)') 46 | wscreenshot -vfam 47 | ;; 48 | ' Selected area video with audio (desktop)') 49 | wscreenshot -vsad 50 | ;; 51 | ' Full screen video with audio (desktop)') 52 | wscreenshot -vfad 53 | ;; 54 | ' Selected area video with all audio') 55 | wscreenshot -vsaa 56 | ;; 57 | ' Full screen area video with all audio') 58 | wscreenshot -vfaa 59 | ;; 60 | esac 61 | # done 62 | set -e 63 | } 64 | 65 | main & 66 | 67 | exit 0 -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/hooks/executable_pre-commit.sample: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # An example hook script to verify what is about to be committed. 4 | # Called by "git commit" with no arguments. The hook should 5 | # exit with non-zero status after issuing an appropriate message if 6 | # it wants to stop the commit. 7 | # 8 | # To enable this hook, rename this file to "pre-commit". 9 | 10 | if git rev-parse --verify HEAD >/dev/null 2>&1 11 | then 12 | against=HEAD 13 | else 14 | # Initial commit: diff against an empty tree object 15 | against=$(git hash-object -t tree /dev/null) 16 | fi 17 | 18 | # If you want to allow non-ASCII filenames set this variable to true. 19 | allownonascii=$(git config --type=bool hooks.allownonascii) 20 | 21 | # Redirect output to stderr. 22 | exec 1>&2 23 | 24 | # Cross platform projects tend to avoid non-ASCII filenames; prevent 25 | # them from being added to the repository. We exploit the fact that the 26 | # printable range starts at the space character and ends with tilde. 27 | if [ "$allownonascii" != "true" ] && 28 | # Note that the use of brackets around a tr range is ok here, (it's 29 | # even required, for portability to Solaris 10's /usr/bin/tr), since 30 | # the square bracket bytes happen to fall in the designated range. 31 | test $(git diff --cached --name-only --diff-filter=A -z $against | 32 | LC_ALL=C tr -d '[ -~]\0' | wc -c) != 0 33 | then 34 | cat <<\EOF 35 | Error: Attempt to add a non-ASCII file name. 36 | 37 | This can cause problems if you want to work with people on other platforms. 38 | 39 | To be portable it is advisable to rename the file. 40 | 41 | If you know what you are doing you can disable this check using: 42 | 43 | git config hooks.allownonascii true 44 | EOF 45 | exit 1 46 | fi 47 | 48 | # If there are whitespace errors, print the offending file names and fail. 49 | exec git diff-index --check --cached $against -- 50 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/userChrome-hover.css: -------------------------------------------------------------------------------- 1 | #sidebar-box { 2 | z-index: 1000 !important; 3 | position: relative !important; 4 | min-width: var(--sidebar-collapsed-width) !important; 5 | max-width: var(--sidebar-collapsed-width) !important; 6 | } 7 | 8 | #sidebar-header, 9 | #sidebar-splitter { 10 | display: none !important; 11 | } 12 | 13 | /* inner width = expanded width & move inner to only show initial-width long section */ 14 | #sidebar-box #sidebar { 15 | position: absolute !important; 16 | min-width: var(--sidebar-width) !important; 17 | max-width: var(--sidebar-width) !important; 18 | width: var(--sidebar-width) !important; 19 | transform: translateX(calc(var(--sidebar-collapsed-width) - var(--sidebar-width))); 20 | transition: all var(--transition-time) var(--ease-out); 21 | } 22 | 23 | /* move inner to show entire sidebar */ 24 | #sidebar-box #sidebar:hover { 25 | transform: translateX(0) !important; 26 | box-shadow: 2px 0 33px -3px var(--sidebar-shadow-color); 27 | } 28 | 29 | /* #sidebar-box[sidebarcommand="viewBookmarksSidebar"] #sidebar { 30 | transform: translateX(0) !important; 31 | box-shadow: 2px 0 33px -3px var(--sidebar-shadow-color); 32 | } */ 33 | /* hide sidebar header for tree style tabs sidebar */ 34 | #sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header { 35 | display: none; 36 | } 37 | 38 | #sidebar { 39 | border-right: solid var(--dividers) var(--sidebar-shadow-color) !important; 40 | } 41 | 42 | toolbar { 43 | border: none !important; 44 | } 45 | 46 | /* Hide splitter, when using Tree Style Tab. */ 47 | #sidebar-splitter { 48 | display: none !important; 49 | } 50 | 51 | /* hide tabs */ 52 | .tabbrowser-tab { 53 | display: none; 54 | } 55 | 56 | #tabs-newtab-button { 57 | display: none; 58 | } 59 | 60 | .titlebar-spacer { 61 | display: none !important; 62 | } 63 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/common/scripts/executable_animations: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CACHE_DIR="$HOME/.cache/eww" 4 | 5 | function lock() { 6 | touch "$CACHE_DIR/$1.lock" 7 | } 8 | 9 | function unlock() { 10 | rm "$CACHE_DIR/$1.lock" 11 | } 12 | 13 | function is_locked() { 14 | [ -f "$CACHE_DIR/$1.lock" ] 15 | } 16 | 17 | function get_easing() { 18 | case "$1" in 19 | "ease_out_quart") echo "1-((1-$2/100)^4)" | bc -l;; 20 | # "ease_out_expo") [ "$2" = 100 ] && echo 100 || echo $(awk "BEGIN {print 1-(2^(-10*($2/100)))}");; 21 | "ease_out_expo") [ "$2" = 100 ] && echo 100 || echo $(awk "BEGIN {print 1-(2^(-10*($2/100)))}");; 22 | *) echo "Unknown Easing Function" && exit 1;; 23 | esac 24 | } 25 | 26 | function run() { 27 | local id 28 | local scalar=1 29 | local ease="ease_out_quart" 30 | local follow=false 31 | local reverse=false 32 | 33 | while getopts ":i:e:s:f:r" arg; do 34 | case "$arg" in 35 | "i") id=$OPTARG;; 36 | "e") ease=$OPTARG;; 37 | "s") scalar=$OPTARG;; 38 | "r") reverse=true;; 39 | "f") follow=true;; 40 | \?) echo "Invalid option '$OPTARG'" 41 | esac 42 | done 43 | 44 | [ -z $id ] && echo "id is required" && exit 1 45 | 46 | lock "$id" 47 | 48 | if [ $reverse = "true" ];then 49 | echo $scalar 50 | for (( i=99; i>=0; i-=1 ));do 51 | local val=$(get_easing $ease $i) 52 | # echo "Scalar : $scalar Value: $val i Integer val: $i Type: $ease" 53 | echo "$scalar*$val" | bc -l 54 | sleep 0.01 55 | done 56 | echo "0" 57 | else 58 | for (( i=0; i<=99; i+=1 ));do 59 | local val=$(get_easing $ease $i) 60 | # echo "Scalar : $scalar Value: $val i Integer val: $i Type: $ease" 61 | echo "$scalar*$val" | bc -l 62 | sleep 0.01 63 | done 64 | echo $scalar 65 | fi 66 | 67 | unlock "$id" 68 | } 69 | 70 | if ! [ -d "$CACHE_DIR" ];then 71 | mkdir -p "$CACHE_DIR" 72 | fi 73 | 74 | case "$1" in 75 | "run") run "${@:2}";; 76 | "is_locked") is_locked "$2";; 77 | *) echo "Unknown command";; 78 | esac 79 | 80 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/menu/clipboard/clipboard.yuck: -------------------------------------------------------------------------------- 1 | (deflisten clipboard "tail -F /tmp/eww/clipboard/yuck") 2 | 3 | (defwindow clipboard0 4 | :monitor 0 5 | :focusable true 6 | :geometry (geometry 7 | :x "20px" 8 | :y "20px" 9 | :width "500px" 10 | :height "900px" 11 | :anchor "bottom left" 12 | ) 13 | (clipboard) 14 | ) 15 | 16 | (defwindow clipboard1 17 | :monitor 1 18 | :focusable true 19 | :geometry (geometry 20 | :x "20px" 21 | :y "20px" 22 | :width "500px" 23 | :height "900px" 24 | :anchor "bottom left" 25 | ) 26 | (clipboard) 27 | ) 28 | 29 | (defwidget clipboard [] 30 | (scroll 31 | (literal :content clipboard) 32 | ) 33 | ) 34 | 35 | (defwidget cb_event [index] 36 | (eventbox 37 | :class "cb-event" 38 | :onclick "echo \"${index}. \" | cliphist decode | wl-copy && eww close clipboard" 39 | :onrightclick "echo \"${index}. \" | cliphist delete; scripts/clipboard reload" 40 | (children) 41 | ) 42 | ) 43 | 44 | (defwidget cb_empty [] 45 | (label :vexpand true :class "cb-empty" :wrap true :text "¯\\\\_(ツ)_/¯") 46 | ) 47 | 48 | (defwidget cb_text [content index] 49 | (cb_event :index index 50 | (box 51 | :class "cb-item" 52 | (label 53 | :class "cb-text" 54 | :wrap true 55 | :limit-width 60 56 | :text "${content}" 57 | ; :markup "${content}" 58 | ) 59 | ) 60 | ) 61 | ) 62 | 63 | (defwidget cb_password [content index hidden] 64 | (cb_event :index index 65 | (box 66 | :class "cb-item" 67 | (overlay 68 | :class "cb-showhide" 69 | (label :class "cb-show" :wrap true :limit-width 60 :text "${content}") 70 | (label :class "cb-hide" :wrap true :limit-width 60 :text "${hidden}") 71 | ) 72 | ) 73 | ) 74 | ) 75 | 76 | (defwidget cb_image [path index] 77 | (cb_event :index index 78 | (box 79 | :class "cb-item" 80 | (image :path "${path}" :image-height "60") 81 | ) 82 | ) 83 | ) 84 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/menu/scripts/executable_media: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function has_player() { 4 | if playerctl status &> /dev/null;then 5 | [[ $(playerctl status) = "Stopped" ]] && return 1 || return 0 6 | else 7 | return 1 8 | fi 9 | } 10 | 11 | function title() { 12 | if has_player;then 13 | playerctl metadata title 14 | else 15 | echo "Nothing Playing" 16 | fi 17 | } 18 | 19 | function artist() { 20 | if has_player;then 21 | playerctl metadata artist 22 | fi 23 | } 24 | 25 | function ttime() { 26 | if has_player;then 27 | playerctl metadata --format "{{duration(position)}} / {{duration(mpris:length)}}" 28 | else 29 | echo "--:-- / --:--" 30 | fi 31 | } 32 | 33 | function class() { 34 | [[ has_player && "$status" = "Playing" ]] && echo "pause" || echo "play" 35 | playerctl --follow status | while read -r status; do 36 | [[ has_player && "$status" = "Playing" ]] && echo "pause" || echo "play" 37 | done; 38 | } 39 | 40 | function icon() { 41 | [[ has_player && "$status" = "Playing" ]] && echo "" || echo "" 42 | playerctl --follow status | while read -r status; do 43 | [[ has_player && "$status" = "Playing" ]] && echo "" || echo "" 44 | done 45 | } 46 | 47 | function toggle() { 48 | if has_player; then 49 | playerctl play-pause 50 | fi 51 | } 52 | 53 | function percent() { 54 | local pos=$(playerctl position) 55 | local len=$(playerctl metadata mpris:length) 56 | echo "$pos $len" | awk '{ print ($1 / $2 * 1000000) * 100 }' 57 | } 58 | 59 | function prev() { 60 | if has_player;then 61 | playerctl previous 62 | fi 63 | } 64 | 65 | function next() { 66 | if has_player;then 67 | playerctl next 68 | fi 69 | } 70 | 71 | case "$1" in 72 | "title") title;; 73 | "artist") artist;; 74 | "time") ttime;; 75 | "toggle") toggle;; 76 | "icon") icon;; 77 | "percent") percent;; 78 | "prev") prev;; 79 | "next") next;; 80 | "class") class;; 81 | *) echo "Unrecognized command";; 82 | esac 83 | 84 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/icons/extension-icons.css: -------------------------------------------------------------------------------- 1 | .webextension-browser-action > .toolbarbutton-badge-stack > .toolbarbutton-badge { 2 | background-color: var(--lwt-toolbarbutton-icon-fill-attention) !important; 3 | color: var(--dark-base) !important; 4 | } 5 | 6 | /**extension filter based on --light-base**/ 7 | .webextension-browser-action:not(badge):not(#ublock0_raymondhill_net-browser-action):not(#support_lastpass_com-browser-action):not(#privacy_privacy_com-browser-action):not(#addon_darkreader_org-browser-action):not(#_7a7b1d36-d7a4-481b-92c6-9f5427cb9eb1_-browser-action):not(#_eec37db0-22ad-4bf1-9068-5ae08df8c7e9_-browser-action) 8 | > .toolbarbutton-badge-stack 9 | > .toolbarbutton-icon { 10 | padding: 1px !important; 11 | filter: var(--extension-icon-mask); 12 | } 13 | 14 | :root[privatebrowsingmode="temporary"] 15 | .webextension-browser-action:not(#ublock0_raymondhill_net-browser-action):not(#support_lastpass_com-browser-action):not(#privacy_privacy_com-browser-action):not(#addon_darkreader_org-browser-action):not(#_7a7b1d36-d7a4-481b-92c6-9f5427cb9eb1_-browser-action):not(#_eec37db0-22ad-4bf1-9068-5ae08df8c7e9_-browser-action) 16 | > .toolbarbutton-badge-stack 17 | > .toolbarbutton-icon { 18 | filter: var(--extension-icon-mask); 19 | } 20 | 21 | .webextension-browser-action[data-extensionid="uBlock0@raymondhill.net"] { 22 | list-style-image: url(custom-adblock.svg) !important; 23 | } 24 | 25 | .webextension-browser-action[data-extensionid="support@lastpass.com"], 26 | .webextension-browser-action[data-extensionid="{eec37db0-22ad-4bf1-9068-5ae08df8c7e9}"] { 27 | list-style-image: url(key.svg) !important; 28 | } 29 | 30 | .webextension-browser-action[data-extensionid="privacy@privacy.com"] { 31 | list-style-image: url(bank-card.svg) !important; 32 | } 33 | 34 | .webextension-browser-action[data-extensionid="addon@darkreader.org"] { 35 | list-style-image: url(dark-mode.svg) !important; 36 | } 37 | 38 | .webextension-browser-action[data-extensionid="{7a7b1d36-d7a4-481b-92c6-9f5427cb9eb1}"] { 39 | list-style-image: url(bookmark.svg) !important; 40 | } 41 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/menu/scripts/executable_weather: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CACHE_DIR="$HOME/.cache/eww" 4 | WEATHER_API_KEY="146e11f44d13a7ea1198179af3c4eb91" 5 | WEATHER_API_CITY="seattle" 6 | 7 | function fetch_weather() { 8 | if [ -f "$CACHE_DIR/weather" ];then 9 | if (($(date +"%s")-$(stat --format "%Y" "$CACHE_DIR/weather")>300));then 10 | local res=$(curl --connect-timeout 4 -sf "api.openweathermap.org/data/2.5/weather?q=$WEATHER_API_CITY&appid=$WEATHER_API_KEY&units=imperial") 11 | if ! [ -z $res ];then 12 | echo $res > "$CACHE_DIR/weather" 13 | fi 14 | fi 15 | else 16 | local res=$(curl --connect-timeout 4 -sf "api.openweathermap.org/data/2.5/weather?q=$WEATHER_API_CITY&appid=$WEATHER_API_KEY&units=imperial") 17 | if ! [ -z $res ];then 18 | touch "$CACHE_DIR/weather" 19 | echo $res > "$CACHE_DIR/weather" 20 | fi 21 | fi 22 | } 23 | 24 | function weather_get() { 25 | local json=$(cat "$CACHE_DIR/weather") 26 | if echo "$json" | jq empty;then 27 | local res=$(echo "$json" | jq -r "$1") 28 | [[ $res = "null" ]] && echo "$2" || echo "$res" 29 | else 30 | echo $2 31 | fi 32 | } 33 | 34 | 35 | function name() { 36 | weather_get ".weather[0].main" "Not Available" 37 | } 38 | 39 | function temp() { 40 | local tmp=$(weather_get ".main.temp" "--") 41 | if [ $tmp != "--" ];then 42 | echo "$tmp" | awk '{printf("%d\n",$1 + 0.5)}' 43 | else 44 | echo $tmp 45 | fi 46 | } 47 | 48 | function icon() { 49 | local ico=$(weather_get ".weather[0].icon" "") 50 | case $ico in 51 | "01d") echo "";; 52 | "01n") echo "";; 53 | "02d") echo "";; 54 | "02n") echo "";; 55 | "03d") echo "";; 56 | "03n") echo "";; 57 | "04d") echo "";; 58 | "04n") echo "";; 59 | "09d") echo "";; 60 | "09n") echo "";; 61 | "10d") echo "";; 62 | "10n") echo "";; 63 | "11d") echo "";; 64 | "11n") echo "";; 65 | "13d") echo "";; 66 | "13n") echo "";; 67 | "50d") echo "";; 68 | "50n") echo "";; 69 | *) echo "";; 70 | esac 71 | } 72 | 73 | if ! [ -d "$CACHE_DIR/weather" ];then 74 | mkdir -p "$CACHE_DIR" 75 | fi 76 | 77 | fetch_weather 78 | 79 | echo "{\"icon\":\"$(icon)\",\"name\":\"$(name)\",\"temp\":\"$(temp)\"}" 80 | 81 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/menu/scripts/executable_clipboard: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | MAXWORDLENGTH=25 4 | 5 | isPassword() { 6 | if [[ $(wc -w <<< $1) -ne 1 ]]; then return 1; fi 7 | if [[ $(wc -m <<< $1) -lt 6 ]]; then return 1; fi 8 | if [[ "$1" == *[A-Z]* && "$1" == *[a-z]* && "$1" == *[0-9]* ]]; then return 0; fi 9 | return 1 10 | } 11 | 12 | clean() { 13 | val=${val//\\/\\\\} 14 | val=${val/\$\{/\\\$\\\{} 15 | val=${val//\"/\\\"} 16 | val=$(sed "s/[^[:space:]]\{$MAXWORDLENGTH\}/& /g" <<< $val) 17 | echo "$val" 18 | } 19 | 20 | yuckify() { 21 | hist="$(cliphist list)" 22 | if [[ $(wc -w <<< $hist) -eq 0 ]]; then 23 | echo "(cb_empty)" 24 | return 0 25 | fi 26 | while IFS= read -r item; do 27 | val="$(cut -d ' ' -f 2- <<< $item)" 28 | cleaned="$(clean $val)" 29 | id="$(cut -d '.' -f 1 <<< $item)" 30 | ls "/tmp/eww/clipboard/$id.image" > /dev/null 2>&1 31 | if [ $? -eq 0 ]; then 32 | yuck="$yuck (cb_image :path \"/tmp/eww/clipboard/$id.image\" :index \"$id\")" 33 | elif isPassword "$val"; then 34 | hidden="$(sed "s/\S/⬤/g" <<< $cleaned)" 35 | yuck="$yuck (cb_password :hidden \"$hidden\" :content \"$cleaned\" :index \"$id\")" 36 | else 37 | yuck="$yuck (cb_text :content \"$cleaned\" :index \"$id\")" 38 | fi 39 | done <<< $hist 40 | echo "(box :orientation \"vertical\" $yuck)" 41 | } 42 | 43 | store() { 44 | cliphist store 45 | id="$(cliphist list | head -1 | cut -d '.' -f 1)" 46 | rm "/tmp/eww/clipboard/$id.image" > /dev/null 2>&1 47 | case $1 in 48 | image) 49 | echo "$id. " | cliphist decode > "/tmp/eww/clipboard/$id.image" 50 | ;; 51 | esac 52 | echo $(yuckify) 53 | } 54 | 55 | watch() { 56 | (wl-paste -t text/plain -w ~/.config/eww/iceberg/menu/scripts/clipboard store text) & pidtxt=$! 57 | (wl-paste -t image -w ~/.config/eww/iceberg/menu/scripts/clipboard store image) & pidimg=$! 58 | PIDS="$pidtxt $pidimg" 59 | trap "kill $PIDS" SIGINT 60 | wait $PIDS 61 | } 62 | 63 | refresh() { 64 | cliphist decode <<< "$(cliphist list | head -1 | cut -d '.' -f 1). " | wl-copy 65 | } 66 | 67 | case $1 in 68 | store) store $2;; 69 | get) yuckify;; 70 | watch) watch;; 71 | reload) refresh;; 72 | esac 73 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/options.lua: -------------------------------------------------------------------------------- 1 | -- set vim options here (vim.. = value) 2 | return { 3 | opt = { 4 | -- set to true or false etc. 5 | relativenumber = true, -- sets vim.opt.relativenumber 6 | number = true, -- sets vim.opt.number 7 | spell = false, -- sets vim.opt.spell 8 | signcolumn = "auto", -- sets vim.opt.signcolumn to auto 9 | wrap = false, -- sets vim.opt.wrap 10 | }, 11 | g = { 12 | mapleader = " ", -- sets vim.g.mapleader 13 | autoformat_enabled = true, -- enable or disable auto formatting at start (lsp.formatting.format_on_save must be enabled) 14 | cmp_enabled = true, -- enable completion at start 15 | autopairs_enabled = true, -- enable autopairs at start 16 | diagnostics_enabled = true, -- enable diagnostics at start 17 | status_diagnostics_enabled = true, -- enable diagnostics in statusline 18 | icons_enabled = true, -- disable icons in the UI (disable if no nerd font is available, requires :PackerSync after changing) 19 | ui_notifications_enabled = true, -- disable notifications when toggling UI elements 20 | 21 | neovide_transparency = 1.0, 22 | neovide_refresh_rate = 240, 23 | neovide_refresh_rate_idle = 5, 24 | neovide_cursor_animation_length = 0.10, 25 | neovide_cursor_trail_size = 0.5, 26 | neovide_cursor_vfx_mode = "wireframe", 27 | neovide_remember_window_size = true, 28 | neovide_remember_window_position = true, 29 | 30 | -- black 31 | terminal_color_0 = "#494D64", 32 | terminal_color_8 = "#5B6078", 33 | -- red 34 | terminal_color_1 = "#e2b6b6", 35 | terminal_color_9 = "#e2b6b6", 36 | -- green 37 | terminal_color_2 = "#99e6bf", 38 | terminal_color_10 = "#99e6bf", 39 | -- yellow 40 | terminal_color_3 = "#e2e2b6", 41 | terminal_color_11 = "#e2e2b6", 42 | -- blue 43 | terminal_color_4 = "#7486a9", 44 | terminal_color_12 = "#7486a9", 45 | -- magenta 46 | terminal_color_5 = "#d6b8e0", 47 | terminal_color_13 = "#d6b8e0", 48 | -- cyan 49 | terminal_color_6 = "#b6d8e2", 50 | terminal_color_14 = "#b6d8e2", 51 | -- white 52 | terminal_color_7 = "#ffffff", 53 | terminal_color_15 = "#ffffff", 54 | }, 55 | } 56 | -------------------------------------------------------------------------------- /dot_config/private_Code - OSS/User/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "workbench.colorTheme": "poimandres", 3 | "editor.smoothScrolling": true, 4 | "terminal.integrated.smoothScrolling": true, 5 | "workbench.list.smoothScrolling": true, 6 | "editor.cursorSmoothCaretAnimation": "on", 7 | "editor.tabSize": 2, 8 | "workbench.colorCustomizations": { 9 | "activityBar.background": "#14151e", 10 | "dropdown.background": "#14151e", 11 | "editor.background": "#14151e", 12 | "editorGroupHeader.tabsBackground": "#14151e", 13 | "editorHoverWidget.background": "#14151e", 14 | "editorSuggestWidget.background": "#14151e", 15 | "editorWidget.background": "#14151e", 16 | "editorGroupHeader.noTabsBackground": "#14151e", 17 | "editorGutter.background": "#14151e", 18 | "editorInlineHint.foreground": "#14151e", 19 | "editorPane.background": "#14151e", 20 | "notifications.background": "#14151e", 21 | "sideBar.background": "#14151e", 22 | "sideBarSectionHeader.background": "#14151e", 23 | "statusBar.background": "#14151e", 24 | "statusBar.noFolderBackground": "#14151e", 25 | "tab.inactiveBackground": "#14151e", 26 | "tab.unfocusedActiveBackground": "#14151e", 27 | "tab.unfocusedInactiveBackground": "#14151e", 28 | "terminal.ansiBlack": "#14151e", 29 | "titleBar.activeBackground": "#14151e", 30 | "titleBar.inactiveBackground": "#14151e", 31 | "breadcrumbPicker.background": "#14151e", 32 | "checkbox.background": "#14151e", 33 | "inputValidation.errorBackground": "#14151e", 34 | "menu.background": "#14151e", 35 | "notebook.cellBorderColor": "#14151e", 36 | "notebook.outputContainerBackgroundColor": "#14151e", 37 | "notebook.selectedCellBorder": "#14151e", 38 | "panel.background": "#14151e", 39 | "panelSection.border": "#14151e", 40 | "quickInput.background": "#14151e", 41 | "settings.checkboxBackground": "#14151e", 42 | "settings.dropdownBackground": "#14151e", 43 | "welcomePage.tileBackground": "#14151e", 44 | } 45 | } -------------------------------------------------------------------------------- /dot_config/eww/iceberg/menu/scripts/executable_stats: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | animate="$HOME/.config/eww/iceberg/common/scripts/animations" 4 | CACHE_DIR="$HOME/.cache/eww" 5 | 6 | function ram() { 7 | printf "%.0f\n" $(free -m | grep Mem | awk '{print ($3/$2)*100}') 8 | } 9 | 10 | function cpu() { 11 | # credits to adi1090x 12 | local PREV_TOTAL=0 13 | local PREV_IDLE=0 14 | local cpuFile="/tmp/.cpu_usage" 15 | 16 | if [[ -f "${cpuFile}" ]]; then 17 | fileCont=$(cat "${cpuFile}") 18 | PREV_TOTAL=$(echo "${fileCont}" | head -n 1) 19 | PREV_IDLE=$(echo "${fileCont}" | tail -n 1) 20 | fi 21 | 22 | CPU=(`cat /proc/stat | grep '^cpu '`) # Get the total CPU statistics. 23 | unset CPU[0] # Discard the "cpu" prefix. 24 | IDLE=${CPU[4]} # Get the idle CPU time. 25 | 26 | # Calculate the total CPU time. 27 | TOTAL=0 28 | 29 | for VALUE in "${CPU[@]:0:4}"; do 30 | let "TOTAL=$TOTAL+$VALUE" 31 | done 32 | 33 | if [[ "${PREV_TOTAL}" != "" ]] && [[ "${PREV_IDLE}" != "" ]]; then 34 | # Calculate the CPU usage since we last checked. 35 | let "DIFF_IDLE=$IDLE-$PREV_IDLE" 36 | let "DIFF_TOTAL=$TOTAL-$PREV_TOTAL" 37 | let "DIFF_USAGE=(1000*($DIFF_TOTAL-$DIFF_IDLE)/$DIFF_TOTAL+5)/10" 38 | echo "${DIFF_USAGE}" 39 | else 40 | echo "?" 41 | fi 42 | 43 | # Remember the total and idle CPU times for the next check. 44 | echo "${TOTAL}" > "${cpuFile}" 45 | echo "${IDLE}" >> "${cpuFile}" 46 | } 47 | 48 | function dsk() { 49 | df -h /home | awk '{ print $5 }' | tail -1 | sed 's/%//' 50 | } 51 | 52 | function dsk_total() { 53 | df -h /home | awk '{ print $2 }' | tail -1 | sed 's/G//' 54 | } 55 | 56 | function follow() { 57 | case "$1" in 58 | "ram") $animate run -i "ram" -s $(ram);; 59 | "cpu") $animate run -i "cpu" -s $(cpu);; 60 | "dsk") $animate run -i "dsk" -s $(dsk);; 61 | *) echo "unknown stat" && exit 1 62 | esac 63 | 64 | while sleep 5; do 65 | case "$1" in 66 | "ram") ram;; 67 | "cpu") cpu;; 68 | "dsk") dsk;; 69 | esac 70 | done 71 | } 72 | 73 | 74 | case "$1" in 75 | "ram") ram;; 76 | "ram_total") ram_total;; 77 | "cpu") cpu;; 78 | "dsk") dsk;; 79 | "dsk_total") dsk_total;; 80 | "follow") follow "$2";; 81 | *) echo "unknown command" && exit 1;; 82 | esac 83 | 84 | -------------------------------------------------------------------------------- /dot_local/dot_scripts/executable_notifications: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | tmp="/home/user/.local/.scripts/cache/dunst-history.json" 4 | lock="/home/user/.local/.scripts/cache/dunst-toggle.lock" 5 | lockinfo="/home/user/.local/.scripts/cache/dunst-lock-info" 6 | 7 | touch $lockinfo 8 | 9 | declare ids 10 | export toggle_icon="" 11 | 12 | sanitize() { 13 | retstr=$(echo $1 | sed 's/\\\\/\\\\\\\\/g' | sed 's/"/\\"/g') 14 | 15 | # echo "original: $1" 16 | echo "$retstr" 17 | # echo 'sanitized' 18 | } 19 | 20 | get_ids() { 21 | mapfile -t ids < <(dunstctl history | gojq -r ".data[] | .[] | select(.appname.data != \"Spotify\") | .id.data") 22 | } 23 | 24 | get_notif() { 25 | echo -n '[' 26 | 27 | for id in "${ids[@]}"; do 28 | mapfile -t n < <(gojq -r ".data[] | .[] | select(.id.data == $id) | .appname.data, .summary.data, .body.data" "$tmp" | sed -r '/^\s*$/d' | sed -e 's/\%/ percent/g') 29 | ohkay=$(sanitize "${n[1]}") 30 | # echo $ohkay 31 | echo -n ''$([ $id -eq ${ids[0]} ] || echo ,)' { ' 32 | echo -n '"id": "'"$id"'", "appname": "'"${n[0]}"'", "summary": "'"$ohkay"'", "body": "'"${n[2]}"'"' 33 | echo -n '}' 34 | done 35 | 36 | echo ']' 37 | } 38 | 39 | toggle() { 40 | dunstctl set-paused toggle 41 | 42 | if [ ! -f "$lock" ]; then 43 | export toggle_icon="" 44 | touch "$lock" 45 | else 46 | export toggle_icon="" 47 | rm "$lock" 48 | fi 49 | 50 | echo "icon_change" > $lockinfo 51 | } 52 | 53 | clear() { 54 | systemctl --user restart dunst 55 | echo "icon_change" > $lockinfo 56 | } 57 | 58 | get_icon() { 59 | if [ ${#ids[@]} -eq 0 ]; then 60 | echo "" 61 | else 62 | echo "" 63 | fi 64 | } 65 | 66 | if [ "$1" == "toggle" ]; then 67 | toggle 68 | dunstctl history > "$tmp" 69 | elif [ "$1" == "clear" ]; then 70 | clear 71 | dunstctl history > "$tmp" 72 | elif [ "$1" == "icons" ]; then 73 | dunstctl history > "$tmp" 74 | get_ids 75 | echo '{"toggle_icon": "'"$toggle_icon"'", "icon": "'"$(get_icon)"'"}' 76 | tail -f "$lockinfo" | while read -r; do 77 | get_ids 78 | echo '{"toggle_icon": "'"$toggle_icon"'", "icon": "'"$(get_icon)"'"}' 79 | done 80 | else 81 | dunstctl history > "$tmp" 82 | get_ids 83 | get_notif 84 | tail -f "$tmp" 2>/dev/null | rg --line-buffered "aa\{sv\}" | while read -r; do 85 | get_ids 86 | get_notif 87 | done 88 | fi 89 | -------------------------------------------------------------------------------- /dot_config/spotify-player/theme.toml: -------------------------------------------------------------------------------- 1 | [[themes]] 2 | name = "poimandres" 3 | [themes.palette] 4 | background = "#14151e" 5 | foreground = "#E4F0FB" 6 | black = "#14151e" 7 | blue = "#91b4d5" 8 | cyan = "#5DE4C7" 9 | green = "#99e6bf" 10 | magenta = "#FCC5E9" 11 | red = "#FAE4FC" 12 | white = "#E4F0FB" 13 | yellow = "#FFFAC2" 14 | bright_black = "#14151e" 15 | bright_blue = "#91b4d5" 16 | bright_cyan = "#5DE4C7" 17 | bright_green = "#99e6bf" 18 | bright_magenta = "#FCC5E9" 19 | bright_red = "#FAE4FC" 20 | bright_white = "#E4F0FB" 21 | bright_yellow = "#FFFAC2" 22 | selection_background = "#303340" 23 | selection_foreground = "#E4F0FB" 24 | 25 | [themes.component_style] 26 | block_title = { fg = "Cyan" } 27 | playback_track = { fg = "Blue", modifiers = ["Bold"] } 28 | playback_album = { fg = "Blue" } 29 | playback_metadata = { fg = "Blue" } 30 | playback_progress_bar = { bg = "Black", fg = "Cyan" } 31 | current_playing = { fg = "Blue", modifiers = ["Bold"] } 32 | page_desc = { fg = "Cyan", modifiers = ["Bold"] } 33 | table_header = { fg = "Blue" } 34 | 35 | 36 | # example theme configuration file 37 | # This file adds two new themes `dracula2` and `solarized_dark` 38 | # in addition to the default application's themes. 39 | 40 | [[themes]] 41 | name = "dracula2" 42 | [themes.palette] 43 | background = "#1e1f29" 44 | foreground = "#f8f8f2" 45 | black = "#000000" 46 | blue = "#bd93f9" 47 | cyan = "#8be9fd" 48 | green = "#50fa7b" 49 | magenta = "#ff79c6" 50 | red = "#ff5555" 51 | white = "#bbbbbb" 52 | yellow = "#f1fa8c" 53 | bright_black = "#555555" 54 | bright_blue = "#bd93f9" 55 | bright_cyan = "#8be9fd" 56 | bright_green = "#50fa7b" 57 | bright_magenta = "#ff79c6" 58 | bright_red = "#ff5555" 59 | bright_white = "#ffffff" 60 | bright_yellow = "#f1fa8c" 61 | selection_background = "#44475a" 62 | selection_foreground = "#ffffff" 63 | 64 | [[themes]] 65 | name = "solarized_dark" 66 | [themes.palette] 67 | background = "#002b36" 68 | foreground = "#839496" 69 | black = "#073642" 70 | blue = "#268bd2" 71 | cyan = "#2aa198" 72 | green = "#859900" 73 | magenta = "#d33682" 74 | red = "#dc322f" 75 | white = "#eee8d5" 76 | yellow = "#b58900" 77 | bright_black = "#002b36" 78 | bright_blue = "#839496" 79 | bright_cyan = "#93a1a1" 80 | bright_green = "#586e75" 81 | bright_magenta = "#6c71c4" 82 | bright_red = "#cb4b16" 83 | bright_white = "#fdf6e3" 84 | bright_yellow = "#657b83" 85 | selection_background = "#073642" 86 | selection_foreground = "#93a1a1" 87 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/plugins/core.lua: -------------------------------------------------------------------------------- 1 | return { 2 | -- You can disable default plugins as follows: 3 | -- { "max397574/better-escape.nvim", enabled = false }, 4 | -- 5 | -- You can also easily customize additional setup of plugins that is outside of the plugin's setup call 6 | -- { 7 | -- "L3MON4D3/LuaSnip", 8 | -- config = function(plugin, opts) 9 | -- plugin.default_config(opts) -- include the default astronvim config that calls the setup call 10 | -- -- add more custom luasnip configuration such as filetype extend or custom snippets 11 | -- local luasnip = require "luasnip" 12 | -- luasnip.filetype_extend("javascript", { "javascriptreact" }) 13 | -- end, 14 | -- }, 15 | -- { 16 | -- "windwp/nvim-autopairs", 17 | -- config = function(plugin, opts) 18 | -- plugin.default_config(opts) -- include the default astronvim config that calls the setup call 19 | -- -- add more custom autopairs configuration such as custom rules 20 | -- local npairs = require "nvim-autopairs" 21 | -- local Rule = require "nvim-autopairs.rule" 22 | -- local cond = require "nvim-autopairs.conds" 23 | -- npairs.add_rules( 24 | -- { 25 | -- Rule("$", "$", { "tex", "latex" }) 26 | -- -- don't add a pair if the next character is % 27 | -- :with_pair(cond.not_after_regex "%%") 28 | -- -- don't add a pair if the previous character is xxx 29 | -- :with_pair( 30 | -- cond.not_before_regex("xxx", 3) 31 | -- ) 32 | -- -- don't move right when repeat character 33 | -- :with_move(cond.none()) 34 | -- -- don't delete if the next character is xx 35 | -- :with_del(cond.not_after_regex "xx") 36 | -- -- disable adding a newline when you press 37 | -- :with_cr(cond.none()), 38 | -- }, 39 | -- -- disable for .vim files, but it work for another filetypes 40 | -- Rule("a", "a", "-vim") 41 | -- ) 42 | -- end, 43 | -- }, 44 | -- By adding to the which-key config and using our helper function you can add more which-key registered bindings 45 | -- { 46 | -- "folke/which-key.nvim", 47 | -- config = function(plugin, opts) 48 | -- plugin.default_config(opts) 49 | -- -- Add bindings which show up as group name 50 | -- local wk = require "which-key" 51 | -- wk.register({ 52 | -- b = { name = "Buffer" }, 53 | -- }, { mode = "n", prefix = "" }) 54 | -- end, 55 | -- }, 56 | } 57 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/window-controls/window-controls.css: -------------------------------------------------------------------------------- 1 | /*-min max close size*/ 2 | .titlebar-button>.toolbarbutton-icon { 3 | height: 14px !important; 4 | min-height: 14px !important; 5 | width: 14px !important; 6 | min-width: 14px !important; 7 | } 8 | 9 | #titlebar { 10 | -moz-appearance: none !important; 11 | } 12 | 13 | .titlebar-button { 14 | transition: all 0.1s ease !important; 15 | padding: 0px 8px !important; 16 | background: none !important; 17 | -moz-context-properties: fill, fill-opacity !important; 18 | width: 16px; 19 | height: 16px; 20 | margin-left: 10px !important; 21 | border-radius: 20px !important; 22 | } 23 | 24 | .titlebar-buttonbox { 25 | display: flex; 26 | -moz-context-properties: fill, fill-opacity !important; 27 | } 28 | 29 | /* close button */ 30 | .titlebar-close { 31 | /* -moz-appearance: none !important; 32 | fill: var(--red) !important; 33 | opacity: 0.7 !important; 34 | list-style-image: url(circle.svg) !important; */ 35 | background-color: var(--red) !important; 36 | opacity: 0.7 !important; 37 | } 38 | 39 | .titlebar-close:hover { 40 | opacity: 1 !important; 41 | transform: scale(110%); 42 | } 43 | 44 | /* minimize button */ 45 | .titlebar-min { 46 | /* -moz-appearance: none !important; 47 | fill: var(--yellow) !important; 48 | opacity: 0.7 !important; 49 | list-style-image: url(circle.svg) !important; */ 50 | background-color: var(--yellow) !important; 51 | opacity: 0.7 !important; 52 | margin-left: 0px !important; 53 | } 54 | 55 | .titlebar-min:hover { 56 | opacity: 1 !important; 57 | transform: scale(110%); 58 | } 59 | 60 | /* maximize button */ 61 | .titlebar-max { 62 | /* -moz-appearance: none !important; 63 | fill: var(--green) !important; 64 | opacity: 0.7 !important; 65 | list-style-image: url(circle.svg) !important; */ 66 | background-color: var(--green) !important; 67 | opacity: 0.7 !important; 68 | } 69 | 70 | .titlebar-max:hover { 71 | opacity: 1 !important; 72 | transform: scale(110%); 73 | } 74 | 75 | /* restore button */ 76 | .titlebar-restore { 77 | /* -moz-appearance: none !important; 78 | fill: var(--green) !important; 79 | opacity: 0.7 !important; 80 | list-style-image: url(circle.svg) !important; */ 81 | background-color: var(--green) !important; 82 | opacity: 0.7 !important; 83 | } 84 | 85 | .titlebar-restore:hover { 86 | opacity: 1 !important; 87 | transform: scale(110%); 88 | } 89 | 90 | #private-browsing-indicator-with-label { 91 | display: none !important; 92 | } -------------------------------------------------------------------------------- /dot_config/btop/themes/iceberg.theme: -------------------------------------------------------------------------------- 1 | #Bashtop grayscale theme 2 | #by aristocratos 3 | 4 | # Colors should be in 6 or 2 character hexadecimal or single spaced rgb decimal: "#RRGGBB", "#BW" or "0-255 0-255 0-255" 5 | # example for white: "#FFFFFF", "#ff" or "255 255 255". 6 | 7 | # All graphs and meters can be gradients 8 | # For single color graphs leave "mid" and "end" variable empty. 9 | # Use "start" and "end" variables for two color gradient 10 | # Use "start", "mid" and "end" for three color gradient 11 | 12 | # Main background, empty for terminal default, need to be empty if you want transparent background 13 | theme[main_bg]= 14 | 15 | # Main text color 16 | theme[main_fg]="#b7bdf8" 17 | 18 | # Title color for boxes 19 | theme[title]="#8aadf4" 20 | 21 | # Higlight color for keyboard shortcuts 22 | theme[hi_fg]="#91d7e3" 23 | 24 | # Background color of selected item in processes box 25 | theme[selected_bg]="#b7bdf8" 26 | 27 | # Foreground color of selected item in processes box 28 | theme[selected_fg]="#8aadf4" 29 | 30 | # Color of inactive/disabled text 31 | theme[inactive_fg]="#8aadf4" 32 | 33 | # Misc colors for processes box including mini cpu graphs, details memory graph and details status text 34 | theme[proc_misc]="#8aadf4" 35 | 36 | # Cpu box outline color 37 | theme[cpu_box]="#8aadf4" 38 | 39 | # Memory/disks box outline color 40 | theme[mem_box]="#8aadf4" 41 | 42 | # Net up/down box outline color 43 | theme[net_box]="#8aadf4" 44 | 45 | # Processes box outline color 46 | theme[proc_box]="#8aadf4" 47 | 48 | # Box divider line and small boxes line color 49 | theme[div_line]="#8aadf4" 50 | 51 | # Temperature graph colors 52 | theme[temp_start]="#50" 53 | theme[temp_mid]="" 54 | theme[temp_end]="#ff" 55 | 56 | # CPU graph colors 57 | theme[cpu_start]="#8aadf4" 58 | theme[cpu_mid]="#7dc4e4" 59 | theme[cpu_end]="#91d7e3" 60 | 61 | # Mem/Disk free meter 62 | theme[free_start]="#c6a0f6" 63 | theme[free_mid]="#b7bdf8" 64 | theme[free_end]="#cad3f5" 65 | 66 | # Mem/Disk cached meter 67 | theme[cached_start]="#c6a0f6" 68 | theme[cached_mid]="#b7bdf8" 69 | theme[cached_end]="#cad3f5" 70 | 71 | # Mem/Disk available meter 72 | theme[available_start]="#c6a0f6" 73 | theme[available_mid]="#b7bdf8" 74 | theme[available_end]="#cad3f5" 75 | 76 | # Mem/Disk used meter 77 | theme[used_start]="#c6a0f6" 78 | theme[used_mid]="#b7bdf8" 79 | theme[used_end]="#cad3f5" 80 | 81 | # Download graph colors 82 | theme[download_start]="#c6a0f6" 83 | theme[download_mid]="#b7bdf8" 84 | theme[download_end]="#cad3f5" 85 | 86 | # Upload graph colors 87 | theme[upload_start]="#c6a0f6" 88 | theme[upload_mid]="#b7bdf8" 89 | theme[upload_end]="#cad3f5" 90 | -------------------------------------------------------------------------------- /dot_config/btop/themes/poimandres.theme: -------------------------------------------------------------------------------- 1 | #Bashtop grayscale theme 2 | #by aristocratos 3 | 4 | # Colors should be in 6 or 2 character hexadecimal or single spaced rgb decimal: "#RRGGBB", "#BW" or "0-255 0-255 0-255" 5 | # example for white: "#FFFFFF", "#ff" or "255 255 255". 6 | 7 | # All graphs and meters can be gradients 8 | # For single color graphs leave "mid" and "end" variable empty. 9 | # Use "start" and "end" variables for two color gradient 10 | # Use "start", "mid" and "end" for three color gradient 11 | 12 | # Main background, empty for terminal default, need to be empty if you want transparent background 13 | theme[main_bg]= 14 | 15 | # Main text color 16 | theme[main_fg]="#ADD7FF" 17 | 18 | # Title color for boxes 19 | theme[title]="#91b4d5" 20 | 21 | # Higlight color for keyboard shortcuts 22 | theme[hi_fg]="#5de4c7" 23 | 24 | # Background color of selected item in processes box 25 | theme[selected_bg]="#ADD7FF" 26 | 27 | # Foreground color of selected item in processes box 28 | theme[selected_fg]="#91b4d5" 29 | 30 | # Color of inactive/disabled text 31 | theme[inactive_fg]="#91b4d5" 32 | 33 | # Misc colors for processes box including mini cpu graphs, details memory graph and details status text 34 | theme[proc_misc]="#91b4d5" 35 | 36 | # Cpu box outline color 37 | theme[cpu_box]="#91b4d5" 38 | 39 | # Memory/disks box outline color 40 | theme[mem_box]="#91b4d5" 41 | 42 | # Net up/down box outline color 43 | theme[net_box]="#91b4d5" 44 | 45 | # Processes box outline color 46 | theme[proc_box]="#91b4d5" 47 | 48 | # Box divider line and small boxes line color 49 | theme[div_line]="#91b4d5" 50 | 51 | # Temperature graph colors 52 | theme[temp_start]="#50" 53 | theme[temp_mid]="" 54 | theme[temp_end]="#ff" 55 | 56 | # CPU graph colors 57 | theme[cpu_start]="#7390AA" 58 | theme[cpu_mid]="#91b4d5" 59 | theme[cpu_end]="#5de4c7" 60 | 61 | # Mem/Disk free meter 62 | theme[free_start]="#5DE4C7" 63 | theme[free_mid]="#5FB3A1" 64 | theme[free_end]="#42675A" 65 | 66 | # Mem/Disk cached meter 67 | theme[cached_start]="#5DE4C7" 68 | theme[cached_mid]="#5FB3A1" 69 | theme[cached_end]="#42675A" 70 | 71 | # Mem/Disk available meter 72 | theme[available_start]="#5DE4C7" 73 | theme[available_mid]="#5FB3A1" 74 | theme[available_end]="#42675A" 75 | 76 | # Mem/Disk used meter 77 | theme[used_start]="#5DE4C7" 78 | theme[used_mid]="#5FB3A1" 79 | theme[used_end]="#42675A" 80 | 81 | # Download graph colors 82 | theme[download_start]="#5DE4C7" 83 | theme[download_mid]="#5FB3A1" 84 | theme[download_end]="#42675A" 85 | 86 | # Upload graph colors 87 | theme[upload_start]="#5DE4C7" 88 | theme[upload_mid]="#5FB3A1" 89 | theme[upload_end]="#42675A" 90 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/scripts/executable_widgets: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | eww_menu="eww -c $HOME/.config/eww/iceberg/menu" 4 | CACHE_DIR="$HOME/.cache/eww" 5 | focusmon=$(hyprctl monitors -j | jq -r '.[] | select(.focused == true) | .id') 6 | 7 | function toggle_sys0() { 8 | if [ -f "$CACHE_DIR/sys-menu$focusmon.lock" ];then 9 | rm "$CACHE_DIR/sys-menu$focusmon.lock" 10 | $eww_menu update system-menu=false 11 | sleep 0.5 12 | # $eww_menu close unfocus 13 | $eww_menu close "sys-menu$focusmon" 14 | else 15 | touch "$CACHE_DIR/sys-menu$focusmon.lock" 16 | $eww_menu open "sys-menu$focusmon" 17 | $eww_menu update system-menu=true 18 | fi 19 | } 20 | 21 | function toggle_sys1() { 22 | if [ -f "$CACHE_DIR/sys-menu$focusmon.lock" ];then 23 | rm "$CACHE_DIR/sys-menu$focusmon.lock" 24 | $eww_menu update system-menu=false 25 | sleep 0.5 26 | # $eww_menu close unfocus1 27 | $eww_menu close "sys-menu$focusmon" 28 | else 29 | touch "$CACHE_DIR/sys-menu$focusmon.lock" 30 | $eww_menu open "sys-menu$focusmon" 31 | $eww_menu update system-menu=true 32 | fi 33 | } 34 | 35 | function toggle_time0() { 36 | if [ -f "$CACHE_DIR/time-menu.lock" ];then 37 | rm "$CACHE_DIR/time-menu.lock" 38 | $eww_menu update time-reveal=false 39 | sleep 0.9 40 | # $eww_menu close unfocus 41 | $eww_menu close "time-menu$focusmon" 42 | $eww_menu update time-vis=false 43 | else 44 | touch "$CACHE_DIR/time-menu.lock" 45 | $eww_menu open "time-menu$focusmon" 46 | $eww_menu update time-vis=true 47 | $eww_menu update time-reveal=true 48 | fi 49 | } 50 | 51 | function toggle_time1() { 52 | if [ -f "$CACHE_DIR/time-menu1.lock" ];then 53 | rm "$CACHE_DIR/time-menu1.lock" 54 | $eww_menu update time-reveal=false 55 | sleep 0.9 56 | # $eww_menu close unfocus 57 | $eww_menu close time-menu1 58 | $eww_menu update time-vis=false 59 | else 60 | touch "$CACHE_DIR/time-menu1.lock" 61 | $eww_menu open time-menu1 62 | $eww_menu update time-vis=true 63 | $eww_menu update time-reveal=true 64 | fi 65 | } 66 | 67 | function toggle_clip() { 68 | if [ -f "$CACHE_DIR/clipboard$focusmon.lock" ];then 69 | rm "$CACHE_DIR/clipboard$focusmon.lock" 70 | # $eww_menu close unfocus 71 | $eww_menu close "clipboard$focusmon" 72 | else 73 | touch "$CACHE_DIR/clipboard$focusmon.lock" 74 | $eww_menu open "clipboard$focusmon" 75 | fi 76 | } 77 | 78 | if ! [ -d "$CACHE_DIR" ];then 79 | mkdir -p "$CACHE_DIR" 80 | fi 81 | 82 | case "$1" in 83 | "toggle-sys") toggle_sys0;; 84 | "toggle-sys1") toggle_sys1;; 85 | "toggle-time") toggle_time0;; 86 | "toggle-time1") toggle_time1;; 87 | "toggle-clip") toggle_clip;; 88 | *) echo "Unknown command";; 89 | esac 90 | 91 | -------------------------------------------------------------------------------- /dot_config/dunst/executable_dunstrc: -------------------------------------------------------------------------------- 1 | # Documentation: https://dunst-project.org/documentation/ 2 | # Config created by selmer443 https://www.github.com/selmer443/dotfiles 3 | # Copyright (C) 2022 selmer443 4 | 5 | [global] 6 | monitor = 0 7 | follow = mouse 8 | width = (0, 500) 9 | height = (200, 500) 10 | origin = top-right 11 | offset = 10x60 12 | indicate_hidden = yes 13 | shrink = no 14 | scale = 0 15 | transparency = 0 16 | notification_height = 0 17 | separator_height = 2 18 | padding = 12 19 | horizontal_padding = 12 20 | frame_width = 1 21 | frame_color = "#8aadf4" 22 | separator_color = frame 23 | ;enable_posix_regex = true 24 | sort = yes 25 | idle_threshold = -1 26 | font = JetBrains Mono Nerd Font 11 27 | line_height = 0 28 | markup = full 29 | format = "%s\n%b" 30 | alignment = left 31 | vertical_alignment = center 32 | show_age_threshold = -1 33 | word_wrap = yes 34 | ellipsize = middle 35 | ignore_newline = no 36 | stack_duplicates = true 37 | hide_duplicate_count = false 38 | show_indicators = no 39 | icon_position = left 40 | min_icon_size = 16 41 | max_icon_size = 80 42 | icon_path = /usr/share/icons/Papirus/16x16/ 43 | sticky_nano = yes 44 | history_length = 50 45 | dmenu = /usr/bin/dmenu -p dunst: 46 | browser = /usr/bin/firefox 47 | always_run_script = true 48 | title = Dunst 49 | class = Dunst 50 | startup_notification = false 51 | verbosity = mesg 52 | corner_radius = 10 53 | ignore_dbusclose = true 54 | force_xinerama = false 55 | mouse_middle_click = close_all 56 | mouse_right_click = do_action, close_current 57 | [experimental] 58 | per_monitor_dpi = false 59 | 60 | [shortcuts] 61 | close = ctrl+space 62 | close_all = ctrl+shift+space 63 | history = ctrl+grave 64 | context = ctrl+shift+period 65 | [urgency_low] 66 | background = "#14151e" 67 | foreground = "#E4F0FB" 68 | highlight = "#E4F0FB" 69 | #script = /home/morpheus/.config/dunst/dunstscript.sh 70 | timeout = 10 71 | [urgency_normal] 72 | background = "#14151e" 73 | foreground = "#E4F0FB" 74 | highlight = "#E4F0FB" 75 | #script = /home/morpheus/.config/dunst/dunstscript.sh 76 | timeout = 10 77 | [urgency_critical] 78 | background = "#14151e" 79 | foreground = "#E4F0FB" 80 | highlight = "#E4F0FB" 81 | frame_color = "#e2b6b6" 82 | timeout = 0 83 | [screenshots] 84 | summary="Screenshot" 85 | max_icon_size = 300 86 | 87 | ;[eww] 88 | ;summary = "*" 89 | ;script = "~/.local/.scripts/notifs" 90 | 91 | ;[spotify] 92 | ;summary = "*" 93 | ;script = "~/.local/.scripts/spotify-art" 94 | 95 | ;[spotify-icon] 96 | ;appname = "Spotify" 97 | ;icon = "~/.cache/temp.png" -------------------------------------------------------------------------------- /dot_config/firefox/chrome/navbar/identity-icons-brand.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/urlbar/identity-icons-brand.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /dot_config/firefox/chrome/userChrome-overlay.css: -------------------------------------------------------------------------------- 1 | /* material firefox imports */ 2 | @import "global/variables.css"; 3 | @import "global/global.css"; 4 | @import "icons/icons.css"; 5 | @import "tabbar/tabbar.css"; 6 | @import "navbar/navbar.css"; 7 | @import "personalbar/personalbar.css"; 8 | @import "popup/popup.css"; 9 | @import "urlbar/urlbar.css"; 10 | @import "findbar/findbar.css"; 11 | 12 | /* Vars Import */ 13 | @import "vars.css"; 14 | 15 | /* show bookmarks toolbar on new tab only */ 16 | #main-window #PersonalToolbar { 17 | visibility: collapse !important; 18 | z-index: 1 !important; 19 | position: relative !important; 20 | margin-left: var(--initial-width); /* shift toolbar to the right based on initial width */ 21 | margin-top: var(--toolbar-height) !important; 22 | } 23 | 24 | #main-window[title^="Firefox Developer Edition"] #PersonalToolbar { 25 | visibility: visible !important; 26 | margin-top: -1px !important; 27 | } 28 | 29 | /* 30 | There's two main sidebar components. 31 | 1. #sidebar-box (outer) 32 | 2. #sidebar (inner) 33 | */ 34 | /* lock outer to height by doing the inverse margin of the toolbar element */ 35 | /* set outer width = initial width */ 36 | #sidebar-box { 37 | z-index: 1000 !important; 38 | position: relative !important; 39 | margin-top: var(--menubar-height) !important; 40 | padding-top: calc(-1 * var(--menubar-height)); 41 | max-width: 0px; 42 | min-width: 0px; 43 | } 44 | 45 | #sidebar-header { 46 | color: var(--sidebar-background-color) !important; 47 | } 48 | 49 | /* inner width = expanded width & move inner to only show initial-width long section */ 50 | #sidebar-box #sidebar { 51 | min-width: var(--sidebar-width) !important; 52 | max-width: var(--sidebar-width) !important; 53 | transition: all 0.2s ease-in-out; 54 | box-shadow: 2px 0 33px -5px var(--shadow-color); 55 | background: var(--sidebar-background-color) !important; 56 | } 57 | 58 | #main-window[title^="Firefox Developer Edition"] #sidebar-box { 59 | margin-top: var(--toolmenubar-height) !important; 60 | } 61 | 62 | /* hide sidebar header for tree style tabs sidebar */ 63 | #sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header { 64 | display: none; 65 | } 66 | 67 | #sidebar { 68 | border-right: none !important; 69 | } 70 | 71 | toolbar#nav-bar { 72 | padding-top: 12px; 73 | padding-bottom: 7px; 74 | margin-left: var(--initial-width); 75 | padding-left: 7px; 76 | border: none !important; 77 | } 78 | 79 | toolbar { 80 | border: none !important; 81 | } 82 | 83 | /* Hide splitter, when using Tree Style Tab. */ 84 | #sidebar-splitter { 85 | display: none !important; 86 | } 87 | 88 | /* hide normal horizontal tab bar */ 89 | #TabsToolbar { 90 | display: none; 91 | } 92 | /* Show firefox titlebar */ 93 | /* .tabbrowser-tab { */ 94 | /* display: none; */ 95 | /* } */ 96 | 97 | /* #tabs-newtab-button { */ 98 | /* display: none; */ 99 | /* } */ 100 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/hooks/executable_push-to-checkout.sample: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # An example hook script to update a checked-out tree on a git push. 4 | # 5 | # This hook is invoked by git-receive-pack(1) when it reacts to git 6 | # push and updates reference(s) in its repository, and when the push 7 | # tries to update the branch that is currently checked out and the 8 | # receive.denyCurrentBranch configuration variable is set to 9 | # updateInstead. 10 | # 11 | # By default, such a push is refused if the working tree and the index 12 | # of the remote repository has any difference from the currently 13 | # checked out commit; when both the working tree and the index match 14 | # the current commit, they are updated to match the newly pushed tip 15 | # of the branch. This hook is to be used to override the default 16 | # behaviour; however the code below reimplements the default behaviour 17 | # as a starting point for convenient modification. 18 | # 19 | # The hook receives the commit with which the tip of the current 20 | # branch is going to be updated: 21 | commit=$1 22 | 23 | # It can exit with a non-zero status to refuse the push (when it does 24 | # so, it must not modify the index or the working tree). 25 | die () { 26 | echo >&2 "$*" 27 | exit 1 28 | } 29 | 30 | # Or it can make any necessary changes to the working tree and to the 31 | # index to bring them to the desired state when the tip of the current 32 | # branch is updated to the new commit, and exit with a zero status. 33 | # 34 | # For example, the hook can simply run git read-tree -u -m HEAD "$1" 35 | # in order to emulate git fetch that is run in the reverse direction 36 | # with git push, as the two-tree form of git read-tree -u -m is 37 | # essentially the same as git switch or git checkout that switches 38 | # branches while keeping the local changes in the working tree that do 39 | # not interfere with the difference between the branches. 40 | 41 | # The below is a more-or-less exact translation to shell of the C code 42 | # for the default behaviour for git's push-to-checkout hook defined in 43 | # the push_to_deploy() function in builtin/receive-pack.c. 44 | # 45 | # Note that the hook will be executed from the repository directory, 46 | # not from the working tree, so if you want to perform operations on 47 | # the working tree, you will have to adapt your code accordingly, e.g. 48 | # by adding "cd .." or using relative paths. 49 | 50 | if ! git update-index -q --ignore-submodules --refresh 51 | then 52 | die "Up-to-date check failed" 53 | fi 54 | 55 | if ! git diff-files --quiet --ignore-submodules -- 56 | then 57 | die "Working directory has unstaged changes" 58 | fi 59 | 60 | # This is a rough translation of: 61 | # 62 | # head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX 63 | if git cat-file -e HEAD 2>/dev/null 64 | then 65 | head=HEAD 66 | else 67 | head=$(git hash-object -t tree --stdin .tab-stack > .tab-background { 15 | background: var(--tl-tab-background-gradient, var(--arrowpanel-dimmed-further)) !important; 16 | } 17 | 18 | tab:not([selected="true"]) > .tab-stack:hover > .tab-background { 19 | background: var(--arrowpanel-background) !important; 20 | } 21 | 22 | .tab-stack { 23 | border-radius: 7px; 24 | margin-right: 5px; 25 | overflow: hidden; 26 | } 27 | 28 | .tab-stack .tab-icon-image, 29 | .tab-stack .tab-label-container { 30 | transform: translateX(0px); 31 | transition: all var(--tl-animation-duration) var(--ease-out) !important; 32 | } 33 | 34 | .tab-stack .tab-icon-image { 35 | transition-duration: calc(var(--tl-animation-duration) * 2) !important; 36 | } 37 | 38 | tab:not([pinned="true"]) .tab-stack:hover .tab-icon-image { 39 | transform: translateX(-25px) !important; 40 | } 41 | 42 | .tab-stack:hover .tab-label-container { 43 | transform: translateX(-23px) !important; 44 | } 45 | 46 | /* containers */ 47 | tab:not([selected="true"]).identity-color-blue > .tab-stack, 48 | tab:not([selected="true"]).identity-color-orange > .tab-stack, 49 | tab:not([selected="true"]).identity-color-green > .tab-stack, 50 | tab:not([selected="true"]).identity-color-pink > .tab-stack{ 51 | border-radius: 0 0 7px 7px !important; 52 | } 53 | 54 | tab[selected="true"].identity-color-blue > .tab-stack .tab-label-container, 55 | tab[selected="true"].identity-color-orange > .tab-stack .tab-label-container, 56 | tab[selected="true"].identity-color-green > .tab-stack .tab-label-container, 57 | tab[selected="true"].identity-color-pink > .tab-stack .tab-label-container{ 58 | color: #000 !important; 59 | } 60 | 61 | /* blue */ 62 | tab[selected="true"].identity-color-blue > .tab-stack > .tab-background{ 63 | background: linear-gradient(to right, #3182CE , #0BC5EA) !important; 64 | } 65 | 66 | tab:not([selected="true"]).identity-color-blue > .tab-stack > .tab-background{ 67 | border-top: solid 4px #63B3ED !important; 68 | } 69 | 70 | /* orange */ 71 | tab[selected="true"].identity-color-orange > .tab-stack > .tab-background{ 72 | background: linear-gradient(to right, #DD6B20 , #F56565) !important; 73 | } 74 | 75 | tab:not([selected="true"]).identity-color-orange > .tab-stack > .tab-background{ 76 | border-top: solid 4px #F6AD55 !important; 77 | } 78 | 79 | /* green */ 80 | tab[selected="true"].identity-color-green > .tab-stack > .tab-background{ 81 | background: linear-gradient(to right, #38A169 , #38B2AC) !important; 82 | } 83 | 84 | tab:not([selected="true"]).identity-color-green > .tab-stack > .tab-background{ 85 | border-top: solid 4px #68D391 !important; 86 | } 87 | 88 | /* pink */ 89 | tab[selected="true"].identity-color-pink > .tab-stack > .tab-background{ 90 | background: linear-gradient(to right, #D53F8C , #9F7AEA) !important; 91 | } 92 | 93 | tab:not([selected="true"]).identity-color-pink > .tab-stack > .tab-background{ 94 | border-top: solid 4px #F687B3 !important; 95 | } 96 | 97 | 98 | .tab-stack .tab-close-button { 99 | border-radius: 50%; 100 | margin-left: -20px !important; 101 | background: var(--lwt-text-color); 102 | fill: var(--lwt-accent-color) !important; 103 | transform: translateX(30px) !important; 104 | transition: all var(--tl-animation-duration) var(--ease-out) !important; 105 | } 106 | 107 | .tab-stack:hover .tab-close-button { 108 | transform: translateX(0px) !important; 109 | } 110 | 111 | #tabbrowser-tabs[closebuttons="activetab"] > #tabbrowser-arrowscrollbox > 112 | .tabbrowser-tab > .tab-stack > .tab-content > .tab-close-button:not([selected="true"]){ 113 | display: block !important; 114 | } -------------------------------------------------------------------------------- /dot_config/firefox/chrome/navbar/navbar.css: -------------------------------------------------------------------------------- 1 | .titlebar-spacer { 2 | display: none !important; 3 | } 4 | 5 | /* change! - removed the bottom border (same color anyways, just missaligns everything) */ 6 | /* toolbox#navigator-toolbox { 7 | border-bottom: solid var(--dividers) var(--sidebar-shadow-color) !important; 8 | } */ 9 | 10 | #nav-bar { 11 | min-height: 36px !important; 12 | box-shadow: none !important; 13 | padding-inline: 5px 6px !important; 14 | background-color: var(--toolbar-bgcolor) !important; 15 | padding: 8px !important; 16 | } 17 | 18 | .private-browsing-indicator { 19 | display: none !important; 20 | } 21 | 22 | #reload-button[disabled]:not(:-moz-window-inactive) > .toolbarbutton-icon { 23 | opacity: 1 !important; 24 | } 25 | 26 | toolbar .toolbarbutton-1 { 27 | margin-left: 3px !important; 28 | margin-right: 3px !important; 29 | } 30 | 31 | #stop-reload-button[animate="true"] .toolbarbutton-animatable-box { 32 | transform: translateX(2px) translateY(16px) !important; 33 | } 34 | 35 | .toolbarbutton-1[checked="true"] > .toolbarbutton-icon { 36 | background: transparent !important; 37 | fill: var(--lwt-toolbarbutton-icon-fill-attention); 38 | } 39 | 40 | toolbar .toolbarbutton-1 > .toolbarbutton-icon { 41 | border-radius: 7px !important; 42 | padding: 7px !important; 43 | } 44 | 45 | :root:not([customizing]) #back-button[disabled="true"] { 46 | opacity: 0.5 !important; 47 | } 48 | 49 | /* #back-button:not(:hover), 50 | #back-button:not(:hover) > .toolbarbutton-icon { 51 | background: transparent !important; 52 | border: none !important; 53 | box-shadow: none !important; 54 | } 55 | 56 | #back-button:hover, 57 | #back-button:hover > .toolbarbutton-icon { 58 | background: transparent !important; 59 | border: none !important; 60 | box-shadow: none !important; 61 | border: none !important; 62 | } 63 | 64 | #back-button:hover:not([disabled]) > .toolbarbutton-icon { 65 | background: var(--lwt-toolbarbutton-hover-background) !important; 66 | } 67 | */ 68 | #back-button > .toolbarbutton-icon { 69 | padding: 4px !important; 70 | } 71 | #forward-button > .toolbarbutton-icon { 72 | padding: 3px !important; 73 | } 74 | toolbar:not([customizing="true"]) 75 | .toolbarbutton-1:not(.titlebar-button):not(#back-button):not(#forward-button) 76 | > .toolbarbutton-icon { 77 | padding: 6px !important; 78 | } 79 | .toolbarbutton-1 .toolbarbutton-badge-stack #fxa-avatar-image { 80 | padding: 1px !important; 81 | } 82 | 83 | /* Windows */ 84 | #PanelUI-button { 85 | border: none !important; 86 | margin: 0 !important; 87 | padding: 0 !important; 88 | } 89 | 90 | #PanelUI-menu-button[badge-status|="update"] .toolbarbutton-badge { 91 | display: none !important; 92 | } 93 | 94 | :root[privatebrowsingmode] #fxa-toolbar-menu-button { 95 | pointer-events: none !important; 96 | } 97 | 98 | /* show "Private" label for en languages only */ 99 | :root[titlemodifier="(Private Browsing)"] #fxa-toolbar-menu-button::before { 100 | content: "Private" !important; 101 | display: -moz-box !important; 102 | margin-inline-start: 12px !important; 103 | margin-inline-end: 6px !important; 104 | } 105 | 106 | #nav-bar-customization-target { 107 | overflow: visible !important; 108 | } 109 | 110 | /* animated download box (do this to get it into the url bar */ 111 | /* .toolbarbutton-animatable-box { 112 | transform: translateX(-80px) !important; 113 | top: 1px !important; 114 | z-index: 10 !important; 115 | } */ 116 | 117 | /* #PersonalToolbar { 118 | margin-top: -40px !important; 119 | opacity: 0; 120 | transition: all var(--transition-time) var(--ease-out) !important; 121 | } */ 122 | 123 | toolbox[id="navigator-toolbox"]:hover #PersonalToolbar { 124 | opacity: 1; 125 | margin: 0 !important; 126 | } 127 | 128 | #PlacesToolbarItems { 129 | margin: 7px 4px !important; 130 | } 131 | 132 | toolbarbutton[class="bookmark-item"]:not(:hover) { 133 | opacity: 0.6 !important; 134 | } 135 | -------------------------------------------------------------------------------- /dot_config/nvim/lua/user/dot_git/hooks/executable_update.sample: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # An example hook script to block unannotated tags from entering. 4 | # Called by "git receive-pack" with arguments: refname sha1-old sha1-new 5 | # 6 | # To enable this hook, rename this file to "update". 7 | # 8 | # Config 9 | # ------ 10 | # hooks.allowunannotated 11 | # This boolean sets whether unannotated tags will be allowed into the 12 | # repository. By default they won't be. 13 | # hooks.allowdeletetag 14 | # This boolean sets whether deleting tags will be allowed in the 15 | # repository. By default they won't be. 16 | # hooks.allowmodifytag 17 | # This boolean sets whether a tag may be modified after creation. By default 18 | # it won't be. 19 | # hooks.allowdeletebranch 20 | # This boolean sets whether deleting branches will be allowed in the 21 | # repository. By default they won't be. 22 | # hooks.denycreatebranch 23 | # This boolean sets whether remotely creating branches will be denied 24 | # in the repository. By default this is allowed. 25 | # 26 | 27 | # --- Command line 28 | refname="$1" 29 | oldrev="$2" 30 | newrev="$3" 31 | 32 | # --- Safety check 33 | if [ -z "$GIT_DIR" ]; then 34 | echo "Don't run this script from the command line." >&2 35 | echo " (if you want, you could supply GIT_DIR then run" >&2 36 | echo " $0 )" >&2 37 | exit 1 38 | fi 39 | 40 | if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then 41 | echo "usage: $0 " >&2 42 | exit 1 43 | fi 44 | 45 | # --- Config 46 | allowunannotated=$(git config --type=bool hooks.allowunannotated) 47 | allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch) 48 | denycreatebranch=$(git config --type=bool hooks.denycreatebranch) 49 | allowdeletetag=$(git config --type=bool hooks.allowdeletetag) 50 | allowmodifytag=$(git config --type=bool hooks.allowmodifytag) 51 | 52 | # check for no description 53 | projectdesc=$(sed -e '1q' "$GIT_DIR/description") 54 | case "$projectdesc" in 55 | "Unnamed repository"* | "") 56 | echo "*** Project description file hasn't been set" >&2 57 | exit 1 58 | ;; 59 | esac 60 | 61 | # --- Check types 62 | # if $newrev is 0000...0000, it's a commit to delete a ref. 63 | zero=$(git hash-object --stdin &2 76 | echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2 77 | exit 1 78 | fi 79 | ;; 80 | refs/tags/*,delete) 81 | # delete tag 82 | if [ "$allowdeletetag" != "true" ]; then 83 | echo "*** Deleting a tag is not allowed in this repository" >&2 84 | exit 1 85 | fi 86 | ;; 87 | refs/tags/*,tag) 88 | # annotated tag 89 | if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1 90 | then 91 | echo "*** Tag '$refname' already exists." >&2 92 | echo "*** Modifying a tag is not allowed in this repository." >&2 93 | exit 1 94 | fi 95 | ;; 96 | refs/heads/*,commit) 97 | # branch 98 | if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then 99 | echo "*** Creating a branch is not allowed in this repository" >&2 100 | exit 1 101 | fi 102 | ;; 103 | refs/heads/*,delete) 104 | # delete branch 105 | if [ "$allowdeletebranch" != "true" ]; then 106 | echo "*** Deleting a branch is not allowed in this repository" >&2 107 | exit 1 108 | fi 109 | ;; 110 | refs/remotes/*,commit) 111 | # tracking branch 112 | ;; 113 | refs/remotes/*,delete) 114 | # delete tracking branch 115 | if [ "$allowdeletebranch" != "true" ]; then 116 | echo "*** Deleting a tracking branch is not allowed in this repository" >&2 117 | exit 1 118 | fi 119 | ;; 120 | *) 121 | # Anything else (is there anything else?) 122 | echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2 123 | exit 1 124 | ;; 125 | esac 126 | 127 | # --- Finished 128 | exit 0 129 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/menu/scripts/executable_sys: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CACHE_DIR="$HOME/.cache/eww" 4 | 5 | function restore() { 6 | [ -f "$CACHE_DIR/night.lock" ] && redshift -P -O 5000 || redshift -x 7 | [ $(dunstctl is-paused) = "true" ] && dunstctl set-paused true || dunstctl set-paused false 8 | } 9 | 10 | function toggle_wifi() { 11 | [ $(nmcli r wifi) = "enabled" ] && nmcli r wifi off || nmcli r wifi on 12 | } 13 | 14 | function follow_wifi() { 15 | [ $(nmcli r wifi) = "enabled" ] && local status="on" || local status="off" 16 | [ $status = "on" ] && local ico="" || local ico="" 17 | echo "{\"state\":\"$status\",\"icon\":\"$ico\"}" 18 | while sleep 0.1; do 19 | [ $(nmcli r wifi) = "enabled" ] && local ns="on" || local ns="off" 20 | if [ $status != $ns ];then 21 | status=$ns 22 | [ $status = "on" ] && local ico="" || local ico="" 23 | echo "{\"state\":\"$status\",\"icon\":\"$ico\"}" 24 | fi 25 | done 26 | } 27 | 28 | function toggle_air() { 29 | [ -f "$CACHE_DIR/air.lock" ] && rm "$CACHE_DIR/air.lock" || touch "$CACHE_DIR/air.lock" 30 | if [ -f "$CACHE_DIR/air.lock" ];then 31 | rfkill block wlan 32 | rfkill block bluetooth 33 | else 34 | rfkill unblock wlan 35 | rfkill unblock bluetooth 36 | fi 37 | } 38 | 39 | function follow_air() { 40 | [ -f "$CACHE_DIR/air.lock" ] && local status="on" || local status="off" 41 | [ $status = "on" ] && local ico="" || local ico="" 42 | echo "{\"state\":\"$status\",\"icon\":\"$ico\"}" 43 | while sleep 0.1; do 44 | [ -f "$CACHE_DIR/air.lock" ] && local ns="on" || local ns="off" 45 | if [ $status != $ns ];then 46 | status=$ns 47 | [ $status = "on" ] && local ico="" || local ico="" 48 | echo "{\"state\":\"$status\",\"icon\":\"$ico\"}" 49 | fi 50 | done 51 | } 52 | 53 | function toggle_dnd() { 54 | [ $(dunstctl is-paused) = "true" ] && dunstctl set-paused false || dunstctl set-paused true 55 | } 56 | 57 | function follow_dnd() { 58 | [ $(dunstctl is-paused) = "true" ] && local status="on" || local status="off" 59 | [ $status = "on" ] && local ico="" || local ico="" 60 | echo "{\"state\":\"$status\",\"icon\":\"$ico\"}" 61 | while sleep 0.1; do 62 | [ $(dunstctl is-paused) = "true" ] && local ns="on" || local ns="off" 63 | if [ $status != $ns ];then 64 | status=$ns 65 | [ $status = "on" ] && local ico="" || local ico="" 66 | echo "{\"state\":\"$status\",\"icon\":\"$ico\"}" 67 | fi 68 | done 69 | } 70 | 71 | function toggle_night() { 72 | [ -f "$CACHE_DIR/night.lock" ] && rm "$CACHE_DIR/night.lock" || touch "$CACHE_DIR/night.lock" 73 | [ -f "$CACHE_DIR/night.lock" ] && redshift -P -O 5000 || redshift -x 74 | } 75 | 76 | function follow_night() { 77 | [ -f "$CACHE_DIR/night.lock" ] && local status="on" || local status="off" 78 | [ $status = "on" ] && local ico="" || local ico="" 79 | echo "{\"state\":\"$status\",\"icon\":\"$ico\"}" 80 | while sleep 0.1; do 81 | [ -f "$CACHE_DIR/night.lock" ] && local ns="on" || local ns="off" 82 | if [ $status != $ns ];then 83 | status=$ns 84 | [ $status = "on" ] && local ico="" || local ico="" 85 | echo "{\"state\":\"$status\",\"icon\":\"$ico\"}" 86 | fi 87 | done 88 | } 89 | 90 | function toggle_blue() { 91 | [ -f "$CACHE_DIR/blue.lock" ] && rm "$CACHE_DIR/blue.lock" || touch "$CACHE_DIR/blue.lock" 92 | [ -f "$CACHE_DIR/blue.lock" ] && bluetoothctl power off || bluetoothctl power on 93 | } 94 | 95 | function follow_blue() { 96 | [ -f "$CACHE_DIR/blue.lock" ] && local status="off" || local status="on" 97 | [ $status = "on" ] && local ico="" || local ico="" 98 | echo "{\"state\":\"$status\",\"icon\":\"$ico\"}" 99 | while sleep 0.1; do 100 | [ -f "$CACHE_DIR/blue.lock" ] && local ns="off" || local ns="on" 101 | if [ $status != $ns ];then 102 | status=$ns 103 | [ $status = "on" ] && local ico="" || local ico="" 104 | echo "{\"state\":\"$status\",\"icon\":\"$ico\"}" 105 | fi 106 | done 107 | } 108 | 109 | function screenshot() { 110 | eww -c "$HOME/.config/eww/iceberg/menu" close sys-menu 111 | flameshot gui 112 | } 113 | 114 | case "$1" in 115 | "toggle-wifi") toggle_wifi;; 116 | "toggle-blue") toggle_blue;; 117 | "toggle-air") toggle_air;; 118 | "toggle-dnd") toggle_dnd;; 119 | "toggle-night") toggle_night;; 120 | "screenshot") screenshot;; 121 | "toggle-blue") toggle_blue;; 122 | "wifi") follow_wifi;; 123 | "air") follow_air;; 124 | "dnd") follow_dnd;; 125 | "night") follow_night;; 126 | "blue") follow_blue;; 127 | "restore") restore;; 128 | *) echo "unknown command";; 129 | esac 130 | 131 | -------------------------------------------------------------------------------- /dot_config/eww/iceberg/bar/eww.yuck: -------------------------------------------------------------------------------- 1 | (include "yuck/start.yuck") 2 | (include "yuck/workspaces.yuck") 3 | (include "yuck/window.yuck") 4 | (include "yuck/notifs.yuck") 5 | (include "yuck/sys.yuck") 6 | (include "yuck/ram.yuck") 7 | (include "yuck/nvidia.yuck") 8 | (include "yuck/cpu.yuck") 9 | (include "yuck/disk.yuck") 10 | (include "yuck/updates.yuck") 11 | (include "yuck/bat.yuck") 12 | 13 | (defvar eww "eww -c ~/.config/eww/iceberg/bar") 14 | (deflisten right_widgets "scripts/test") 15 | (defwidget main [] 16 | (box :class "bar" 17 | (left) 18 | (right))) 19 | ; Generic icon module foldstart 20 | (defwidget icon-module [icon ?class ?visible] 21 | (box :class "${class} icon-module" 22 | :orientation "h" 23 | :valign "center" 24 | :space-evenly false 25 | :visible {visible ?: true} ; because the argument is optional 26 | (label :class "icon-module__icon" :text "${icon}") 27 | (children))) 28 | 29 | (defwidget left[] 30 | (box :class "left" 31 | :space-evenly false 32 | :spacing 7 33 | :halign "start" 34 | (start) 35 | (workspaces) 36 | (window-name))) 37 | 38 | (defwidget right[] 39 | (box :class "right" 40 | :space-evenly false 41 | :spacing 7 42 | :halign "end" 43 | (notifs) 44 | (sys) 45 | (nvidia) 46 | (ram) 47 | (cpu) 48 | (disk) 49 | (updates) 50 | (bat) 51 | (time))) 52 | 53 | ; (defwidget right [] 54 | ; (literal 55 | ; :content { right_widgets })) 56 | 57 | ; (defwidget workspaces [] 58 | ; (literal 59 | ; :content workspace 60 | ; :valign "center")) 61 | 62 | 63 | (defwidget main1 [] 64 | (box :class "bar" 65 | (left1) 66 | (right1))) 67 | 68 | (defwidget left1[] 69 | (box :class "left" 70 | :space-evenly false 71 | :spacing 7 72 | :halign "start" 73 | (start1) 74 | (workspaces) 75 | (window-name))) 76 | 77 | (defwidget right1[] 78 | (box :class "right" 79 | :space-evenly false 80 | :spacing 7 81 | :halign "end" 82 | (notifs) 83 | (sys) 84 | (nvidia) 85 | (ram) 86 | (cpu) 87 | (disk) 88 | (updates) 89 | (bat) 90 | (time))) 91 | 92 | (defwidget lbar[] 93 | (box :class "bar left-bar" 94 | (left))) 95 | 96 | (defwidget rbar[] 97 | (box :class "bar right-bar" 98 | (right))) 99 | 100 | (defwidget lbar1[] 101 | (box :class "bar left-bar" 102 | (left1))) 103 | 104 | (defwidget rbar1[] 105 | (box :class "bar right-bar" 106 | (right1))) 107 | 108 | (defwidget time1[] 109 | (box :class "time-box" 110 | :halign "center" 111 | :valign "center" 112 | (eventbox :class "time-eventbox" 113 | :onclick "scripts/widgets toggle-time1 ; scripts/blank" 114 | :cursor "pointer" 115 | (label :class "time-label" :text " ${time-lbl}")))) 116 | 117 | (defwidget time[] 118 | (box :class "time-box" 119 | :halign "center" 120 | :valign "center" 121 | (eventbox :class "time-eventbox" 122 | :onclick "scripts/widgets toggle-time ; scripts/blank" 123 | :cursor "pointer" 124 | (label :class "time-label" :text " ${time-lbl}")))) 125 | 126 | (defpoll time-lbl :interval "1s" "date +'%I:%M'") 127 | 128 | (defwindow bar0 129 | :monitor 0 130 | :geometry (geometry :x "0px" :y "0px" :width "100%" :height "50px" :anchor "top center") 131 | :stacking "fg" 132 | :hexpand false 133 | :vexpand false 134 | :exclusive false 135 | :windowtype "dock" 136 | (main)) 137 | 138 | (defwindow left_bar0 139 | :monitor 0 140 | :geometry (geometry :x "10px" :y "10px" :height "50px" :anchor "top center") 141 | :stacking "fg" 142 | :exclusive false 143 | (lbar)) 144 | 145 | (defwindow right_bar0 146 | :monitor 0 147 | :geometry (geometry :x "-10px" :y "10px" :height "50px" :anchor "top center") 148 | :stacking "fg" 149 | :exclusive false 150 | (rbar)) 151 | 152 | (defwindow bar1 153 | :monitor 1 154 | :geometry (geometry :x "0px" :y "0px" :width "100%" :height "48px" :anchor "top center") 155 | :stacking "fg" 156 | :hexpand false 157 | :vexpand false 158 | :exclusive false 159 | :windowtype "dock" 160 | (main1)) 161 | 162 | (defwindow left_bar1 163 | :monitor 1 164 | :geometry (geometry :x "10px" :y "10px" :height "48px" :anchor "top left") 165 | :stacking "fg" 166 | :exclusive false 167 | (lbar1)) 168 | 169 | (defwindow right_bar1 170 | :monitor 1 171 | :geometry (geometry :x "-10px" :y "10px" :height "48px" :anchor "top right") 172 | :stacking "fg" 173 | :exclusive false 174 | (rbar1)) 175 | --------------------------------------------------------------------------------