Optioned Linux for a dev environment
git clone --no-checkout https://github.com/klarkc/dotfiles
mv dotfiles/.git ~
rm -r dotfiles
⚠ Next command will replace current home files with repo files (backup first!)
git checkout main
- Alacritty + Tmux + vim
- Vim Language Server Protocol + Automatic Servers
- Lorri for faster nix-shell environment
- Nord Theme
- Fira Code with ligatures support
- LSD replaces
ls
with the modernlsd
alternative - CapsLock as Escape
l
:ls -l
ll
:ls -la
lt
:ls -lt
- pacman-mirrorup optimized mirrorlist
- Maintenance systemd scripts
- Sunshine game streaming server (to play games on my TV)
- vimb web browser.
- Handlr manage default apps
- spotifyd Spotify Connect service
- GPT with CoderCookE/vim-chatgpt
- Llama with vim-llama
- Oterm with ollama
- ShellGPT with ollama
Below are the supported distro setups
pacman -Syu yay
yay -Syu git gvim alacritty-ligature-git qt5-styleplugins nix ttf-fira-code noto-fonts-emoji lsd gsettings xconf picom xorg-xmodmap gnome-session gnome-settings-daemon notification-daemon xmonad xmonad-contrib xorg-xsetroot feh the_silver_searcher
sudo chmod +s .local/bin/pacman-*
systemctl enable --now nix-daemon.socket
Below dependencies are not mandatory (see Optional Features)
yay -Syu git docker pacreport yay-cache-cleanup-hook sunshine pacman-mirrorup bat git-delta ripgrep nyxt handlr spotifyd python-openai oterm ollama-cuda shell-gpt
systemctl enable --now docker.socket
make
nix profile install .
systemctl --user daemon-reload
systemctl --user enable lorri.socket
Below steps are not mandatory (see Optional Features)
systemctl enable --now pacman-mirrorup.timer
systemctl --user enable docker-cleanup.timer
systemctl --user enable home-cleanup.timer
systemctl --user enable nix-cleanup.timer
systemctl --user enable pacreport.timer
systemctl --user enable --now sunshine.service
systemctl --user enable --now spotifyd.service
systemctl --user enable --now ollama.service
Add in /usr/share/xsessions/gnome-xmonad.desktop
:
[Desktop Entry]
Name=GNOME Xmonad
Exec=gnome-session --systemd-service --session=gnome-xmonad
Add in /etc/gdm/custom.conf
:
[security]
AllowCustomSessions=true
Add in .bashrc_override
(replace hackme
with your api key):
export OPENAI_API_KEY="hackme"
Download the llama models in vim:
:VLMAPull codellama
:VLMAPull llama3
To customize a .dotfile
you can write a corresponding .dotfile_override
.