mirror of
https://github.com/xHyroM/dotfiles.git
synced 2024-11-22 06:31:06 +01:00
feat: goog (#1)
This commit is contained in:
commit
c3212b6149
15 changed files with 195 additions and 6 deletions
3
.bashrc
3
.bashrc
|
@ -41,3 +41,6 @@ rbenv() {
|
||||||
export NVM_DIR="$HOME/.nvm"
|
export NVM_DIR="$HOME/.nvm"
|
||||||
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||||
|
|
||||||
|
# moon
|
||||||
|
export PATH="$HOME/.moon/bin:$PATH"
|
||||||
|
|
|
@ -3,7 +3,7 @@ require("presence").setup({
|
||||||
neovim_image_text = "Neovim", -- Text displayed when hovered over the Neovim image
|
neovim_image_text = "Neovim", -- Text displayed when hovered over the Neovim image
|
||||||
main_image = "neovim", -- Main image display (either "neovim" or "file")
|
main_image = "neovim", -- Main image display (either "neovim" or "file")
|
||||||
client_id = "793271441293967371", -- Use your own Discord application client id (not recommended)
|
client_id = "793271441293967371", -- Use your own Discord application client id (not recommended)
|
||||||
log_level = nil, -- Log messages at or above this level (one of the following: "debug", "info", "warn", "error")
|
log_level = "debug", -- Log messages at or above this level (one of the following: "debug", "info", "warn", "error")
|
||||||
debounce_timeout = 10, -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(<filename>, true)`)
|
debounce_timeout = 10, -- Number of seconds to debounce events (or calls to `:lua package.loaded.presence:update(<filename>, true)`)
|
||||||
enable_line_number = false, -- Displays the current line number instead of the current project
|
enable_line_number = false, -- Displays the current line number instead of the current project
|
||||||
blacklist = {}, -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches
|
blacklist = {}, -- A list of strings or Lua patterns that disable Rich Presence if the current file name, path, or workspace matches
|
||||||
|
|
|
@ -24,8 +24,9 @@ return require("packer").startup(function(use)
|
||||||
use "theprimeagen/harpoon"
|
use "theprimeagen/harpoon"
|
||||||
use "mbbill/undotree"
|
use "mbbill/undotree"
|
||||||
use "tpope/vim-fugitive"
|
use "tpope/vim-fugitive"
|
||||||
use "andweeb/presence.nvim"
|
use "jiriks74/presence.nvim"
|
||||||
use "wakatime/vim-wakatime"
|
use "wakatime/vim-wakatime"
|
||||||
|
use "github/copilot.vim"
|
||||||
|
|
||||||
use {
|
use {
|
||||||
'nvim-lualine/lualine.nvim',
|
'nvim-lualine/lualine.nvim',
|
||||||
|
|
|
@ -89,6 +89,11 @@ _G.packer_plugins = {
|
||||||
path = "/home/hyro/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
|
path = "/home/hyro/.local/share/nvim/site/pack/packer/start/cmp-nvim-lsp",
|
||||||
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
|
url = "https://github.com/hrsh7th/cmp-nvim-lsp"
|
||||||
},
|
},
|
||||||
|
["copilot.vim"] = {
|
||||||
|
loaded = true,
|
||||||
|
path = "/home/hyro/.local/share/nvim/site/pack/packer/start/copilot.vim",
|
||||||
|
url = "https://github.com/github/copilot.vim"
|
||||||
|
},
|
||||||
harpoon = {
|
harpoon = {
|
||||||
loaded = true,
|
loaded = true,
|
||||||
path = "/home/hyro/.local/share/nvim/site/pack/packer/start/harpoon",
|
path = "/home/hyro/.local/share/nvim/site/pack/packer/start/harpoon",
|
||||||
|
@ -153,7 +158,7 @@ _G.packer_plugins = {
|
||||||
["presence.nvim"] = {
|
["presence.nvim"] = {
|
||||||
loaded = true,
|
loaded = true,
|
||||||
path = "/home/hyro/.local/share/nvim/site/pack/packer/start/presence.nvim",
|
path = "/home/hyro/.local/share/nvim/site/pack/packer/start/presence.nvim",
|
||||||
url = "https://github.com/andweeb/presence.nvim"
|
url = "https://github.com/jiriks74/presence.nvim"
|
||||||
},
|
},
|
||||||
["telescope.nvim"] = {
|
["telescope.nvim"] = {
|
||||||
loaded = true,
|
loaded = true,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
tint2 &
|
tint2 &
|
||||||
xcompmgr &
|
xcompmgr &
|
||||||
nitrogen --restore
|
xwallpaper --zoom ~/Pictures/Th0q7eQ.jpg
|
||||||
xrandr --output eDP-1 --auto --output HDMI-1 --mode 1920x1080 --rate 144 --primary --left-of eDP-1
|
xrandr --output eDP-1 --auto --output HDMI-1 --mode 1920x1080 --rate 144 --primary --left-of eDP-1
|
||||||
xbindkeys
|
xbindkeys
|
||||||
xinput --set-prop "pointer:Razer Razer DeathAdder Essential" "libinput Accel Speed" -0.85
|
xinput --set-prop "pointer:Razer Razer DeathAdder Essential" "libinput Accel Speed" -0.85
|
||||||
|
|
|
@ -12,9 +12,12 @@
|
||||||
</startupnotify>
|
</startupnotify>
|
||||||
</action>
|
</action>
|
||||||
</item>
|
</item>
|
||||||
<item label="intellij">
|
<item label="idea">
|
||||||
<action name="Execute"><command>idea</command></action>
|
<action name="Execute"><command>idea</command></action>
|
||||||
</item>
|
</item>
|
||||||
|
<item label="zed">
|
||||||
|
<action name="Execute"><command>zed</command></action>
|
||||||
|
</item>
|
||||||
</menu>
|
</menu>
|
||||||
|
|
||||||
<menu id="apps-games-menu" label="Games">
|
<menu id="apps-games-menu" label="Games">
|
||||||
|
|
|
@ -5,6 +5,7 @@ pulse.rules = [
|
||||||
# Disable mic auto gain for some applications
|
# Disable mic auto gain for some applications
|
||||||
matches = [
|
matches = [
|
||||||
{ application.process.binary = "chrome" }
|
{ application.process.binary = "chrome" }
|
||||||
|
{ application.process.binary = "chromium" }
|
||||||
{ application.process.binary = "Discord" }
|
{ application.process.binary = "Discord" }
|
||||||
{ application.process.binary = "teams" }
|
{ application.process.binary = "teams" }
|
||||||
{ application.process.binary = "skypeforlinux" }
|
{ application.process.binary = "skypeforlinux" }
|
||||||
|
|
56
.config/zed/settings.json
Normal file
56
.config/zed/settings.json
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
// Zed settings
|
||||||
|
//
|
||||||
|
// For information on how to configure Zed, see the Zed
|
||||||
|
// documentation: https://zed.dev/docs/configuring-zed
|
||||||
|
//
|
||||||
|
// To see all of Zed's default settings without changing your
|
||||||
|
// custom settings, run the `open default settings` command
|
||||||
|
// from the command palette or from `Zed` application menu.
|
||||||
|
{
|
||||||
|
"theme": "One Dark",
|
||||||
|
"ui_font_size": 15,
|
||||||
|
"buffer_font_size": 14,
|
||||||
|
// Mine
|
||||||
|
"format_on_save": "on",
|
||||||
|
"terminal": {
|
||||||
|
"font_family": "DejaVuSansM Nerd Font",
|
||||||
|
"line_height": "standard",
|
||||||
|
"font_size": 15
|
||||||
|
},
|
||||||
|
"project_panel": {
|
||||||
|
"default_width": 320
|
||||||
|
},
|
||||||
|
// ruby
|
||||||
|
"lsp": {
|
||||||
|
"solargraph": {
|
||||||
|
"initialization_options": {
|
||||||
|
"diagnostics": true,
|
||||||
|
"formatting": false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// The following settings have been changed from the upstream defaults to
|
||||||
|
// improve security and privacy. Here are the upstream defaults, you can
|
||||||
|
// uncomment them if you like.
|
||||||
|
//
|
||||||
|
// "features": {
|
||||||
|
// // Enable copilot (provided by an online service).
|
||||||
|
// "copilot": true,
|
||||||
|
// "inline_completion_provider": "copilot"
|
||||||
|
// },
|
||||||
|
// "assistant": {
|
||||||
|
// "version": "1",
|
||||||
|
// // Enable the assistant (provided by an online service).
|
||||||
|
// "enabled": true
|
||||||
|
// },
|
||||||
|
// "telemetry": {
|
||||||
|
// // Send debug info like crash reports to Zed Industries.
|
||||||
|
// "diagnostics": true,
|
||||||
|
// // Send anonymized usage data like what languages you're using Zed with
|
||||||
|
// // to Zed Industries.
|
||||||
|
// "metrics": true
|
||||||
|
// },
|
||||||
|
// "journal": {
|
||||||
|
// "hour_format": "hour12"
|
||||||
|
// }
|
||||||
|
}
|
8
.local/bin/yarn
Executable file
8
.local/bin/yarn
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [[ $1 == "build" ]]; then
|
||||||
|
bun run $@
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
bun $@
|
12
README.md
12
README.md
|
@ -1 +1,11 @@
|
||||||
This repository contains my configs, themes and other stuff that I'm using on void linux.
|
# <img src="https://voidlinux.org/assets/img/void_bg.png" width="24" /> Void Linux Configuration
|
||||||
|
|
||||||
|
My configuration files, themes and other stuff I daily use on my machine.
|
||||||
|
|
||||||
|
### How to synchronize?
|
||||||
|
|
||||||
|
You can use [goog](./goog) for automatic synchronization. Option `-s` forces goog to copy all dotfiles into directories.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
$ ./goog -s
|
||||||
|
```
|
||||||
|
|
1
common/.gitignore
vendored
Normal file
1
common/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
||||||
|
__pycache__
|
23
common/dump.py
Normal file
23
common/dump.py
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
from glob import glob
|
||||||
|
import shutil
|
||||||
|
import os
|
||||||
|
|
||||||
|
def dump(stuff: list[str]):
|
||||||
|
for pattern in stuff:
|
||||||
|
expand = os.path.expanduser(pattern)
|
||||||
|
|
||||||
|
for path in glob(expand, recursive=True):
|
||||||
|
normalized_path = path.removeprefix(os.path.expanduser("~/"))
|
||||||
|
if os.path.isdir(path):
|
||||||
|
if os.path.exists(normalized_path):
|
||||||
|
shutil.rmtree(normalized_path)
|
||||||
|
|
||||||
|
os.makedirs(normalized_path)
|
||||||
|
else:
|
||||||
|
dirname = os.path.dirname(normalized_path)
|
||||||
|
if dirname:
|
||||||
|
os.makedirs(dirname, exist_ok=True)
|
||||||
|
|
||||||
|
shutil.copy2(path, normalized_path)
|
||||||
|
|
||||||
|
exit(1)
|
31
common/sync.py
Normal file
31
common/sync.py
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
from glob import glob
|
||||||
|
import shutil
|
||||||
|
import os
|
||||||
|
|
||||||
|
def sync(stuff: list[str]):
|
||||||
|
for pattern in stuff:
|
||||||
|
normalized_pattern = pattern.removeprefix("~")
|
||||||
|
normalized_pattern = normalized_pattern.removeprefix("/")
|
||||||
|
pattern_prefix = pattern[:2] if pattern.startswith("~") else pattern[0]
|
||||||
|
overwrite = False
|
||||||
|
|
||||||
|
for path in glob(normalized_pattern, recursive=True):
|
||||||
|
|
||||||
|
system_path = os.path.expanduser(pattern_prefix + path)
|
||||||
|
if os.path.isdir(path):
|
||||||
|
os.makedirs(system_path, exist_ok=True)
|
||||||
|
else:
|
||||||
|
print(f":: Copying {path} to {system_path}")
|
||||||
|
if os.path.exists(system_path) and not overwrite:
|
||||||
|
print(f":: Path {system_path} already exists. Do you want to overwrite it with {path}? y/n/a")
|
||||||
|
|
||||||
|
ask = input()
|
||||||
|
if ask not in ("y", "a"):
|
||||||
|
continue
|
||||||
|
|
||||||
|
overwrite = ask == "a"
|
||||||
|
|
||||||
|
shutil.copy2(path, system_path)
|
||||||
|
|
||||||
|
|
||||||
|
exit(1)
|
15
common/util.py
Normal file
15
common/util.py
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
import re
|
||||||
|
|
||||||
|
def expand(pattern: str) -> list[str]:
|
||||||
|
match = re.search(r'\{([^{}]*)\}', pattern)
|
||||||
|
if not match:
|
||||||
|
return [pattern]
|
||||||
|
|
||||||
|
pre, post = pattern[:match.start()], pattern[match.end():]
|
||||||
|
options = match.group(1).split(',')
|
||||||
|
|
||||||
|
expanded_patterns = []
|
||||||
|
for option in options:
|
||||||
|
expanded_patterns.extend(expand(pre + option + post))
|
||||||
|
|
||||||
|
return expanded_patterns
|
32
goog
Executable file
32
goog
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
from getopt import getopt
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from common.dump import dump
|
||||||
|
from common.sync import sync
|
||||||
|
from common.util import expand
|
||||||
|
|
||||||
|
stuff: list[str] = [
|
||||||
|
*expand("~/.config/{kitty,nvim,openbox,pipewire,tint2,zed}/**"),
|
||||||
|
"~/.config/starship.toml",
|
||||||
|
"~/.themes/**",
|
||||||
|
*expand("~/.local/bin/{yarn}"),
|
||||||
|
"~/.bashrc",
|
||||||
|
"~/.xbindkeysrc"
|
||||||
|
]
|
||||||
|
|
||||||
|
options, _ = getopt(sys.argv[1:], "ds", ["dump", "sync"])
|
||||||
|
|
||||||
|
for option, _ in options:
|
||||||
|
if option in ("-d", "--dump"):
|
||||||
|
dump(stuff)
|
||||||
|
break
|
||||||
|
|
||||||
|
if option in ("-s", "--sync"):
|
||||||
|
sync(stuff)
|
||||||
|
break
|
||||||
|
|
||||||
|
print("Usage: ./goog [-d | --dump] [-s | --sync]\n")
|
||||||
|
print("A simple tool for dumping dotfiles and syncing them")
|
||||||
|
exit(1)
|
Loading…
Reference in a new issue