App launcher
chiphist
command palette

view Hyprland manual, view Uncoated Paper design manual
| Tool | |
|---|---|
| Terminal | ghostty, kitty |
| Editor | Neovim |
| Shell | zsh |
| Launcher | rofi |
| VCS | git |
| DE/WM | niri |
| Lock | Hypridle, Hyprlock |
| Bar | waybar |
| Wallpaper | awww(swww), mpvpaper |
| Filer | yazi |
| Scripts | Bash, Python |
Catppuccin, and rose-pine are used mainly themes of my tools. and many of these scripts are dependent on my personal environment, it might not work as-is in your environment...
This repository supports two main setup methods:
- NixOS (Full system + user management)
- Standalone Home Manager (User management on generic Linux distros like Debian/Ubuntu)
Use this if you are on Debian, Ubuntu, Arch, etc., and only want to use Nix for your user environment.
Install Nix with the official installer:
sh <(curl -L https://nixos.org/nix/install) --daemonEnsure Flakes and Nix-command are enabled by adding this to ~/.config/nix/nix.conf (or /etc/nix/nix.conf):
experimental-features = nix-command flakes
git clone https://github.com/yourusername/dotfiles.git ~/dotfiles
cd ~/dotfiles
nix run home-manager/master -- init --flake .#seli
nix run home-manager/master -- switch --flake .#seliSubsequent updates:
home-manager switch --flake .#seliThere are two Linux hosts, each with its own hardware config:
| Host | Directory | Hostname | Notes |
|---|---|---|---|
| ThinkPad | hosts/thinkpad/ |
selinoir |
AMD, fingerprint, lid/hibernate |
| Desktop | hosts/desktop/ |
selipaq |
Intel, LUKS swap |
Machine-specific settings live in the host directory; shared desktop setup lives in modules/desktop.nix.
Clone this repo to ~/dotfiles, then generate and copy the hardware configuration:
sudo nixos-generate-config --dir /etc/nixos
sudo cp /etc/nixos/hardware-configuration.nix ~/dotfiles/hosts/thinkpad/
sudo cp /etc/nixos/hardware-configuration.nix ~/dotfiles/hosts/desktop/
# pick the directory matching the machine, then commit the new UUIDscd ~/dotfiles
sudo nixos-rebuild switch --flake .#thinkpad # on the ThinkPad
sudo nixos-rebuild switch --flake .#desktop # on the desktop~/dotfiles
├── flake.nix
├── hosts/
│ ├── thinkpad/
│ │ ├── configuration.nix # selinoir (AMD, fingerprint, lid/hibernate)
│ │ └── hardware-configuration.nix
│ ├── desktop/
│ │ ├── configuration.nix # selipaq (Intel desktop)
│ │ └── hardware-configuration.nix
├── modules/
│ ├── common.nix
│ ├── desktop.nix
│ └── thinkpad.nix
├── home/
│ ├── seli.nix
│ ├── common_user.nix
│ └── ...
├── nvim/
├── kitty/
├── hypr/
├── waybar/
└── ...
hosts/<name>/configuration.nix: per-machine settings (hostname, hardware-specific bits)modules/desktop.nix: system-wide desktop infrastructure shared by all NixOS hosts (Hyprland/niri, PipeWire, portal, polkit, etc.)home/seli.nix: personal apps and user config- real app config files stay in this dotfiles repo as normal files/directories
- Home Manager deploys
~/.config/*viaxdg.configFilesymlinks
After making changes to your configuration files, use the following commands to apply them.
Standalone Linux (Debian, Ubuntu, etc.)
cd ~/dotfiles
home-manager switch --flake .#seliNixOS
cd ~/dotfiles
sudo nixos-rebuild switch --flake .#thinkpad # on the ThinkPad
sudo nixos-rebuild switch --flake .#desktop # on the desktopTo update the underlying packages (nixpkgs, etc.) to their latest versions:
cd ~/dotfiles
nix flake update
# Then run the appropriate rebuild command above
