├── 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 |
4 |
5 |
--------------------------------------------------------------------------------
/dot_config/firefox/chrome/window-controls/circle-min.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
--------------------------------------------------------------------------------
/dot_config/firefox/chrome/window-controls/circle-close-p.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
--------------------------------------------------------------------------------
/dot_config/firefox/chrome/window-controls/circle-max-p.svg:
--------------------------------------------------------------------------------
1 |
4 |
5 |
--------------------------------------------------------------------------------
/dot_config/firefox/chrome/window-controls/circle-min-p.svg:
--------------------------------------------------------------------------------
1 |
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 |
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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
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 |
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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/dot_config/firefox/chrome/icons/email.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/dot_config/firefox/chrome/navbar/info-2x.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/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 |
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 |
8 |
--------------------------------------------------------------------------------
/dot_config/firefox/chrome/icons/home-2x.svg:
--------------------------------------------------------------------------------
1 |
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 |
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 |
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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
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 |
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 |
--------------------------------------------------------------------------------
/dot_config/firefox/chrome/urlbar/identity-icons-brand.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
]