Git Product home page Git Product logo

configs's People

Contributors

matyama avatar

Stargazers

 avatar

Watchers

 avatar  avatar

configs's Issues

Automatically upgrade tools managed by sdk and binenv

Extend upgrade script to automatically detect new versions of tools/programs/libraries managed by sdk and binenv and install them in one go with other package manages.

  • Automatically upgrade sdk tools
  • Automatically upgrade binenv tools

Duplicate krew home in PATH

$HOME/.krew seems to be duplicate in $PATH There might be two reasons why this happens

  1. either ~/.zshenv is executed twice
  2. or binenv install krew creates a hook to add it to PATH and export in .zshenv is thus unnecessary

Find `xdotool` alternative for Wayland

xdotool, as the name suggests, only supports X11. Because Ubuntu 22.04 (LTS) now ships with Wayland as the default WM, there are some tools affected by this change - i.e. not working anymore.

Currently this affects mainly the alacritty_toggle.sh script which utilizes following xdotool commands:

  • search with --pid and --onlyvisible options to lookup window ID based on PID
  • getwindowfocus to get the ID of currently focused window
  • windowactivate to bring up a window (and potentially switch to another display the window is on)
  • windowmap / windowunmap to show/hide a window

Possible alternatives:

  • ydotool - supports only commands: type, key, mousemove, click
  • wtype - only xdotool type, compositor needs to support the virtual-keyboard-unstable-v1 protocol but mutter (gnome) does not currently support it
  • wlrctl - requires wlroots

Use only Base16 colors in p10k config

p10k.zsh should only use BASE16_BASE* variables when setting background/foreground colors. d123775 introduces these variables and used them in the most important cases but not all.

Replace all remaining hard-coded values by BASE16_BASE*. See these occurrences by running:

rg '(FOREGROUND|BACKGROUND|COLOR)=\d+$' .config/zsh/p10k.zsh

Initial PAM setup

Current docs and impl. says:

After linking .pam_environment for the first time, one should manually update /etc/pam.d/login according to these instructions.

It would be nice to have this automated.

Unclutter HOME by conforming to XDG specification

Unclutter $HOME directory by moving config files to XDG_CONFIG_HOME, XDG_DATA_HOME and/or XDG_CACHE_HOME.

See Arch's docs on XDG support.

This is a tracking issue for following apps/tools:

  • ~/.gitconfig - move to $XDG_CONFIG_HOME/git/config
  • direnv: https://github.com/direnv/direnv#the-stdlib
  • ~/.binenv
  • byobu - see docs on BYOBU_CONFIG_DIR
  • zsh
  • ~/.oh-my-zsh
  • .p10k.zsh: use POWERLEVEL9K_CONFIG_FILE
  • ~/.poetry
  • ~/.npm
  • Haskell: ghcup (ghc, cabal) see: https://www.haskell.org/ghcup/guide/#xdg-support
  • Haskell: stack
  • ~/.helm
  • ~/.minikube
  • ~/.kube - hard-coded, there's an open issue
  • ~/.rustup - not yet supported out-of-the-box, set RUSTUP_HOME
  • ~/.cargo - not yet supported out-of-the-box, set CARGO_HOME
  • ~/.sdkman and possibly managed JVM components: Java, Scala, Kotlin, kscript, maven, gradle
  • ~/.java
  • ~/.sbt and ~/.ivy2 - still an open issue but there's a workaround run sbt with -ivy and -sbt-dir pointing to XDG_DATA_HOME locations
  • ~/.kscript - set KSCRIPT_CACHE_DIR
  • ~/.m2 - use custom settings.xml and follow current workaround
  • ~/.gradle - set GRADLE_USER_HOME
  • ~/go - not yet supported out-of-the-box, set GOPATH
  • ~/.gem (ruby)
  • ~/.travis/
  • ~/.aws - set AWS_SHARED_CREDENTIALS_FILE and AWS_CONFIG_FILE
  • less - should be supported in newer versions or use LESSHISTFILE and LESSKEY
  • wget: ~/.wgetrc, ~/.wget-hsts
  • ~/.ipython - supported (i.e. files are picked up) if manually moved to XDG dirs, see 8.x release notes
  • ~/.jupyter - not yet supported out-of-the-box, set JUPYTER_CONFIG_DIR
  • ~/.kaggle - set KAGGLE_CONFIG_DIR
  • ~/.crawl
  • ~/.thunderbird - hard-coded: https://bugzilla.mozilla.org/show_bug.cgi?id=735285
  • Firefox ~/.mozilla/
  • NSS: ~/.pki
  • Chrome: ~/.pki
  • vscode: ~/.pki
  • ~/.gnome - generally xdg-utils, currently hard-coded in xdg-desktop-menu, used e.g. by chromium, PR with fix exists, however it is not merged yet
  • ~/.vscode
  • lynx: ~/.lynxrc, possibly ~/.lynx_cookies - use LYNX_CFG or LYNX_CFG_PATH (see https://linux.die.net/man/1/lynx)
  • ~/.gnupg - use GNUPGHOME but check the notes (needs additional tweak)
  • base16-shell: ~/.vimrc_background hard-coded in $BASE16_SHELL_HOME/profile_helper.sh and .base16_theme symlinked
  • ~/.nvidia-settins-rc - created by nvidia-settings, not yet supported out-of-the-box, set an alias with nvidia-settings --config ...
  • ~/.nv (CUDA) - set CUDA_CACHE_PATH
  • ~/.keras - set KERAS_HOME, but there is/was an issue with tf.keras
  • ~/sklearn_learn_data - set SCIKIT_LEARN_DATA
  • ~/tensorflow_datasets - set TFDS_DATA_DIR
  • ~/snap/ - XDG spec support is "planned work"
  • ~/.krew/ - modify KREW_ROOT and set it for installation, see docs
  • ~/.yarn/ - should be partially supported, workaround for ~/.yarnrc is to define an alias with --use-yarnrc (if such exists) using XDG_CONFIG_HOME
  • ~/.sudo_as_admin_successful - with sudo >= 1.9.6 one can set admin_flag in /etc/sudoers
  • ~/.redhat - contains single file anonymousId, most likely created by vscode's telemetry
  • ~/.vimdid
  • ~/.bash_history - set HISTFILE in .bashrc similarly as it's done in .zshrc
  • ~/.python_history - hard-coded, there are some workarounds but it seems that only from python itself
  • ~/.scala_history - can be changed with scala -Dscala.shell.histfile=..., note: check spark-shell, applies to Scala 2 or SBT_OPTS could work too
  • ~/.dotty_history - applies to Scala 3
  • ~/.selected_editor - used by select-editor, should not be necessary with EDITOR set
  • ~/.docker - set DOCKER_CONFIG
  • ~/.debug - created and used by perf, currently hard-coded

Re-configuring p10k reverts custom Base16 color config

d123775 introduced custom Base16 color setup to p10k.zsh. This includes definition and usage of BASE16_BASE* variables.

Unfortunately, running p10k configure will rewrite p10k.zsh and thus revert these color changes. Make a script that would re-apply this custom color config or investigate other means how to preserve it.

Fix detection that python3.6 or python3.7 is already installed

python3.6 python3.7: python
ifneq ($(shell which $@ 2> /dev/null),)
        @echo ">>> $$($@ --version) already installed"
else
        @echo ">>> Installing $@"
        sudo add-apt-repository -y ppa:deadsnakes/ppa      
        sudo apt update
        sudo apt install -y $@-dev $@-venv
endif

The issue is that $@ is not resolved at the time ifneq is evaluated and thus the rule always proceeds with an installation.

Krew 0.4.2 fails to install

Binenv fails to install latest version (in the distribution list) of k8s krew.

Krew changed the .tar.gz release file name between 0.4.1 >> 0.4.2 to include linux and amd64. Presumably, these correspond to $GOOS and $GOARCH. However, even if these environment variables are set, binenv install krew 2.4.2 fails.

❯ binenv install krew 0.4.2
2022-03-18T12:36:40+01:00 ERR unable to install "krew" (0.4.2) error="unable to download binary at https://github.com/kubernetes-sigs/krew/releases/download/v0.4.2/krew.tar.gz: 404 Not Found"

Tested for following version:

❯ binenv version
binenv version 0.17.1 (built 2022-01-31T13:29:08Z)

Add local Docker registry

For instance as described here. Possibly run the service after startup.

Additionally, check that images from local registry can be accessed (pulled) from minikube - see official docs.

Simplify Makefile

Use multiple targets to de-duplicate code. E.g.

$(FONTS_DIR) $(ZSH_CUSTOM) ~/vm:
    mkdir -p $@

Another good place for this are python* targets. See stackoverflow and make manual for reference.

Move config linking to install targets

As mentioned in commit 53d56bb, current Makefile setup has all the config linking as part of single target links.

It might be cleaner to link configs while/after installation of appropriate tool. E.g. to link all zsh config as part of (or aftter) installing (oh-my-)zsh. The rationale is that configs have to be linked just once as all the changes are propagated to the repo anyways.

Migrate more tools to binenv

Migrate some or all to binenv:

  • fzf -> installs only the binary => does not seem to work with base16-fzf
  • helm-operator
  • kubeconf -> config-registry (can be installed and managed by krew)
  • kops
  • sops
  • terraform
  • aws-vault
  • aws-iam-authenticator
  • vault

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.