My personal dotfiles collection for configuring GNOME, conky, git, zsh, tmux, VS Code, and other stuff with Persona 5 x Nord Theme managed via chezmoi.
-
Dotfiles management via chezmoi, configured to:
- Running scripts pre and post-install.
- Use dependencies from external sources to keep the content synchronized with the latest updates.
- Templating to change file content depending on the environment. E.g.: modify_settings.json to combine the existing and new
settings.json
.
-
GNOME configurations for:
-
GNOME extensions
- Aylur's Widgets
- Rounded Window Corners
- Unite
- Dash to Dock for COSMIC
- Compiz Alike Magic Lamp Effect
- ArcMenu
- Executor
- Frippery Move Clock - Optional to install, alternative to moving the clock position to the right if not using Pop Cosmic
- Pop Shell - Optional to install
- Pop Cosmic - Optional to install
-
GNOME terminal
-
GNOME editor
-
-
Appearance setups using:
- Theme: Nordic
- Icons: Papirus, Papirus Nord
- Fonts: Cascadia Code Nerd Font, Fira Mono Nerd Font, Fira Sans, Earwig Factory
- Cursor: Nordic Cursor
-
zsh shell with the following details:
- Framework: Oh My ZSH
- Theme: Powerlevel10k
-
Other apps:
-
Terminal:
-
Editor: VS Code
-
Desktop window:
- conky - desktop system monitor
- cava - audio visualizer
- lyricstify - Spotify lyrics visualizer
- tilda - drop-down terminal, for use with cava and lyricstify to behave like the conky
-
Click here to see some of the chezmoi features that will be useful in this installation
-
Since some files use external sources and chezmoi templates, it's hard to know their actual value if you only read the source code. You can use this command to print the actual target contents of a file. E.g.:
chezmoi cat ~/.themes/Nordic-persona-5/gnome-shell/gnome-shell.css
-
Compare the difference between the target and the destination state for the target before applying it. E.g.:
chezmoi diff ~/.gitconfig
-
Like
chezmoi cat
, but used to print the target content from a template file. E.g.:chezmoi execute-template < .chezmoiscripts/run_once_after_01-dconf-load.sh.tmpl
-
Back up your current dotfiles that will be replaced to an archive.
chezmoi archive --output=dotfiles.zip
-
chezmoi apply
with--dry-run
and--verbose
Print the changes that would be made without modifying files in the target destination.
chezmoi apply --dry-run --verbose
-
Run the full installation with the following command:
⚠️ Be careful when running this command, as it will replace or modify your important files like.zshrc
or.gitconfig
.cd ~ && sh -c "$(wget -qO- get.chezmoi.io)" -- init --apply yusuftaufiq
ℹ️ You must log out and log in again to take effect.
-
First, you need to install chezmoi to
~/bin
directory and clone this repo to~/.local/share/chezmoi
using the following command:cd ~ && sh -c "$(wget -qO- get.chezmoi.io)" -- init yusuftaufiq
-
Modify
env.applyMode
inside.chezmoidata.toml
toterminal
,appearance
orvscode
.⚠️ To know which shell scripts will be executed and which files will be modified or replaced, you can look at.chezmoiignore
and.chezmoiexternal.toml.tmpl
ℹ️
terminal
require zsh, tmux, fzf, bat, fd-find, neofetch, git. This will be installed automatically if you are using an Ubuntu or Debian-based distro. You will also need to manually change your terminal font to use any Nerd Fonts.ℹ️
appearance
require GNOME Extensions from this section, conky, conky-all, cava, lyricstify, tilda. This (except Pop Cosmic and Pop Shell) will be installed automatically if you are using an Ubuntu or Debian-based distro. -
Finally, apply with the following command:
export PATH="$HOME/bin:$PATH" && chezmoi apply
ℹ️ If you only want to apply certain files and folders, you can also specify target files or directories like
chezmoi apply ~/.config ~/.wallpapers
.ℹ️ You must log out and log in again to take effect.
-
Browser
If you are using a Firefox or Chromium-based browser, you can customize your start page by performing the following steps:
- Install the nightTab extension. For Firefox, for Chromium.
- In nightTab start page, go to
Settings
>Data
>Restore
>Import from file
, then selectbrowser/night-tab.json
from this repository.
-
Starting conky:
conky -d -c ~/.config/conky/conky_rotated.conf # or conky -d -c ~/.config/conky/conky_normal.conf
-
Starting cava as background desktop window:
tilda -g ~/.config/tilda/cava
-
Starting lyricstify as background desktop window:
tilda -g ~/.config/tilda/lyricstify_panel # or tilda -g ~/.config/tilda/lyricstify_desktop
ℹ️ If you are encountering tilda apps that are not aligned correctly in your screen size, you can add
-C
options to configure position from the configuration wizard. -
Switch between desktop mode:
toggle-1st-desktop-mode # run this command again to toggle on/of lyricstify # or toggle-2nd-desktop-mode # run this command again to toggle on/of lyricstify
-
Use the command below to see all available bash aliases:
acs
ℹ️ For more usage information about
acs
you can go to the following link
-
GNOME
<Super>
- Open ArcMenu launcher<Super>
+F2
- Shortcut for toggle 1st desktop mode<Super>
+F3
- Shortcut for toggle 2nd desktop mode<Super>
+C
- Open VS Code<Super>
+E
- Open Nautilus file explorer<Super>
+<Tab>
- Toggle application view<Shift>
+<Super>
+M
- Minimize window<Alt>
+<Tab>
- Switch applications<Shift>
+<Alt>
+<Tab>
- Switch applications backward
-
VS Code
<Ctrl>
+<Shift>
+↑
- Resize integrated terminal panel up<Ctrl>
+<Shift>
+↓
- Resize integrated terminal panel down<Ctrl>
+<Shift>
+M
- Toggle maximize integrated terminal<Ctrl>
+<Shift>
+<Alt>
+←
- Increases/decreases the width of the workbench view to the left<Ctrl>
+<Shift>
+<Alt>
+→
- Increases/decreases the width of the workbench view to the right
-
zsh
Ctrl
+R
- Show shell historyCtrl
+T
- Display files recursively in the current directoryCtrl
+/
- Toggle preview window while onCtrl
+R
orCtrl
+T
modeCtrl
+O
- Copy the current text in the command line to the system clipboard.
-
fzf-tab, use default keybindings from https://github.com/Aloxaf/fzf-tab#usage
-
forgit, use default keybindings from https://github.com/wfxr/forgit#--keybinds
-
tmux, use default keybindings from https://github.com/gpakosz/.tmux#bindings
Source of wallpapers and icons: