From e6916cabfe0093f543384b195aaddb50cb10d9dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexander=20W=C3=BChr?= Date: Mon, 2 Dec 2024 15:34:48 +0100 Subject: [PATCH] Do lots of stuff --- .gitmodules | 3 + atuin/config.toml | 228 ---------------------------- dotbot-if | 1 + fish/{config.fish => defaults.fish} | 0 install | 2 +- install.conf.yaml | 43 ++++-- wezterm/wezterm.lua | 10 -- yt-dlp/config | 2 + 8 files changed, 34 insertions(+), 255 deletions(-) delete mode 100644 atuin/config.toml create mode 160000 dotbot-if rename fish/{config.fish => defaults.fish} (100%) delete mode 100644 wezterm/wezterm.lua diff --git a/.gitmodules b/.gitmodules index 1af14d0..b8df6df 100644 --- a/.gitmodules +++ b/.gitmodules @@ -2,3 +2,6 @@ path = dotbot url = https://github.com/anishathalye/dotbot ignore = dirty +[submodule "dotbot-if"] + path = dotbot-if + url = https://github.com/wonderbeyond/dotbot-if.git diff --git a/atuin/config.toml b/atuin/config.toml deleted file mode 100644 index 240d17f..0000000 --- a/atuin/config.toml +++ /dev/null @@ -1,228 +0,0 @@ -## where to store your database, default is your system data directory -## linux/mac: ~/.local/share/atuin/history.db -## windows: %USERPROFILE%/.local/share/atuin/history.db -# db_path = "~/.history.db" - -## where to store your encryption key, default is your system data directory -## linux/mac: ~/.local/share/atuin/key -## windows: %USERPROFILE%/.local/share/atuin/key -# key_path = "~/.key" - -## where to store your auth session token, default is your system data directory -## linux/mac: ~/.local/share/atuin/session -## windows: %USERPROFILE%/.local/share/atuin/session -# session_path = "~/.session" - -## date format used, either "us" or "uk" -# dialect = "us" - -## default timezone to use when displaying time -## either "l", "local" to use the system's current local timezone, or an offset -## from UTC in the format of "<+|->H[H][:M[M][:S[S]]]" -## for example: "+9", "-05", "+03:30", "-01:23:45", etc. -# timezone = "local" - -## enable or disable automatic sync -# auto_sync = true - -## enable or disable automatic update checks -# update_check = true - -## address of the sync server -# sync_address = "https://api.atuin.sh" - -## how often to sync history. note that this is only triggered when a command -## is ran, so sync intervals may well be longer -## set it to 0 to sync after every command -# sync_frequency = "10m" - -## which search mode to use -## possible values: prefix, fulltext, fuzzy, skim -# search_mode = "fuzzy" - -## which filter mode to use -## possible values: global, host, session, directory -# filter_mode = "global" - -## With workspace filtering enabled, Atuin will filter for commands executed -## in any directory within a git repository tree (default: false) -# workspaces = false - -## which filter mode to use when atuin is invoked from a shell up-key binding -## the accepted values are identical to those of "filter_mode" -## leave unspecified to use same mode set in "filter_mode" -# filter_mode_shell_up_key_binding = "global" - -## which search mode to use when atuin is invoked from a shell up-key binding -## the accepted values are identical to those of "search_mode" -## leave unspecified to use same mode set in "search_mode" -# search_mode_shell_up_key_binding = "fuzzy" - -## which style to use -## possible values: auto, full, compact -style = "auto" - -## the maximum number of lines the interface should take up -## set it to 0 to always go full screen -inline_height = 0 - -## Invert the UI - put the search bar at the top , Default to `false` -# invert = false - -## enable or disable showing a preview of the selected command -## useful when the command is longer than the terminal width and is cut off -# show_preview = true - -## what to do when the escape key is pressed when searching -## possible values: return-original, return-query -# exit_mode = "return-original" - -## possible values: emacs, subl -# word_jump_mode = "emacs" - -## characters that count as a part of a word -# word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" - -## number of context lines to show when scrolling by pages -# scroll_context_lines = 1 - -## use ctrl instead of alt as the shortcut modifier key for numerical UI shortcuts -## alt-0 .. alt-9 -# ctrl_n_shortcuts = false - -## default history list format - can also be specified with the --format arg -# history_format = "{time}\t{command}\t{duration}" - -## prevent commands matching any of these regexes from being written to history. -## Note that these regular expressions are unanchored, i.e. if they don't start -## with ^ or end with $, they'll match anywhere in the command. -## For details on the supported regular expression syntax, see -## https://docs.rs/regex/latest/regex/#syntax -# history_filter = [ -# "^secret-cmd", -# "^innocuous-cmd .*--secret=.+", -# ] - -## prevent commands run with cwd matching any of these regexes from being written -## to history. Note that these regular expressions are unanchored, i.e. if they don't -## start with ^ or end with $, they'll match anywhere in CWD. -## For details on the supported regular expression syntax, see -## https://docs.rs/regex/latest/regex/#syntax -# cwd_filter = [ -# "^/very/secret/area", -# ] - -## Configure the maximum height of the preview to show. -## Useful when you have long scripts in your history that you want to distinguish -## by more than the first few lines. -# max_preview_height = 4 - -## Configure whether or not to show the help row, which includes the current Atuin -## version (and whether an update is available), a keymap hint, and the total -## amount of commands in your history. -# show_help = true - -## Configure whether or not to show tabs for search and inspect -# show_tabs = true - -## Defaults to true. This matches history against a set of default regex, and will not save it if we get a match. Defaults include -## 1. AWS key id -## 2. Github pat (old and new) -## 3. Slack oauth tokens (bot, user) -## 4. Slack webhooks -## 5. Stripe live/test keys -# secrets_filter = true - -## Defaults to true. If enabled, upon hitting enter Atuin will immediately execute the command. Press tab to return to the shell and edit. -# This applies for new installs. Old installs will keep the old behaviour unless configured otherwise. -enter_accept = true - -## Defaults to "emacs". This specifies the keymap on the startup of `atuin -## search`. If this is set to "auto", the startup keymap mode in the Atuin -## search is automatically selected based on the shell's keymap where the -## keybinding is defined. If this is set to "emacs", "vim-insert", or -## "vim-normal", the startup keymap mode in the Atuin search is forced to be -## the specified one. -# keymap_mode = "auto" - -## Cursor style in each keymap mode. If specified, the cursor style is changed -## in entering the cursor shape. Available values are "default" and -## "{blink,steady}-{block,underline,bar}". -# keymap_cursor = { emacs = "blink-block", vim_insert = "blink-block", vim_normal = "steady-block" } - -# network_connect_timeout = 5 -# network_timeout = 5 - -## Timeout (in seconds) for acquiring a local database connection (sqlite) -# local_timeout = 5 - -## Set this to true and Atuin will minimize motion in the UI - timers will not update live, etc. -## Alternatively, set env NO_MOTION=true -# prefers_reduced_motion = false - -[stats] -## Set commands where we should consider the subcommand for statistics. Eg, kubectl get vs just kubectl -common_subcommands = [ - # "apt", - "cargo", - "docker", - "composer", - # "dnf",true - "git", - # "go", - # "ip", - # "kubectl", - # "nix", - # "nmcli", - # "npm", - # "pecl", - # "pnpm", - # "podman", - # "port", - # "systemctl", - # "tmux", - # "yarn", -] - -## Set commands that should be totally stripped and ignored from stats -common_prefix = ["sudo"] - -## Set commands that will be completely ignored from stats -ignored_commands = ["cd", "ls", "ll", "vi"] - -[keys] -# Defaults to true. If disabled, using the up/down key won't exit the TUI when scrolled past the first/last entry. -# scroll_exits = false - -[sync] -# Enable sync v2 by default -# This ensures that sync v2 is enabled for new installs only -# In a later release it will become the default across the board -records = true - -[preview] -## which preview strategy to use to calculate the preview height (respects max_preview_height). -## possible values: auto, static -## auto: length of the selected command. -## static: length of the longest command stored in the history. -# strategy = "auto" - -[daemon] -## Enables using the daemon to sync. Requires the daemon to be running in the background. Start it with `atuin daemon` -# enabled = false - -## How often the daemon should sync in seconds -# sync_frequency = 300 - -## The path to the unix socket used by the daemon (on unix systems) -## linux/mac: ~/.local/share/atuin/atuin.sock -## windows: Not Supported -# socket_path = "~/.local/share/atuin/atuin.sock" - -## Use systemd socket activation rather than opening the given path (the path must still be correct for the client) -## linux: false -## mac/windows: Not Supported -# systemd_socket = false - -## The port that should be used for TCP on non unix systems -# tcp_port = 8889 diff --git a/dotbot-if b/dotbot-if new file mode 160000 index 0000000..28b2fc6 --- /dev/null +++ b/dotbot-if @@ -0,0 +1 @@ +Subproject commit 28b2fc6042eff75b4190cccf70357e4b8346cf76 diff --git a/fish/config.fish b/fish/defaults.fish similarity index 100% rename from fish/config.fish rename to fish/defaults.fish diff --git a/install b/install index 5a7e72c..84b8eb3 100755 --- a/install +++ b/install @@ -12,4 +12,4 @@ cd "${BASEDIR}" git -C "${DOTBOT_DIR}" submodule sync --quiet --recursive git submodule update --init --recursive "${DOTBOT_DIR}" -"${BASEDIR}/${DOTBOT_DIR}/${DOTBOT_BIN}" -d "${BASEDIR}" -c "${CONFIG}" "${@}" +"${BASEDIR}/${DOTBOT_DIR}/${DOTBOT_BIN}" -d "${BASEDIR}" -c "${CONFIG}" -p dotbot-if/if.py "${@}" diff --git a/install.conf.yaml b/install.conf.yaml index d2d010e..c627f38 100644 --- a/install.conf.yaml +++ b/install.conf.yaml @@ -5,27 +5,38 @@ - clean: ["~"] - create: - - ~/.config/atuin - - ~/.config/fish - - ~/.config/git - - ~/.config/wezterm - - ~/.config/yt-dlp + - ~/.config/git + - ~/.config/yt-dlp + +- shell: + - touch ~/.netrc + +- if: + - cond: "which fish" + met: + - create: ~/.config/fish/conf.d + - link: + ~/.config/fish/conf.d: + path: fish/** + glob: true + - shell: + - fish -c "curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher" + - fisher install fischerling/plugin-wd + - fisher install acomagu/fish-async-prompt + + - cond: "which starship" + met: + - shell: + - "starship init fish > ~/.config/fish/conf.d/starship.fish" + - link: + ~/.config/starship.toml: + path: config/starship.toml - link: - ~/.config/starship.toml: - path: config/starship.toml - ~/.config/atuin: - path: atuin/** - glob: true ~/.config/git: path: git/** glob: true - ~/.config/fish: - path: fish/** - glob: true - ~/.config/wezterm: - path: wezterm/* - glob: true + ~/.config/yt-dlp: path: yt-dlp/* glob: true diff --git a/wezterm/wezterm.lua b/wezterm/wezterm.lua deleted file mode 100644 index f248e9a..0000000 --- a/wezterm/wezterm.lua +++ /dev/null @@ -1,10 +0,0 @@ -local wezterm = require 'wezterm' -local config = wezterm.config_builder() - -config.color_scheme = 'nord' - -config.hide_tab_bar_if_only_one_tab = true -config.use_fancy_tab_bar = false -config.font_size = 10.0 - -return config \ No newline at end of file diff --git a/yt-dlp/config b/yt-dlp/config index d66f283..22b3bde 100644 --- a/yt-dlp/config +++ b/yt-dlp/config @@ -1,3 +1,5 @@ --add-metadata -S "ext" -f "bv*[height<=1080]+ba/b[height<=1080] / wv*+ba/w" +--restricted +--netrc