diff options
| -rw-r--r-- | .config/foot/foot.ini | 6 | ||||
| -rw-r--r-- | .config/hypr/hyprland.conf | 66 | ||||
| -rw-r--r-- | .config/nvim/lua/justsaumit/lsp-config.lua | 8 | ||||
| -rw-r--r-- | .config/nvim/lua/justsaumit/mason.lua | 2 | ||||
| -rw-r--r-- | .config/nvim/lua/justsaumit/plugins.lua | 4 | ||||
| -rw-r--r-- | .config/nvim/lua/justsaumit/treesitter-config.lua | 2 | ||||
| -rw-r--r-- | .config/nvim/plugin/packer_compiled.lua | 66 | ||||
| -rw-r--r-- | .config/systemd/user/eye-rest-reminder.service | 14 | ||||
| -rw-r--r-- | .config/waybar/config.jsonc | 24 | ||||
| -rw-r--r-- | .config/waybar/style.css | 11 | ||||
| -rwxr-xr-x | .scripts/20-20-20.sh | 53 | ||||
| -rwxr-xr-x | .scripts/4chget | 4 | ||||
| -rwxr-xr-x | .scripts/4chgettofi | 3 | ||||
| -rwxr-xr-x | .scripts/bts | 3 | ||||
| -rwxr-xr-x | .scripts/toggle-keyboard-hypr | 11 | ||||
| -rwxr-xr-x | .scripts/toggle-touchpad-hypr | 11 | ||||
| -rwxr-xr-x | .scripts/work | 5 | ||||
| -rwxr-xr-x | .scripts/ws | 45 | ||||
| -rwxr-xr-x | .scripts/ws-tofi | 67 |
19 files changed, 337 insertions, 68 deletions
diff --git a/.config/foot/foot.ini b/.config/foot/foot.ini index cc08d77..4d7c22c 100644 --- a/.config/foot/foot.ini +++ b/.config/foot/foot.ini @@ -8,11 +8,13 @@ font-decrease=Control+Shift+Page_Down scrollback-up-line=Mod1+Up scrollback-down-line=Mod1+Down +[search-bindings] +find-prev=Control+Shift+f + # theme-Catppuccin(same as kitty) -[cursor] -color=1A1826 D9E0EE [colors] +cursor=1A1826 D9E0EE foreground=D9E0EE background=1E1D2F regular0=6E6C7E # black diff --git a/.config/hypr/hyprland.conf b/.config/hypr/hyprland.conf index 9b32c43..f13bc8e 100644 --- a/.config/hypr/hyprland.conf +++ b/.config/hypr/hyprland.conf @@ -26,8 +26,10 @@ monitor=HDMI-A-1,1920x1080@144,0x0,1.00,transform,0,mirror,eDP-1 # Autostart necessary processes (like notifications daemons, status bars, etc.) # Or execute your favorite apps at launch like this: +# exec-once = $terminal +# exec-once = nm-applet & # exec-once = waybar & hyprpaper & firefox -exec-once = waybar & dunst & wpaperd & suspend.sh & nextcloud & nm-applet & blueman-applet & notion-app +exec-once = waybar & dunst & wpaperd & suspend.sh & nextcloud & nm-applet & blueman-applet & notion-app & memospot #exec-once = dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY #exec-once = dbus-update-activation-environment --systemd WAYLAND_DISPLAY && XDG_CURRENT_DESKTOP=Hyprland exec-once = systemctl --user import-environment DISPLAY WAYLAND_DISPLAY XDG_CURRENT_DESKTOP @@ -40,7 +42,7 @@ exec-once = xhost +SI:localuser:root ### ENVIRONMENT VARIABLES ### ############################# -# See https://wiki.hyprland.org/Configuring/Environment-variables/ +# See https://wiki.hypr.land/Configuring/Environment-variables/ env = XCURSOR_SIZE,24 env = HYPRCURSOR_SIZE,24 @@ -50,6 +52,21 @@ env = XDG_SESSION_TYPE,wayland #env = __GLX_VENDOR_LIBRARY_NAME,nvidia env = WLR_NO_HARDWARE_CURSORS,1 +################### +### PERMISSIONS ### +################### + +# See https://wiki.hypr.land/Configuring/Permissions/ +# Please note permission changes here require a Hyprland restart and are not applied on-the-fly +# for security reasons + +# ecosystem { +# enforce_permissions = 1 +# } + +# permission = /usr/(bin|local/bin)/grim, screencopy, allow +# permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow +# permission = /usr/(bin|local/bin)/hyprpm, plugin, allow ##################### ### LOOK AND FEEL ### ##################### @@ -184,14 +201,12 @@ input { } } -# https://wiki.hyprland.org/Configuring/Variables/#gestures -gestures { - workspace_swipe = on - workspace_swipe_fingers = 3 - workspace_swipe_distance = 500 - workspace_swipe_invert = true - workspace_swipe_min_speed_to_force = 40 -} +# See https://wiki.hypr.land/Configuring/Gestures +gesture = 3, horizontal, workspace +gesture = 3, down, dispatcher, movetoworkspacesilent, special +gesture = 3, up, scale: 1.5, dispatcher, movetoworkspacesilent, +0 +gesture = 3, pinch, fullscreen + binds { workspace_back_and_forth = true allow_workspace_cycles = true @@ -206,6 +221,17 @@ binds { # sensitivity = -0.5 #} +$TOUCHPAD_ENABLED = true +device { + name = pnp0c50:0d-06cb:cebd-touchpad + enabled = $TOUCHPAD_ENABLED +} + +$KEYBOARD_ENABLED = true +device { + name = at-translated-set-2-keyboard + enabled = $KEYBOARD_ENABLED +} ################### ### KEYBINDINGS ### @@ -238,6 +264,8 @@ bindr = $MOD CTRL, D, exec, pkill rofi || rofi -show drun bind = $MOD, F3, exec, rofi -modi emoji -show emoji -kb-custom-1 Ctrl+C bind = $MOD, X, exec, cliphist list | rofi -dmenu | cliphist decode | wl-copy bind = ALT, L, exec, ~/.scripts/rofi-beats-linux.sh +# Toggle Touchpad +bind = $MOD ALT, M, exec, toggle-touchpad-hypr ################ # Applications # @@ -248,6 +276,7 @@ bind = ALT, L, exec, ~/.scripts/rofi-beats-linux.sh bind = $MOD, Q, exec, brave bind = $MOD CTRL, Q, exec, brave --incognito bind = $MOD ALT, Q, exec, brave --tor +bind = $MOD SHIFT, Z, exec, zen-browser # Launch wa bind = $MOD SHIFT, W, exec, whatsapp-nativefier --no-sandbox #Launch emacs @@ -263,6 +292,8 @@ bind = $MOD ALT, E, exec, qutebrowser https://mail.proton.me/u/0/inbox bind = $MOD SHIFT, T, exec, teams # Launch spotify bind = $MOD SHIFT, M, exec, spotify +# Launch memospot +bind = $MOD CTRL, M, exec, memospot # Launch discord bind = $MOD SHIFT, D, exec, webcord --enable-features=UseOzonePlatform --ozone-platform=wayland # Launch telegram @@ -291,7 +322,11 @@ bind = $MOD , L, exec, swaylock #bind = ALT ,Print, exec, flameshot gui bind = ,Print, exec, IMG=pic-full-"$(date +%y-%m-%d--%H-%M-%S)".png && grim - | wl-copy && wl-paste > "$GRIM_DEFAULT_DIR/""$IMG" && dunstify "Screenshot of the whole screen taken" "$IMG" -t 1000 # screenshot of whole screen bind = $MOD SHIFT,Print, exec, IMG=pic-sel-"$(date +%y-%m-%d--%H-%M-%S)".png && grim -g "$(slurp)" - | wl-copy && wl-paste > "$GRIM_DEFAULT_DIR/""$IMG" && dunstify "Screenshot of the region taken" "$IMG" -t 1000 # screenshot of a region -bind = ALT ,Print, exec, flameshot gui +bind = CTRL,Print, exec, IMG=pic-sel-"$(date +%y-%m-%d--%H-%M-%S)".png && grim -g "$(slurp)" - | wl-copy && wl-paste > "$GRIM_DEFAULT_DIR/""$IMG" && dunstify "Screenshot of the region taken" "$IMG" -t 1000 # screenshot of a region +bind = ALT,Print, exec, flameshot gui +bind = ,F10, exec, IMG=pic-full-"$(date +%y-%m-%d--%H-%M-%S)".png && grim - | wl-copy && wl-paste > "$GRIM_DEFAULT_DIR/""$IMG" && dunstify "Screenshot of the whole screen taken" "$IMG" -t 1000 # screenshot of whole screen +bind = ,F11, exec, IMG=pic-sel-"$(date +%y-%m-%d--%H-%M-%S)".png && grim -g "$(slurp)" - | wl-copy && wl-paste > "$GRIM_DEFAULT_DIR/""$IMG" && dunstify "Screenshot of the region taken" "$IMG" -t 1000 # screenshot of a region +bind = ,F12, exec, flameshot gui #otherkeyb bind = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle && [[ "$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | grep MUTE)" ]] && dunstify "Mute" "Volume set to 0%" -i volume-xmark -t 1000 -r 1234 @@ -302,8 +337,8 @@ binde = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 2%- & binde = ,XF86MonBrightnessUp, exec, brillo -A 4 && dunstify -u normal -t 3000 -r 90210 -i brightness "$(printf %.0f%% $( brillo -G) )" binde = ,XF86MonBrightnessDown, exec, brillo -U 4 && dunstify -u normal -t 3000 -r 90210 -i brightness "$(printf %.0f%% $( brillo -G) )" #Launch rofi calc mode -bind = $MOD, F2 , exec, rofi -show calc -modi calc -no-show-match -no-sort -bind = , XF86Calculator, exec, rofi -show calc -modi calc -no-show-match -no-sort +bind = $MOD, F2 , exec, rofi -show calc -modi calc -no-show-match -no-sort -calc-command "echo -n '{result}' | wl-copy" +bind = , XF86Calculator, exec, rofi -show calc -modi calc -no-show-match -no-sort -calc-command "echo -n '{result}' | wl-copy" #Toggle play/pause in spotify (universal) bind = , XF86AudioPlay, exec, playerctl -p spotify play-pause @@ -311,6 +346,8 @@ bind = , XF86AudioPlay, exec, playerctl -p spotify play-pause bind = , XF86AudioPrev, exec, playerctl -p spotify previous bind = , XF86AudioNext, exec, playerctl -p spotify next +#bluetooth applet +bind = $MOD, F9, exec, blueman-manager #master-stack layout bind = $MOD, Return,layoutmsg, swapwithmaster @@ -359,6 +396,9 @@ bind = ALT, tab, workspace, e+1 bind = ALT SHIFT, tab, workspace, e-1 bind = $MOD, mouse_down, workspace, e+1 bind = $MOD, mouse_up, workspace, e-1 +# Scroll through existing workspaces with just mouse sidebuttons +bind = , mouse:276, workspace, e+1 +bind = , mouse:275, workspace, e-1 # Move/resize windows with MOD + LMB/RMB and dragging bindm = $MOD, mouse:272, movewindow diff --git a/.config/nvim/lua/justsaumit/lsp-config.lua b/.config/nvim/lua/justsaumit/lsp-config.lua index 3e1db1f..2c0d746 100644 --- a/.config/nvim/lua/justsaumit/lsp-config.lua +++ b/.config/nvim/lua/justsaumit/lsp-config.lua @@ -84,10 +84,10 @@ lspconfig.rust_analyzer.setup({ capabilities = capabilities, }) -lspconfig.tsserver.setup({ - on_attach = on_attach, - capabilities = capabilities, -}) +-- lspconfig.tsserver.setup({ +-- on_attach = on_attach, +-- capabilities = capabilities, +-- }) lspconfig.yamlls.setup({ on_attach = on_attach, diff --git a/.config/nvim/lua/justsaumit/mason.lua b/.config/nvim/lua/justsaumit/mason.lua index ed2c74d..d651810 100644 --- a/.config/nvim/lua/justsaumit/mason.lua +++ b/.config/nvim/lua/justsaumit/mason.lua @@ -33,7 +33,7 @@ require("mason-lspconfig").setup ({ "html", "lua_ls", "marksman", - "tsserver", + --"tsserver", "yamlls", }, }) diff --git a/.config/nvim/lua/justsaumit/plugins.lua b/.config/nvim/lua/justsaumit/plugins.lua index 2913f6f..460d6f3 100644 --- a/.config/nvim/lua/justsaumit/plugins.lua +++ b/.config/nvim/lua/justsaumit/plugins.lua @@ -58,11 +58,13 @@ return packer.startup(function(use) --Lualine use {'nvim-lualine/lualine.nvim', requires = { 'kyazdani42/nvim-web-devicons', opt = true }} --Bufferline - use {'akinsho/bufferline.nvim', tag = "v2.*", requires = 'nvim-tree/nvim-web-devicons'} + use {'akinsho/bufferline.nvim', tag = "*", requires = 'nvim-tree/nvim-web-devicons'} --Nvim-tree File explorer for nvim use {'nvim-tree/nvim-tree.lua', requires = { 'nvim-tree/nvim-web-devicons'}} --Which-key - displays a popup with possible key bindings use 'folke/which-key.nvim' +--mini.nvim - Lua module pack + use 'echasnovski/mini.nvim' --Mason-nvim Portable Package manager for LSP and DAP servers, linters and formatters use { "williamboman/mason.nvim", run = ":MasonUpdate"} -- :MasonUpdate updates registry contents --lsp diff --git a/.config/nvim/lua/justsaumit/treesitter-config.lua b/.config/nvim/lua/justsaumit/treesitter-config.lua index 9249da7..c64e659 100644 --- a/.config/nvim/lua/justsaumit/treesitter-config.lua +++ b/.config/nvim/lua/justsaumit/treesitter-config.lua @@ -1,6 +1,6 @@ require'nvim-treesitter.configs'.setup { -- A list of parser names, or "all" - ensure_installed = { "bash", "c", "cpp", "lua", "rust", "python", "go","html", "javascript", "typescript", "latex", "markdown", "solidity", "sxhkdrc" }, + ensure_installed = { "bash", "c", "cpp", "lua", "rust", "python", "go","html", "javascript", "typescript", "markdown", "solidity", "sxhkdrc" }, -- Install parsers synchronously (only applied to `ensure_installed`) sync_install = false, diff --git a/.config/nvim/plugin/packer_compiled.lua b/.config/nvim/plugin/packer_compiled.lua index 5b4e295..f5e9107 100644 --- a/.config/nvim/plugin/packer_compiled.lua +++ b/.config/nvim/plugin/packer_compiled.lua @@ -49,8 +49,8 @@ local function save_profiles(threshold) end time([[Luarocks path setup]], true) -local package_path_str = "/home/saumit/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?.lua;/home/saumit/.cache/nvim/packer_hererocks/2.1.0-beta3/share/lua/5.1/?/init.lua;/home/saumit/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?.lua;/home/saumit/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/luarocks/rocks-5.1/?/init.lua" -local install_cpath_pattern = "/home/saumit/.cache/nvim/packer_hererocks/2.1.0-beta3/lib/lua/5.1/?.so" +local package_path_str = "/home/justsaumit/.cache/nvim/packer_hererocks/2.1.1731601260/share/lua/5.1/?.lua;/home/justsaumit/.cache/nvim/packer_hererocks/2.1.1731601260/share/lua/5.1/?/init.lua;/home/justsaumit/.cache/nvim/packer_hererocks/2.1.1731601260/lib/luarocks/rocks-5.1/?.lua;/home/justsaumit/.cache/nvim/packer_hererocks/2.1.1731601260/lib/luarocks/rocks-5.1/?/init.lua" +local install_cpath_pattern = "/home/justsaumit/.cache/nvim/packer_hererocks/2.1.1731601260/lib/lua/5.1/?.so" if not string.find(package.path, package_path_str, 1, true) then package.path = package.path .. ';' .. package_path_str end @@ -76,157 +76,157 @@ time([[Defining packer_plugins]], true) _G.packer_plugins = { LuaSnip = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/LuaSnip", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/LuaSnip", url = "https://github.com/L3MON4D3/LuaSnip" }, ["bufferline.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/bufferline.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/bufferline.nvim", url = "https://github.com/akinsho/bufferline.nvim" }, catppuccin = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/catppuccin", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/catppuccin", url = "https://github.com/catppuccin/nvim" }, ["cmp-buffer"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/cmp-buffer", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/cmp-buffer", url = "https://github.com/hrsh7th/cmp-buffer" }, ["cmp-cmdline"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/cmp-cmdline", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/cmp-cmdline", url = "https://github.com/hrsh7th/cmp-cmdline" }, ["cmp-nvim-lsp"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp", url = "https://github.com/hrsh7th/cmp-nvim-lsp" }, ["cmp-path"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/cmp-path", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/cmp-path", url = "https://github.com/hrsh7th/cmp-path" }, cmp_luasnip = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/cmp_luasnip", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/cmp_luasnip", url = "https://github.com/saadparwaiz1/cmp_luasnip" }, ["lspkind-nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/lspkind-nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/lspkind-nvim", url = "https://github.com/onsails/lspkind-nvim" }, ["lspsaga.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/lspsaga.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/lspsaga.nvim", url = "https://github.com/kkharji/lspsaga.nvim" }, ["lualine.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/lualine.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/lualine.nvim", url = "https://github.com/nvim-lualine/lualine.nvim" }, ["mason-lspconfig.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/mason-lspconfig.nvim", url = "https://github.com/williamboman/mason-lspconfig.nvim" }, ["mason.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/mason.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/mason.nvim", url = "https://github.com/williamboman/mason.nvim" }, ["nvim-cmp"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-cmp", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-cmp", url = "https://github.com/hrsh7th/nvim-cmp" }, ["nvim-colorizer.lua"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-colorizer.lua", url = "https://github.com/NvChad/nvim-colorizer.lua" }, ["nvim-comment"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-comment", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-comment", url = "https://github.com/terrortylor/nvim-comment" }, ["nvim-lastplace"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-lastplace", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-lastplace", url = "https://github.com/ethanholz/nvim-lastplace" }, ["nvim-lspconfig"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-lspconfig", url = "https://github.com/neovim/nvim-lspconfig" }, ["nvim-tree.lua"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-tree.lua", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-tree.lua", url = "https://github.com/nvim-tree/nvim-tree.lua" }, ["nvim-treesitter"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-treesitter", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-treesitter", url = "https://github.com/nvim-treesitter/nvim-treesitter" }, ["nvim-ts-autotag"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-ts-autotag", url = "https://github.com/windwp/nvim-ts-autotag" }, ["nvim-web-devicons"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/nvim-web-devicons", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/nvim-web-devicons", url = "https://github.com/kyazdani42/nvim-web-devicons" }, ["packer.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/packer.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/packer.nvim", url = "https://github.com/wbthomason/packer.nvim" }, ["plenary.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/plenary.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/plenary.nvim", url = "https://github.com/nvim-lua/plenary.nvim" }, ["popup.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/popup.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/popup.nvim", url = "https://github.com/nvim-lua/popup.nvim" }, pywal = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/pywal", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/pywal", url = "https://github.com/AlphaTechnolog/pywal.nvim" }, ["telescope.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/telescope.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/telescope.nvim", url = "https://github.com/nvim-telescope/telescope.nvim" }, ["toggleterm.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/toggleterm.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/toggleterm.nvim", url = "https://github.com/akinsho/toggleterm.nvim" }, ["tokyodark.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/tokyodark.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/tokyodark.nvim", url = "https://github.com/tiagovla/tokyodark.nvim" }, ["tokyonight.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/tokyonight.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/tokyonight.nvim", url = "https://github.com/folke/tokyonight.nvim" }, ["which-key.nvim"] = { loaded = true, - path = "/home/saumit/.local/share/nvim/site/pack/packer/start/which-key.nvim", + path = "/home/justsaumit/.local/share/nvim/site/pack/packer/start/which-key.nvim", url = "https://github.com/folke/which-key.nvim" } } diff --git a/.config/systemd/user/eye-rest-reminder.service b/.config/systemd/user/eye-rest-reminder.service new file mode 100644 index 0000000..f4cd795 --- /dev/null +++ b/.config/systemd/user/eye-rest-reminder.service @@ -0,0 +1,14 @@ +[Unit] +Description=20-20-20 Eye Rest Reminder +After=graphical-session.target + +[Service] +Type=simple +ExecStart=%h/.scripts/20-20-20.sh +Restart=always +RestartSec=10 +Environment=DISPLAY=:0 +Environment=WAYLAND_DISPLAY=wayland-1 + +[Install] +WantedBy=default.target diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc index c2aef8e..513c578 100644 --- a/.config/waybar/config.jsonc +++ b/.config/waybar/config.jsonc @@ -30,7 +30,8 @@ "network", "battery", "backlight", - "tray" + "tray", + "custom/toggle-laptop-keyboard" ], "hyprland/window": { "format": "{}" @@ -100,9 +101,19 @@ }, "cpu": { "interval": 5, - "format": " {usage}% ", + // "format": " {usage}% ", + "format-critical":"<span color='#c20821'><b> {usage}%</b></span>", + "format-high": "<span color='#e03c52'> {usage}%</span>", + "format-medium": "<span color='#f9e2af'> {usage}%</span>", + "format-low": "<span color='#b2beb5'> {usage}%</span>", "tooltip": false, - "on-click": "foot --term -e htop" + "on-click": "foot --term -e htop", + "states": { + "critical": 80, + "high": 50, + "medium": 5, + "low": 0, + }, }, "temperature": { "interval": 5, @@ -211,5 +222,10 @@ "tray": { "icon-size": 18, "spacing": 10 - } + }, + "custom/toggle-laptop-keyboard": { + "format": " ", + "on-click": "~/.scripts/toggle-keyboard-hypr", + "tooltip-format": "Toggle Laptop Keyboard" + } } diff --git a/.config/waybar/style.css b/.config/waybar/style.css index 91059bd..4ac1b0d 100644 --- a/.config/waybar/style.css +++ b/.config/waybar/style.css @@ -5,7 +5,7 @@ /*font-family: Iosevka, FontAwesome, Noto Sans CJK;*/ font-family: "JetBrainsMono Nerd Font"; font-weight: bold; - font-size: 15.9px; + font-size: 15.8px; min-height: 0; } @@ -75,6 +75,7 @@ tooltip { #custom-memory, #workspaces, #tray, +#custom-toggle-laptop-keyboard, #backlight, #custom-playerctl, #custom-playerlabel { @@ -98,8 +99,12 @@ tooltip { } #tray { - border-radius: 10px; - margin-right: 5px; + border-radius: 10px 0px 0px 10px; +} + +#custom-toggle-laptop-keyboard{ + border-radius: 0px 10px 10px 0px; + margin-right: 2px } #workspaces { diff --git a/.scripts/20-20-20.sh b/.scripts/20-20-20.sh new file mode 100755 index 0000000..2179643 --- /dev/null +++ b/.scripts/20-20-20.sh @@ -0,0 +1,53 @@ +#!/bin/bash + +# 20-20-20 Eye Rest Reminder for Hyprland +# Every 20 minutes, shows a full-screen blocking reminder for 20 seconds + +INTERVAL=1200 # 20 minutes in seconds +DURATION=20 # 20 seconds break + +while true; do + sleep $INTERVAL + + # Show notification warning + notify-send -u critical -t 3000 "👁️ 20-20-20 EYE BREAK" "Eye break starting in 3 seconds..." + + sleep 3 + + # Create full-screen blocking overlay using yad + # Install: sudo pacman -S yad + yad --width=1920 --height=1080 \ + --center \ + --undecorated \ + --no-buttons \ + --timeout=$DURATION \ + --timeout-indicator=top \ + --skip-taskbar \ + --on-top \ + --sticky \ + --fixed \ + --title="Eye Break" \ + --text="<span font='64' weight='bold' foreground='#eb6f92'>👁️ EYE BREAK TIME 👁️</span> + +<span font='32' foreground='#e0def4'>Look at something <b>20 FEET</b> away (6 meters)</span> + +<span font='32' foreground='#e0def4'>For <b>20 SECONDS</b></span> + +<span font='28' foreground='#9ccfd8'>🪑 Stand up and look away from the screen</span> + +<span font='20' foreground='#6e6a86'>This window will close automatically...</span>" \ + --text-align=center \ + --back=1f1d2e \ + --borders=50 & + + YAD_PID=$! + + # Wait for the duration + sleep $DURATION + + # Kill yad if still running + kill $YAD_PID 2>/dev/null + + # Show completion notification + notify-send -u normal -t 3000 "✅ Eye Break Complete" "Great job! Back to work 💪" +done diff --git a/.scripts/4chget b/.scripts/4chget index b4a7446..43e4f7c 100755 --- a/.scripts/4chget +++ b/.scripts/4chget @@ -34,10 +34,10 @@ read thread case "$option" in "wg") - wget -P "$parentdir/$dir" -nd -r -l 1 -H -D i.4cdn.org,is2.4chan.org -A png,jpg,jpeg -R '*s.*' https://boards.4chan.org/wg/thread/"$thread" ;; + wget -P "$parentdir/$dir" -nd -r -l 1 -H -D i.4cdn.org,is2.4chan.org,is2.4channel.org -A png,jpg,jpeg -R '*s.*' https://boards.4chan.org/wg/thread/"$thread" ;; "w") - wget -P "$parentdir/$dir" -nd -r -l 1 -H -D i.4cdn.org,is2.4chan.org -A png,jpg,jpeg -R '*s.*' https://boards.4channel.org/w/thread/"$thread" ;; + wget -P "$parentdir/$dir" -nd -r -l 1 -H -D i.4cdn.org,is2.4chan.org,is2.4channel.org -A png,jpg,jpeg -R '*s.*' https://boards.4chan.org/w/thread/"$thread" ;; esac echo "Wallpapers downloaded successfully." diff --git a/.scripts/4chgettofi b/.scripts/4chgettofi index ee88553..a820059 100755 --- a/.scripts/4chgettofi +++ b/.scripts/4chgettofi @@ -5,7 +5,8 @@ while [[ "$option" != "w" && "$option" != "wg" ]]; do option=$(echo -e "wg\nw" | tofi --prompt-text "Is it wallpaper/general (wg) or anime wallpaper (w)?") done -[[ $option == "w" ]] && parentdir="$rootpapesdir/w" && nel="nel" || parentdir="$rootpapesdir/wg" +#[[ $option == "w" ]] && parentdir="$rootpapesdir/w" && nel="nel" || parentdir="$rootpapesdir/wg" +[[ $option == "w" ]] && parentdir="$rootpapesdir/w" || parentdir="$rootpapesdir/wg" while true; do dir=$(tofi --prompt-text "Enter folder name: " --require-match=false </dev/null) diff --git a/.scripts/bts b/.scripts/bts index 445bdcb..b78f9b9 100755 --- a/.scripts/bts +++ b/.scripts/bts @@ -5,7 +5,8 @@ option=$(echo -e "Connect\nDisconnect\nChange profile\nReset pulseaudio"| tofi - #MAC="76:67:11:36:64:A2" #MAC="E4:59:37:44:27:7A" #MAC="2E:85:79:56:B1:D7" -MAC="28:B7:7B:AB:C9:92" +#MAC="28:B7:7B:AB:C9:92" +MAC="EF:9F:2E:52:9E:45" case $option in "Connect") status=$(systemctl is-active bluetooth) diff --git a/.scripts/toggle-keyboard-hypr b/.scripts/toggle-keyboard-hypr new file mode 100755 index 0000000..3bc046c --- /dev/null +++ b/.scripts/toggle-keyboard-hypr @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +CACHE_FILE="$XDG_CACHE_HOME/laptop-keyboard-disabled" + +if [ -f "$CACHE_FILE" ] ;then + rm "$CACHE_FILE" + hyprctl keyword -r '$KEYBOARD_ENABLED' "true" +else + touch "$CACHE_FILE" + hyprctl keyword -r '$KEYBOARD_ENABLED' "false" +fi diff --git a/.scripts/toggle-touchpad-hypr b/.scripts/toggle-touchpad-hypr new file mode 100755 index 0000000..8f65419 --- /dev/null +++ b/.scripts/toggle-touchpad-hypr @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +CACHE_FILE="$XDG_CACHE_HOME/laptop-touchpad-disabled" + +if [ -f "$CACHE_FILE" ] ;then + rm "$CACHE_FILE" + hyprctl keyword -r '$TOUCHPAD_ENABLED' "true" +else + touch "$CACHE_FILE" + hyprctl keyword -r '$TOUCHPAD_ENABLED' "false" +fi diff --git a/.scripts/work b/.scripts/work index fb3f1a5..6903842 100755 --- a/.scripts/work +++ b/.scripts/work @@ -1,6 +1,7 @@ #!/bin/sh -content="$@" +content="$*" + today=$(date +%d%m%y) -x "$today: $content" +x -t "$today: $content" diff --git a/.scripts/ws b/.scripts/ws new file mode 100755 index 0000000..b85e073 --- /dev/null +++ b/.scripts/ws @@ -0,0 +1,45 @@ +#!/bin/bash + +# Prerequisite tools check +[[ ! $(command -v brave) ]] && { echo "Error: 'brave' is not installed. Please install Brave Browser."; [[ $(command -v notify-send) ]] && notify-send "Error" "'brave' is not installed. Please install Brave Browser."; exit 1; } +[[ ! $(command -v monolith) ]] && { echo "Error: 'monolith' is not installed. Please install Monolith."; [[ $(command -v notify-send) ]] && notify-send "Error" "'monolith' is not installed. Please install Monolith."; exit 1; } +[[ ! $(command -v notify-send) ]] && echo "Warning: 'notify-send' is not installed. Notifications will not work." + +# Check if website URL is provided as an argument +if [ -z "$1" ]; then + echo "Usage: $0 <website-url>" + exit 1 +fi + +# Get the website URL from arguments +WEBSITE_URL="$1" + +# Define the output file name +OUTPUT_FILE="$(basename "$WEBSITE_URL").html" + +TOPIC="$2" + +# Add later +USER_AGENT= + +# Define the directory where the HTML files will be saved +OUTPUT_DIR="$HOME/read/"$TOPIC"" + +# Create the directory if it doesn't exist +mkdir -p "$OUTPUT_DIR" + +# Check if the output file already exists +if [ -e "$OUTPUT_DIR/$OUTPUT_FILE" ]; then + # If file exists, add a suffix + COUNTER=1 + while [ -e "${OUTPUT_FILE%.html}_$COUNTER.html" ]; do + COUNTER=$((COUNTER + 1)) + done + OUTPUT_FILE="${OUTPUT_FILE%.html}_$COUNTER.html" +fi + +# Use Brave in headless mode and pipe it to Monolith +brave --headless --window-size=1920,1080 --run-all-compositor-stages-before-draw --virtual-time-budget=9000 --incognito --dump-dom "$WEBSITE_URL" | monolith - -I -b "$WEBSITE_URL" -o "$OUTPUT_DIR/$OUTPUT_FILE" + +echo "HTML file saved as $OUTPUT_DIR/$OUTPUT_FILE" +notify-send "Website saved" "HTML file saved successfully as $OUTPUT_DIR/$OUTPUT_FILE" diff --git a/.scripts/ws-tofi b/.scripts/ws-tofi new file mode 100755 index 0000000..25f47c4 --- /dev/null +++ b/.scripts/ws-tofi @@ -0,0 +1,67 @@ +#!/bin/bash + +# Prerequisite tools check +[[ ! $(command -v brave) ]] && { echo "Error: 'brave' is not installed. Please install Brave Browser."; [[ $(command -v notify-send) ]] && notify-send "Error" "'brave' is not installed. Please install Brave Browser."; exit 1; } +[[ ! $(command -v monolith) ]] && { echo "Error: 'monolith' is not installed. Please install Monolith."; [[ $(command -v notify-send) ]] && notify-send "Error" "'monolith' is not installed. Please install Monolith."; exit 1; } +[[ ! $(command -v notify-send) ]] && echo "Warning: 'notify-send' is not installed. Notifications will not work." + +# Get the website URL from arguments +siteclip=$(echo -e "Yes\nNo" | tofi --prompt-text "Do you have the website link in your clipboard?") +[[ "$siteclip" == "Yes" ]] && WEBSITE_URL=$(wl-paste) || WEBSITE_URL=$(tofi --prompt-text "Enter website url:" --require-match false </dev/null) + + +[[ "$WEBSITE_URL" == "exit" ]] && echo "Exiting" && notify-send "Exiting" "Exiting the script" && exit 1 + +# Define the output file name +OUTPUT_FILE="$(basename "$WEBSITE_URL").html" + +while true; do + topicopt=$(echo -e "New\nPre-existing" | tofi --prompt-text "Do you wish to add a new topic or pre-existing topic?") + + if [[ "$topicopt" == "Pre-existing" ]]; then + # Pre-existing topic selection + TOPIC=$(find "$HOME/read" -maxdepth 1 -type d -exec basename {} \; cat - <(echo "none\nexit") | tofi --prompt-text "Choose the topic:") + + [[ "$TOPIC" == "exit" ]] && echo "Exiting" && notify-send "Exiting" "Exiting the script" && exit 1 \ + || [[ "$TOPIC" != "none" ]] && break + else + # New Topic Creation + TOPIC=$(tofi --prompt-text "Enter topic name: " --require-match=false </dev/null) + + if [[ "$TOPIC" == "none" ]]; then + TOPIC="" + break + elif [[ "$TOPIC" == "exit" ]]; then + echo "Exiting" && notify-send "Exiting" "Exiting the script" && exit 1 + elif [[ -z "$TOPIC" ]]; then + notify-send "Folder name cannot be empty." "Please enter a valid folder name." + else + break + fi + fi +done + +# Add later +USER_AGENT= + +# Define the directory where the HTML files will be saved +OUTPUT_DIR="$HOME/read/"$TOPIC"" + +# Create the directory if it doesn't exist +mkdir -p "$OUTPUT_DIR" + +# Check if the output file already exists +if [ -e "$OUTPUT_DIR/$OUTPUT_FILE" ]; then + # If file exists, add a suffix + COUNTER=1 + while [ -e "${OUTPUT_FILE%.html}_$COUNTER.html" ]; do + COUNTER=$((COUNTER + 1)) + done + OUTPUT_FILE="${OUTPUT_FILE%.html}_$COUNTER.html" +fi + +# Use Brave in headless mode and pipe it to Monolith +brave --headless --window-size=1920,1080 --run-all-compositor-stages-before-draw --virtual-time-budget=9000 --incognito --dump-dom "$WEBSITE_URL" | monolith - -I -b "$WEBSITE_URL" -o "$OUTPUT_DIR/$OUTPUT_FILE" + +echo "HTML file saved as $OUTPUT_DIR/$OUTPUT_FILE" +notify-send "Website saved" "HTML file saved successfully as $OUTPUT_DIR/$OUTPUT_FILE" |
