2024-03-06-004525_1920x1080_daisy-noize_snip_trim_yuv420p__panel_showcase.mp4
# official repos (arch)
bash
# aur
picom-ftlabs-git
# From the official repos:
geoclue2
# From the AUR:
wpgtk pywalfox expect playerctl
To install all of the above (on Arch) run:
sudo pacman -S bash geoclue2
yay -S picom-ftlabs-git wpgtk pywalfox expect playerctl
I'm working on a setup script. You can clone the repo for now and manually move things where they belong.
Something like
git clone https://github.com/cherrynoize/dotfiles
mv -n dotfiles/* ~
mv -n dotfiles/.* ~
should generally work. Please take note of the -n
(no-clobber) flag in mv
commands, meaning existing files won't
be replaced and you should manually take care of that.
You also need to run:
./setup.sh
from the repo directory. This is just a stub for a full installer
which should render this README
section obsolete one day.
From now on you can just run:
cfg pull
and it should automatically update your dotfiles. (Please, take care of your own unstaged changes.)
You should copy the .github/initrc
file somewhere and source it
during startup. It provides configuration used all over the
place. To do this you can add something like:
[ -f ~/.initrc ] && . ~/.initrc
to your ~/.xinitrc
, ~/.xprofile
or whatever does the
trick for you.
~/.initrc
is the recommended location, as that would be the
default install path once an installation script is completed.
Right now it's just a stub, but I plan on condensing dotfiles-wide config as much as possible into this file.
This config uses wpgtk
for easier global theming and automatic colorscheme generation
with pywal
.
You're going to need to refer to the wiki if you want to start editing themes or creating your own.
Also, for better portability template symlinks are not hardcoded
and can be (re-)generated at anytime using fix-wpg-templates
.
You might want to place your own profile picture inside of
~/.pfp
. It can be any picture file with any name, such as
~/.pfp/pfp.jpg
.
The nvim
configuration is based upon
AstroNvim,
an IDE layer for Neovim. Check out the
docs
for info about configuration.
The repo also includes a large collection of shell scripts, some
collected around the internet, but most of
them actually mine. Being each few hundreds LOC tops,
they're not very large (bin
sits at 492K at the time of
writing - Nov. 16 2023), and since they're heavily integrated
into most of the config it made little sense leaving them out.
Active development is currently only on fish
. bash
is
currently my login shell, so the .bashrc
is maintained but in
a basic sense.
Please, refer to the theme documentation for usage.
⚠ Please do not use binaries or shell aliases unless you understand what they do. Take the time to inspect the code first.
You can find all binary files in ~/bin
and ~/.local/bin
,
shell aliases in ~/.config/fish/config.fish
and keyboard
shortcuts in .config/sxhkd/sxhkdrc
. Compiling an extensive
shortcuts/commands help is in the TODO
list.
This is just some basic commands to get you started.
"$TERMINAL" # Super+shift
rofi -show drun # Super+x
rofi -show run # Super+r
theme-picker # Super+space
wall-picker # Super+ctrl+space
change-wallpaper # Super+Ctrl+w
switch-mode # Super+<
dock toggle # Super+z
"$BROWSER" # Super+Alt+w
launch-nvim # use 'nvim' as an alias fish/bash
unfuck everything # Super+Shift+Esc
{Alt,Shift}+Tab Move to next/previous tab
Space;{Shift}+Tab Move to next/previous buffer
Alt+{h,j,k,l} Move to adjacent window
Ctrl+{h,j,k,l} Move to adjacent window (wraparound)
Ctrl+{Left,Up,Down,Right} Resize window
Space Help menu
{Tab,Shift}+Tab Move to next/previous entry
h,j,k,l Vi-like keybindings for moving around
Alt+{h,j,k,l} Where there's also a searchbar
sudo
privilege timeout for the shell is refreshed with sudo -v
. fish
already has an abbreviation set
to replace sudo
with sudo -v; sudo
so that it gets updated
each time. However, I find that cumbersome as well as annoying
to have that prefix to each command and it doesn't work well
with auto-completion/suggestions as well as with other
abbreviations, so you can call sd
rather than sudo
to avoid all that. (Also, in case you're wondering, you cannot
use a function because that would enter an infinite loop.)
In case it conflicts with other programs in your system, just use
sudo
.
Some text visibility issues in light mode. (Inherited from theme)
-
Widget windows closers sometimes get stuck open, causing you to accidentally open popup windows when clicking on other windows rather than close them. To fix this you could restart
eww
, but usually it's enough to click on the pfp icon that open the panel window once to open it, then a second time to close it. -
eww
tends to get on top of other windows after being restarted during the session. I still haven't found how I could prevent it from happening (all suggestions are welcome).
My workaround for the time being is to just toggle the bar. Besides, if you don't ever toggle it this shouldn't come up.
I currently use Spotify and as such I only set music
to fetch cover arts from Spotify metadata. I will try to expand
on this but, please, if anyone has a specific request provide me
with a metadata sample (output of playerctl --player="$player" metadata mpris:artUrl
) and I'll add it.
In case something's not working as expected:
unfuck everything
This might help. If it doesn't, you'll have to identify the issue and actually do something about it. (You can have a look at the known bugs.) If you find something that doesn't fit, please open an issue.
- Installation script
- Finish making initrc
- Auto memorize bar status (open or closed) between sessions
- Fix bar auto closing on resume after sleep
- Shortcuts/commands usage popup window
You can have a look at the TODO and known bugs lists. Or open a PR/issue if you have found more.
If you feel like you have something to add please do.
- gh0stzk's dotfiles for inspiration as well as a lot of code stolen especially for the Rofi theme selector
Bye!