ArcticTones is a minimalist Linux setup for Kali Linux. It features an arctic, north-bluish color palette that provides a clean and modern look to your desktop environment. Powered by bspwm, ArcticTones offers an efficient and customizable workflow. It's a perfect choice for those seeking a streamlined and visually appealing Linux setup that combines style and functionality.
- bspwm
- sxhkd
- feh
- kitty
- picom
- Nerd Fonts
- Feather
- Papirus
- Polybar
- zsh
- zsh-autocomplete
- zsh-autosuggestions
- zsh-history-substring-search
- zsh-sudo
- zsh-syntax-highlighting
- Powerlevel10k
- Rofi
- Dunst
- NvChad
- Bat
- LSD
- fzf
- glitchlock
NOTE: The installation steps in this guide assume the use of the /opt
directory as the installation location. By default, the ownership of files and directories in /opt
is set to root. If you prefer to have ownership of the files as your user account, you have a few options:
-
Custom Location: You can choose any other location where you have full access and control over the files and directories. Simply adjust the commands and paths accordingly to match your chosen location.
-
Individual File Ownership: After cloning the repository, you can change the ownership of the files individually. Use the following command as an example to change the ownership of a file or directory:
sudo chown -R your-username:your-username /path/to/file-or-directory
Replace your-username
with your actual username and /path/to/file-or-directory
with the specific path.
- Full Ownership of /opt: Alternatively, you can choose to take full ownership of the
/opt
directory. This allows you to have complete control over the files and directories within/opt
.
To take full ownership of /opt
, run the following command:
sudo chown -R your-username:your-username /opt
Replace your-username
with your actual username.
Choose the option that best suits your preference, and adjust the ownership accordingly for each repository or the chosen directory.
- Configuration Files
sudo apt update && sudo apt upgrade
cd /opt
git clone https://github.com/MateoNitro550/ArcticTones
- bspwm
sudo apt install bspwm libxcb-xinerama0-dev libxcb-icccm4-dev libxcb-randr0-dev libxcb-util0-dev libxcb-ewmh-dev libxcb-keysyms1-dev libxcb-shape0-dev
git clone https://github.com/baskerville/bspwm.git
cd bspwm && make && sudo make install
mkdir -p ~/.config/bspwm
mv /opt/ArcticTones/bspwmrc ~/.config/bspwm
- sxhkd
cd /opt
git clone https://github.com/baskerville/sxhkd.git
cd sxhkd && make && sudo make install
mkdir -p ~/.config/sxhkd
mv /opt/ArcticTones/sxhkdrc ~/.config/sxhkd
- feh
sudo apt install feh
mv /opt/ArcticTones/octopus.png ~/Pictures
- kitty
sudo apt install kitty
mv /opt/ArcticTones/kitty ~/.config
- picom
cd /opt
sudo apt install libxext-dev libxcb1-dev libxcb-damage0-dev libxcb-dpms0-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-render-util0-dev libxcb-render0-dev libxcb-randr0-dev libxcb-composite0-dev libxcb-image0-dev libxcb-present-dev libxcb-glx0-dev libpixman-1-dev libdbus-1-dev libconfig-dev libgl-dev libegl-dev libpcre2-dev libpcre3-dev libevdev-dev uthash-dev libev-dev libx11-xcb-dev meson
git clone https://github.com/ibhagwan/picom
cd picom
git submodule update --init --recursive
meson setup --buildtype=release . build
ninja -C build
sudo ninja -C build install
mkdir -p ~/.config/picom
mv /opt/ArcticTones/picom.conf ~/.config/picom
- Nerd Fonts && Feather
Download Hack Nerd Font and JetBrainsMono Nerd Font ZIP files from the Nerd Fonts website and save them to your computer.
sudo unzip Hack.zip -d /usr/local/share/fonts
sudo unzip JetBrainsMono.zip -d /usr/local/share/fonts
rm Hack.zip JetBrainsMono.zip
sudo mv /opt/ArcticTones/feather.ttf /usr/local/share/fonts
fc-cache -v
- Papirus
sudo git clone -n --depth=1 --filter=tree:0 https://github.com/PapirusDevelopmentTeam/papirus-icon-theme /usr/share/icons/Papirus
cd /usr/share/icons/Papirus
sudo git sparse-checkout set --no-cone Papirus/32x32
sudo git checkout
sudo mv Papirus/32x32/* .; sudo rm -r Papirus
- Polybar
cd /opt
sudo apt install build-essential git cmake cmake-data pkg-config python3-sphinx python3-packaging libuv1-dev libcairo2-dev libxcb1-dev libxcb-util0-dev libxcb-randr0-dev libxcb-composite0-dev python3-xcbgen xcb-proto libxcb-image0-dev libxcb-ewmh-dev libxcb-icccm4-dev
sudo apt install libxcb-xkb-dev libxcb-xrm-dev libxcb-cursor-dev libasound2-dev libpulse-dev i3-wm libjsoncpp-dev libmpdclient-dev libcurl4-openssl-dev libnl-genl-3-dev
git clone --recursive https://github.com/polybar/polybar
cd polybar
mkdir build
cd build
cmake ..
make -j$(nproc)
sudo make install
rm -r ~/.config/polybar
mv /opt/ArcticTones/polybar ~/.config
find ~/.config/polybar/modules -type f -name '*.sh' -exec chmod u+x {} \;
- zsh
sudo apt install zsh
sudo usermod --shell /usr/bin/zsh your-username
sudo usermod --shell /usr/bin/zsh root
Replace your-username
with your actual username.
mv /opt/ArcticTones/zshrc ~/.zshrc
sudo ln -sf ~/.zshrc /root/.zshrc
- zsh plugins
zsh-autocomplete
sudo git clone https://github.com/marlonrichert/zsh-autocomplete /usr/share/zsh-autocomplete
zsh-autosuggestions
sudo git clone https://github.com/zsh-users/zsh-autosuggestions /usr/share/zsh-autosuggestions
zsh-history-substring-search
sudo git clone https://github.com/zsh-users/zsh-history-substring-search /usr/share/zsh-history-substring-search
zsh-sudo
sudo git clone -n --depth=1 --filter=tree:0 https://github.com/ohmyzsh/ohmyzsh /usr/share/zsh-sudo
cd /usr/share/zsh-sudo
sudo git sparse-checkout set --no-cone plugins/sudo
sudo git checkout
sudo mv plugins/sudo/* .; sudo rm -r plugins
zsh-syntax-highlighting
sudo git clone https://github.com/zsh-users/zsh-syntax-highlighting /usr/share/zsh-syntax-highlighting
To address the zsh compinit: insecure files
error related to the zsh plugins, you can resolve it by executing the following commands:
sudo chmod -R 755 /usr/local/share/zsh/site-functions
sudo chown -R root:root /usr/local/share/zsh/site-functions
By performing these steps, you ensure that the files within the site-functions
directory have secure permissions and are owned by the root user. This should resolve the insecure files issue and eliminate the zsh compinit: insecure files
error.
- Powerlevel10k
cd /opt
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git
mv /opt/ArcticTones/p10k.zsh ~/.p10k.zsh
sudo ln -sf ~/.p10k.zsh /root/.p10k.zsh
- Rofi
sudo apt install rofi
mv /opt/ArcticTones/rofi ~/.config
- Dunst
sudo apt install dunst
mkdir -p ~/.config/dunst
mv /opt/ArcticTones/dunstrc ~/.config/dunst
- NvChad
Download the latest stable release of Neovim by visiting their GitHub repository. Look for the nvim.appimage file and download it to your computer.
Open the terminal and execute the following commands to rename the downloaded nvim.appimage file, set the appropriate permissions, and move it to the /usr/bin
directory:
mv nvim.appimage nvim
chmod 755 nvim
sudo chown root:root nvim
sudo mv nvim /usr/bin
Once Neovim is installed, you can proceed with installing NvChad. Execute the following commands in the terminal to remove any existing Neovim configurations and clone the NvChad repository:
rm -rf ~/.config/nvim
rm -rf ~/.local/share/nvim
git clone https://github.com/NvChad/NvChad ~/.config/nvim --depth 1 && nvim
When prompted with the message "Do you want to install example custom config?", type "y" and press Enter
to install the example custom config. Wait for the installation to complete before you can start using NvChad with Neovim.
To set the Nord theme in NvChad, follow these steps:
-
Open Neovim by typing nvim in the terminal.
-
Press
Space
and type th. -
Type nord and press
Enter
to apply the Nord theme.
Similarly, repeat the above steps for the root user.
Optionally, we can create a symbolic link to enable the use of the nvim command via the vim command.
sudo ln -sf /usr/bin/nvim /usr/bin/vim
- Bat
Download the latest release of Bat by visiting their GitHub repository. Look for the appropriate bat_..._amd64.deb file and download it to your computer.
sudo dpkg -i bat_..._amd64.deb
rm bat_..._amd64.deb
mkdir -p ~/.config/bat
echo '--theme="Nord"' > ~/.config/bat/config
- LSD
Download the latest release of LSD by visiting their GitHub repository. Look for the appropriate lsd_..._amd64.deb file and download it to your computer.
sudo dpkg -i lsd_..._amd64.deb
rm lsd_..._amd64.deb
- fzf
For your user account:
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
For the root user:
sudo git clone --depth 1 https://github.com/junegunn/fzf.git /root/.fzf
sudo /root/.fzf/install
Make sure to answer "Yes" to all the prompts during the installation to enable fuzzy auto-completion, and key bindings.
- glitchlock
To install glitchlock, you'll need to first install the required dependencies. We will start by building i3lock-color from source.
cd /opt
sudo apt install autoconf gcc make pkg-config libpam0g-dev libcairo2-dev libfontconfig1-dev libxcb-composite0-dev libev-dev libx11-xcb-dev libxcb-xkb-dev libxcb-xinerama0-dev libxcb-randr0-dev libxcb-image0-dev libxcb-util0-dev libxcb-xrm-dev libxkbcommon-dev libxkbcommon-x11-dev libjpeg-dev
git clone https://github.com/Raymo111/i3lock-color.git
cd i3lock-color
./install-i3lock-color.sh
rm -rf ../i3lock-color
Once i3lock-color is installed, we can proceed with installing glitchlock. Run the following commands in the terminal:
cd /opt
sudo apt install scrot imagemagick
git clone https://github.com/xero/glitchlock
mv /opt/ArcticTones/glitchlock /opt/glitchlock
- Autodestruction
rm -rf /opt/ArcticTones
- Required Dependencies
Before migrating to bspwm, we will install the following dependencies to ensure the environment runs smoothly
sudo apt install wmname
sudo apt install xclip
- Migrating to bspwm
Finally we can migrate to bspwm. To do this, we first need to log out of our current session. You can log out manually from the menu or by using the following command in the terminal:
kill -9 -1
Once you reach the login screen, you will notice a menu on the top right corner representing the available desktop environments. Click on that menu and select bspwm from the list of available environments.
Note that from this point onwards, we will use the sxhkd keybindings to interact with our bspwm environment. To learn more about the available keybindings and shortcuts, please refer to the Usage and Shortcuts section.
In the next section, we will modify specific configuration files to customize the size and location of various integrations.
...
...