Compare commits

..

86 Commits

Author SHA1 Message Date
2e9e3a68b9 Add bash completion sourcing, with cache 2025-04-04 17:53:07 +00:00
5c9a4802cb Fix kubeconfig xdg confg 2025-04-04 17:53:07 +00:00
b4d0925afc Add script to symlink to old paths for legacy support 2025-04-04 17:53:07 +00:00
c2fbd61445 XDGify kubernetes config 2025-04-04 17:53:07 +00:00
f7627194db Support nix XDG pathing 2025-04-04 17:53:07 +00:00
e04bcc547b Add XDG support 2025-04-04 17:53:07 +00:00
f71b17e5ff Add gitconfig in xdg location
Recommendations came from this blog post:
    https://blog.gitbutler.com/how-git-core-devs-configure-git/

Let's see how this works out lol

Test
2025-04-04 17:53:07 +00:00
9db303ec84 Add xdg-utils 2025-04-04 17:53:07 +00:00
97923e802e Make screen default to bash explicitly
Implictly I've never needed this as my user shell has always been bash
but in some containers recently the default shell is /bin/sh
2025-04-04 17:53:07 +00:00
34b914314c Remove vim classic and add screen to standard utils 2025-04-04 17:53:07 +00:00
71a88388f8 Re-enable slow packages that have to be compiled from source 2025-04-04 17:53:07 +00:00
cf80d4a447 Update nix to 2.24.12 which is the current stable 2025-04-04 17:53:07 +00:00
fe65a36685 Source nix profile after installing nix 2025-04-04 17:53:07 +00:00
29e48a870f Update dotfile application to check for prereqs 2025-04-04 17:53:07 +00:00
4c6b31041a Refactor profile flake installer
Add support for exporting to archive.nar
Add support for importing from an archive.nar
Add simple support for adding a flake.lock
2025-04-04 17:53:07 +00:00
8505ed15b8 Conditionally source nix-profile if needed on non-nixos machines 2025-04-04 17:53:07 +00:00
ee73f0ae57 Refactor code so coder_template_type is considered 2025-04-04 17:53:07 +00:00
c143c1e459 In a devcontainer setup install nix packages 2025-04-04 17:53:07 +00:00
28d0942bb9 Add distrobox 2025-04-04 17:53:07 +00:00
d84b40efb8 Add zk for zettelkansten notes 2025-04-04 17:53:07 +00:00
7d4d36520b Add terraform LSP/config 2025-04-04 17:53:07 +00:00
75b1b57727 Fix .bashrc 2025-04-04 17:53:07 +00:00
85679ad72e Improve Xtrace by hiding output of prompt commands 2025-04-04 17:53:07 +00:00
b7a4fa9001 Add python + LSP + gitlab-ci-local tool 2025-04-04 17:53:07 +00:00
b09c0d2b7b Adjust PS1 for distrobox containers 2025-04-04 17:53:07 +00:00
10258de0ab Add nvim zk plugin 2025-04-04 17:53:07 +00:00
4c5371a8c2 Add vim option select to shell profile 2025-04-04 17:53:07 +00:00
79d492df92 Update colorscheme fix to be conditional on neovim version 2025-04-04 17:53:07 +00:00
361fa87e99 Refactor KDE to use konsave 2025-04-04 17:53:07 +00:00
7e0a278f49 Fix colorscheme for neovim v0.10+ 2025-04-04 17:53:07 +00:00
09c4a473bd Add vim-gitgutter to configuration 2025-04-04 17:53:07 +00:00
cbe60343ad Update removal for newer nix profile output 2025-04-04 17:53:07 +00:00
2ba08d2efb Update language servers/dev tools 2025-04-04 17:53:07 +00:00
009bb52681 Update nix to 2.18.7 and conditionally add ssl-cert to conf.nix 2025-04-04 17:53:07 +00:00
387a6273a2 Add solargraph 2025-04-04 17:53:07 +00:00
36ec95006e Attempt to fix pinentry on non-nixos 2025-04-04 17:53:07 +00:00
db55b56b85 Add nix-shell prompt condition 2025-04-04 17:53:07 +00:00
5c7fbbd20f More screen improvements 2025-04-04 17:53:07 +00:00
23643a0850 Add ruby by default 2025-04-04 17:53:07 +00:00
4c18b9aaa2 Extend default scrollback for screen 2025-04-04 17:53:07 +00:00
9bc4faf1d3 Move vim option select to execute logic at alias def time
Using the function would cause problems when trying to perform a `sudo
vim`. The sudo command would run in a root shell which does not have my
shells functions (but does have it's aliases) so then any attempt to
sudo vim would fail with "vim_option_select: command not found"
2025-04-04 17:53:07 +00:00
9f0fedd00d Improve highlighting on selected pmenu 2025-04-04 17:53:07 +00:00
f61de6afa2 Update flakes to support 24.05 and unstable branches 2025-04-04 17:53:07 +00:00
f4a32f1a69 Ensure persistent history exists 2025-04-04 17:53:07 +00:00
f6b76ee9d1 Improve escaping for PS1 2025-04-04 17:53:07 +00:00
d5c15d2302 Fix for vim colorscheme
LSP diagnostics use the same coloration as menu completion, which I had
_mostly_ ignored for a long time because while black on magenta is bad,
most of the text was black. Now that LSP is trying to use it, it then
rehighlights the text within the box many colors and then having magenta
as a background is bad
2025-04-04 17:53:07 +00:00
afbe10737e Improve default window name for slime 2025-04-04 17:53:07 +00:00
36ceabb857 Attempt to automatically extract session name from curren screen session 2025-04-04 17:53:07 +00:00
1f42f0e909 Don't do weird things with autocmd 2025-04-04 17:53:07 +00:00
cfcc2bd943 Update regex to match new direnv versions 2025-04-04 17:53:07 +00:00
ef429f5e5e Add basic autocmds to wrap on markdown and open logs at the end 2025-04-04 17:53:07 +00:00
741d96cdd4 Merge branch 'master' of https://git.nixy.moe/nixy/dotfiles 2025-04-04 17:48:19 +00:00
c14fe5451f Merge branch 'master' of https://git.nixy.moe/nixy/dotfiles 2025-04-04 17:47:21 +00:00
1d6d53e580 Make a root single user nix install possible
Taken from this issue https://github.com/NixOS/nix/issues/1559

This is only so that the script will succeed when running in docker
containers without systemd (can't use multi-user) and that have root as
the default user, a shockingly common practice
2025-04-04 17:47:21 +00:00
8e1877f9e8 Added conditional coloring of bash prompt dependent on direnv status 2025-04-04 17:47:21 +00:00
6565a041e1 Automatically install coder in nix environments 2025-04-04 17:47:21 +00:00
4385fa7c01 Remove vestigial vagrant reference 2025-04-04 17:47:21 +00:00
d5b8675fef Add installers for common programs to bring along 2025-04-04 17:47:21 +00:00
247417af95 Make direnv prompt updating conditional to direnv's presence 2025-04-04 17:47:21 +00:00
6d2071b1ea Fix Direnv prompt whenver off primary hosts 2025-04-04 17:47:21 +00:00
bd497a668d Beginner luasnip configuration for terraform 2025-04-04 17:47:21 +00:00
e931cb3c81 Option select on tput working or use old fallback control codes 2025-04-04 17:47:21 +00:00
e332049a0d Attempt to fix recursive cloning for submodules 2025-04-04 17:47:21 +00:00
e68ccd8bc7 Add a vim option select 2025-04-04 17:47:21 +00:00
e80f4e87e7 Option select on tput working or use old fallback control codes 2025-04-04 17:47:20 +00:00
d682e91d6d Move persistent history to more appropriate location 2025-04-04 17:47:20 +00:00
9455e8c6a9 Attempt to fix recursive cloning for submodules 2025-04-04 17:47:20 +00:00
c98ea52dbb Update git plugins 2025-04-04 17:47:20 +00:00
a2a8cd16cb Add a vim option select 2025-04-04 17:47:20 +00:00
912f5aa0b5 Improve bash history, add persistent history file 2025-04-04 17:47:20 +00:00
4ed509fee6 Alias cat to always add a newline
Sometimes if a file doesn't have a newline cat will not do one, causing
prompt strangeness
2025-04-04 17:47:20 +00:00
7b33bf13f9 Add aliases for easy searching of history 2025-04-04 17:47:20 +00:00
4bfa9995cd Add readline shortcuts for improved history searching 2025-04-04 17:47:20 +00:00
81202b5968 Address issues that cause shell lines to break 2025-04-04 17:47:20 +00:00
67d46f99c7 Beginning binding/config for luasnip 2025-04-04 17:47:20 +00:00
8b29c959fb Split up neonvim configuration into lua files rather than lua heredoc 2025-04-04 17:47:20 +00:00
710b0f9cdf Pin plugins to specific tagged versions rather than master + add luasnip 2025-04-04 17:47:20 +00:00
ccfa18b331 Update plugins 2025-04-04 17:47:20 +00:00
d60bc2772f Update lspconfig 2025-04-04 17:47:20 +00:00
dfb0c08a0f Add conditional SSH config construction 2025-04-04 17:47:20 +00:00
b7886df942 Update plugins 2025-04-04 17:47:20 +00:00
330e88fbf3 More neovim testing 2025-04-04 17:47:20 +00:00
914afec926 Begin to examine neovim config 2025-04-04 17:47:20 +00:00
59d618b9f2 Add support for progressive neovimming 2025-04-04 17:47:20 +00:00
9733251bfc Set hostname in prompt if through SSH 2025-04-04 17:47:20 +00:00
a9da299120 Add firefox as BROWSER 2025-04-04 17:47:20 +00:00
2 changed files with 54 additions and 0 deletions

View File

@ -133,6 +133,59 @@ if [ -f "$HOME/.private_functions" ] && [ -r "$HOME/.private_functions" ]; then
. "$HOME/.private_functions"
fi
source_completions() {
# Source completions if they are available
completion_dirs=(
"/usr/share/bash-completion/completions"
"/etc/bash_completion.d"
)
cache_dir="${XDG_CACHE_HOME}/bash-completion-sourcing"
if [ "${BUILD_CACHE}" ]; then
mkdir -p "${cache_dir}"
fi
# Base completion sourcing, later completions will fail without this
if [ -r "/usr/share/bash-completion/bash_completion" ]; then
. "/usr/share/bash-completion/bash_completion"
elif [ -r "/etc/bash_completion" ]; then
. "/etc/bash_completion"
fi
# Completions from packages
export TIMEFORMAT="%R"
for completion_dir in "${completion_dirs[@]}"; do
if [ -d "${completion_dir}" ] && [ -r "${completion_dir}" ]; then
for completion_file in "${completion_dir}"/*; do
if [ "$BUILD_CACHE" ]; then
echo "Sourcing ${completion_file}"
. "${completion_file}"
timeavg=$(time (. "${completion_file}") 2>&1 1>/dev/null)
timeavg=$(echo $timeavg | cut -d '.' -f 2)
if [ "${timeavg}" -gt 100 ]; then
echo "This ones slow, adding to cache"
echo "${timeavg}" > "${cache_dir}/$(basename ${completion_file})"
elif [ "${timeavg}" -gt 10 ]; then
echo "This ones a little slow"
echo "${timeavg}"
fi
else
if ! [ -e "${cache_dir}/$(basename ${completion_file})" ]; then
. "${completion_file}"
else
:
fi
fi
done
fi
done
unset TIMEFORMAT
}
if [ "$BASH_COMPLETION_ENABLED" ]; then
source_completions
fi
# Preserve the usefulness of set -x by attempting to hide everything that
# happens in prompt_command
preserve_xtrace() {

View File

@ -6,6 +6,7 @@ set -ex
echo "PWD: $PWD"
# Coder dotfiles (and most other ways of doing this) will not do a recursive clone, so do that in install script.
git submodule init && git submodule update
# Match case insensitively to make things easier for this part
shopt -s nocasematch