Skip to content

nullxception/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

nullxception

~/.dotfiles

Stargazers $EDITOR $XDG_CURRENT_DESKTOP License


This is the place where I keep the dotfiles that I use daily.
So yeah, it will definitely change from time to time :D

hyprland neovim
desktop-previews neovim-previews

πŸ’» Installation

Each module in this repo is self-contained.
You can install one or multiple modules using the provided dot.sh script:

./dot.sh <module>

For example, let's say that I'm going to install my zsh and neovim config:

git clone https://github.com/nullxception/dotfiles
cd dotfiles
./dot.sh zsh nvim

That’s it! :)

Files inside the nvim and zsh dir will be copied to the location defined in respective <module>/.install:

  • nvim/* to ~/.config/nvim/
  • zsh/* to ~/

β“˜ About `dot.sh`

dot.sh is a minimal Bash script that automates installation by reading the module_target variable inside each module’s .install file and copying files to that target path.

Example:

module_target="$HOME/.config/nvim"

You can take a look and refer to:

πŸ–₯️ Windows Support

Windows support is available through dot.ps1 PowerShell script.
It mirrors similar behavior as dot.sh, except it reads Windows-specific variable instead:

module_target="$HOME/.config/nvim"              # this will read by dot.sh
module_target_win32="$env:LOCALAPPDATA/nvim"    # and this is for dot.ps1

To use it, you can just do pretty much similar way:

./dot.ps1 nvim

This lets me sync cross-platform configs (like Neovim or WezTerm) seamlessly between Linux and Windows.

🧩 Module: nvim

My Neovim config leverages mason.nvim, nvim-treesitter, telescope.nvim, conform.nvim, blink.cmp, and some other plugins for a cohesive development experience, or just configuring things to justify my boredom :D

πŸ”— Requirements

  • Neovim >= 0.12 (for built-in vim.pack package manager)

Because this setup relies on mason.nvim, nvim-treesitter, and telescope.nvim, you may need a few external tools to ensure everything runs smoothly :

On Windows, I typically use scoop or winget to install the required tools.

πŸ“ Tips

For the tree-sitter compiler on Windows, I personally recommend using gcc on mingw for simplicity (and also because I don't want to pull 7GB of Visual Studio C++ Build Tools πŸ˜…)

# using scoop
scoop install mingw

# or alternatively
# using BrechtSanders's standalone build of GCC and MinGW-w64 on winget
winget install BrechtSanders.WinLibs.POSIX.UCRT

πŸ’» Installation

You can use the dot.sh or dot.ps1 script to set it up automatically:

Linux

./dot.sh nvim

Win32 PowerShell

./dot.ps1 nvim

🧩 Module: hypr

It's a pretty simple hyprland setup that utilize waybar, rofi, and some other programs to help my regular desktop usage.

⚠ Disclaimer

My Hyprland setup is configured for my dual monitor setup, including but not limited to workspace binding. So make sure you check and adjust the config accordingly.

πŸ”— Requirements

Below are the list of programs and scripts that currently used on this setup:

Program/script Description config
hypridle Idle daemon hypridle.conf
hyprlock Lock Screen hyprlock.conf
wezterm Terminal emulator wezterm
cliphist + wl-clip-persist Clipboard manager --
swww Wallpaper daemon --
waybar Panel waybar
mako Notification daemon mako
subs-volume Volume notifier --
grimblast Screenshot script --
rofi App launcher rofi
rofi-session Session menu rofi/rofi-session.conf
rofi-polkit-agent Polkit agent --
rofimoji Rofi Emoji Picker --
wtype Used by rofimoji to simulate keyboard input --

πŸ’» Installation

You can copy the necessary files into your own config dirs, or deploy the configs with dot.sh:

# Deploy hyprland and other configs
./dot.sh waybar mako rofi hypr

πŸ“œ License

Unless otherwise noted, all code and configuration files are licensed under the BSD 3-Clause License.

Made with ❀️, β˜•, and too much neovim sessions.