Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Muh minimalism #14

Closed
lainiwa opened this issue Jul 31, 2019 · 2 comments
Closed

Muh minimalism #14

lainiwa opened this issue Jul 31, 2019 · 2 comments

Comments

@lainiwa
Copy link
Owner

lainiwa commented Jul 31, 2019

Thoughts on features vs minimalism.

@lainiwa
Copy link
Owner Author

lainiwa commented Jul 31, 2019

Zsh plugin manager

For now I stick with zinit, as using it as a sort of ports manager. It can fetch binaries along with completions, man pages etc.

Maybe I will move some of it's functionality to guix later, but for now it is the only viable solution for managing this things.

zinit [44k loc C]

✔️ Versatile tool, has it's own ports system, thus letting you install non-plugins along with completions and keybindings.
✔️ Somewhat decent documentation (README.md)
✖️ Complex

sheldon [2k loc Rust]

❓❓
✖️ Not very popular.
✖️ Rust language. Have to grab a binary.

antibody [0.9k loc Go]

✔️ Simple
✖️ No ability to tightly integrate zsh settings with code installing non-plugins.
✖️ Go language. Have to grab a binary.

zpm [650 loc Zsh]

Dotfiles manager/bootstrapper

chezmoi [13.9k loc Go]

stow [2k loc Perl]

yadm [1.5 loc Bash]

homeshick [1.5k loc Bash]

rcm [1k loc Shell (?)]

dotbot [0.7k loc Python]

WM

i3 [24k loc C]

✔️ Has a drop-in Wayland-compatible replacement (Sway). X11 will get deprecated sooner or later.
✔️ Good docs.
✖️ Complex. Sway is even bigger.
✖️ i3status depends on pulseaudio library

bspwm [10.6k loc C]

✖️ Requires sxhkd (additional 3.5k loc C)

herbstluftwm [11k loc C++]

spectrwm [11.7 loc C]

dwm [1.8k loc C]

✔️ Very (overly) simple.
✖️ Patching is PITA.

Picker

Seems like only fzf has decent environment & tools built around it.

fzf [10k loc Go]

✔️ Many tools integrating this (and only this).
✖️ Very complex for such simple task
✖️ Go language. Have to grab a binary.

fzy [2k loc C]

✔️ Has some tools integrating this.
✖️ Still complex

pick [1.1k loc C]

✖️ No tools integrated

slmenu [0.6k loc C]

✔️ Somewhat simple
✖️ No tools integrated
✖️ Not fuzzy

Terminal emulator

These two emulator seem to be most viable. St is better but source-code-as-a-config doesn't fit my workflow.

urxvt [40k loc C]

✔️ Extendable with Perl plugins
✖️ Complex. Relies on Perl

st [4k loc C]

✔️ simplest out there
✔️ correct. Passes UTF-8 test
✖️ Having terminal multiplexer is essential.
✖️ Settings in source code.

Shell

bash [107k loc C]

zsh [102k loc C]

mksh [19k loc C]

rc [6.5k loc C]

File Manager

The one thing I think file manager is useful for is picking files based on preview of their contents. For now only ranger has this functionality.

ranger [12.8k loc Python]

lf [7k loc Go]

nnn [3.8k loc C]

fff [674 loc Bash]

Package Manager

guix [~60k loc Scheme]

nix [~37 loc C++]

@lainiwa
Copy link
Owner Author

lainiwa commented Sep 10, 2020

@lainiwa lainiwa closed this as completed Sep 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant