assets | ||
nebu-btop/.config/btop | ||
nebu-fastfetch/.config/fastfetch | ||
nebu-ghostty/.config/ghostty | ||
nebu-hyprland/.config/hypr | ||
nebu-mpd/.config/mpd | ||
nebu-mpv/.config/mpv | ||
nebu-music/.config/rmpc | ||
nebu-nvim/.config/nvim | ||
nebu-qutebrowser/.config/qutebrowser | ||
nebu-spf/.config/superfile | ||
nebu-swaync/.config/swaync | ||
nebu-tmux | ||
nebu-wallust/.config/wallust | ||
nebu-waybar/.config/waybar | ||
nebu-weechat/.config/weechat | ||
nebu-wikiman/.config/wikiman | ||
nebu-wlogout/.config/wlogout | ||
nebu-wofi/.config/wofi | ||
nebu-zsh | ||
.gitignore | ||
README.md |
Note on this repository
I use this repo to sync and backup my dotfiles.
I use stow to manage my dotfiles, so each folder starting with "nebu-" is a package that you can stow in your home directory.
Installation
Warning
You need to have
stow
installed on your system to manage these dotfiles.stow
will create symlinks from your dotfiles repository to your$HOME
, so you don’t overwrite files directly. You can install it with your package manager. For example, on Arch Linux, you can use:
sudo pacman -S stow
Install dependencies and deploy configurations
-
Backup your current dotfiles
-
Clone this repository
git clone https://github.com/Samtroulcode/dotfiles.git && cd dotfiles
# or if you use ssh
git clone git@github.com:Samtroulcode/dotfiles.git && cd dotfiles
- Install the packages you want to use then stow them
sudo pacman -S <package-name>
stow nebu-<package-name>
Note
If you want to install all dependencies and deploy all configurations at once:
sudo pacman -S ghostty hyprland swww mpv mpd ncmpcpp neovim qutebrowser tmux starship swaync superfile waybar wlogout wofi zsh btop
stow nebu-*
Uninstall
To uninstall a package, simply use stow -D
followed by the package name:
stow -D nebu-<package-name>
List of tools used
Tool | Name/site | repository | config | doc |
---|---|---|---|---|
wayland compositor | Hyprland | github | hypr | section |
web browser | Qutebrowser | github | qutebrowser | section |
terminal | Ghostty | github | ghostty | WIP |
shell | Oh my zsh | github | zsh | WIP |
shell theming | Starship | github | starship | WIP |
Text editor/IDE | Nvim | github | nvim | readme |
file explorer | Superfile | github | spf | WIP |
status bar | Waybar | github | waybar | WIP |
menu | Wofi | sourcehut | wofi | WIP |
power menu | Wlogout | github | wlogout | WIP |
notification daemon | Swaync | github | swaync | WIP |
wallpaper backend | Swww | github | swww | WIP |
color generator | Wallust | codeberg | wallust | WIP |
music daemon | Mpd | github | mpd | WIP |
music player | Rmpc | github | rmpc | WIP |
video player | Mpv | github | mpv | WIP |
multiplexer | Tmux | github | tmux | WIP |
Window manager HYPRLAND
Hyprland is a modern, dynamic Wayland compositor featuring both tiling and floating window management, with smooth animations and deep customization. It replaces both the window manager and the compositor, making it ideal for advanced users seeking a minimal and responsive Wayland setup.
I separated my configuration into several files :
- hyprland : contains monitor informations, some general settings, and other configuration files imports
- env : contains environment variables such as nvidia required variables, hyprcursor theme or keyboard layout
- start : contains exec-once entries such as notification daemon or launch scripts
- var : contains hyprland variables such as my terminal or file manager.
- key : my keybindings
- colors : my color configuration linked with wallust, since is dynamically generated when i change my wallpapers, i didn't push it to my git. (see [wallust] section)
- window : some window rules for apps (like spf floating instead of tiling)
- theme : general theming such as blur or inactive timeout for the cursor.
- anim : it's a folder containing some animations files, i choose one of those in my import list in hyprland.conf
- plugin : contains list of hyprland plugin. Actually, i only use one plugin, HyprExpo.
Config tips
Warning
To add hyprland plugins, you must have hyprland-git installed cause you need the headers exposed by hyprpm to add some plugins.
Qutebrowser is a fancy light browser, extremely customizable and keyboard centered with use of VIM motions. For configuration, it use python scripts, which allows deep customization.
original repo : Qutebrowser
my configs files : qutebrowser configs
i separated my configuration into several files. The principal configuration file with privacy settings, searchengines and global configuration is here and for my style customization i created a separated python file that i source in my global customization file :
config.source('themes/nebulix.py')
Config tips
to watch youtubes videos without ads, i know 3 methods actually. You can simply watch the youtube video in mpv by binding a shortcut like that :
config.bind('<Ctrl+/>', 'hint links spawn mpv {hint-url}')
you need yt-dlp and mpv to do this
sudo pacman -S yt-dlp mpv
It will open an MPV player with the YouTube video without the ads, first i hit my shortcut, then i select the video, here is the workflow :
Step 1 | Step 2 |
---|---|
![]() |
![]() |
The second method is similar to the first but it uses a custom script which allows you to have a single instances of MPV and to add videos in queues, a bit like a playlist.
Script link : umpv
you need to add this script to your $PATH then you simply do this :
config.bind('<Ctrl+/>', 'hint links spawn umpv --enqueue {hint-url}')
The third method use a Dreasemonkey script, but i not cover this solution here, you at least know that it exists.
Management
I'm using gnu stow to manage these dotfiles