/.dotfiles

My Nix flake that contains all of my system configurations

Primary LanguageCSS

.dotfiles

A collection of my .dotfiles, still a work in progress as I migrate my work environment to a more customizable experience.

Setup

make setup/laptop|work|desktop

Terminal

I've since switched to wezterm from kitty, its written in Rust and I am trying to have my entire system in Rust, soontm.

Jokes aside, I just wanted to try something new, wezterm seems easy to configure, performs well, and I don't really use any of the features of my terminal since I have other tools for that. And the kitty maintainer usually has more dislikes than likes on his responses which just threw me off every time I was reading about an issue.

sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator `which wezterm` 50
sudo update-alternatives --config x-terminal-emulator

Enviroment

Since I use multiple devices, personal and for work, I needed a way to switch between these. So for now there are symlinks for sway and git configs that are included by the common main config. So I just just swap out the include for any environment specific configuration

Keyboard

real-prog-dvorak github

We have to add the keyboard to here and also add an entry into the rules (rules might be unnecessary on Wayland)

sudo cp real-prog-dvorak /usr/share/X11/xkb/symbols/
[rwin]>[lwin]
[end]>[lctrl]
[lalt]>[end]
[pdown]>[lalt]
[rctrl]>[pup]
[lctrl]>[pdown]
[pup]>[tab]
[caps]>[escape]

Clipboard (Wayland)

For clipboard install ws-clipboard

Cool tools

Cool alternatives to common Unix commands like grep, find, top... (mostly written in Rust)

Mostly trying them out and playing around with my setup

Themes

Kitty and Neovim use tokyonight

Font

JetBrains Mono Nerd Font

  1. Add .ttf's to /usr/local/share/fonts
  2. Run fc-cache -f -v

System miscellaneous

Bluetooth

https://askubuntu.com/questions/1423752/ubuntu-20-04-unable-to-use-a-bluetooth-dongle-tp-link-ub500

Darkmode

exec --no-startup-id /usr/libexec/gsd-xsettings

//dark alias dark='gsettings set org.gnome.desktop.interface gtk-theme Adwaita-dark \ && gsettings set org.gnome.desktop.interface color-scheme prefer-dark'

Sound

set default sink with pulse audio

/etc/pulse/default.pa

SSH && mosh

port forward from X port to 2222 in router for SSH port forward from 60001 to any in router for mosh also enable firewall these connections in firewall

Firefox

Install via apt not snap

Apps

Regular

brave, stow, sway, swaylock, waybar, pavlucontrol, obsidian, wezterm, neovim, ripgrep, fd-find, mosh, git, wl-clipboard, ripgrep

~/bin binaries

atuin bat broot dust exa fzf hyperfine lazygit localstack open-wezterm-here procs starship strip-ansi-escapes tldr tokei wezterm wezterm-gui wezterm-mux-server zellij zoxide

Security

VPN

Setup VPN to only be working for specified route (home PC)

Cloudflare

SSH with Cloudflare

On server run the cloudflared tunnel

docker run --add-host=host.docker.internal:host-gateway -d --name sshtunnel cloudflare/cloudflared:latest tunnel --no-autoupdate run --token eyJhxxxxxxxxxxx

On host machine follow the Connect to SSH server with cloudflared access guide

Display manager

ly, display manager with console ui, simple and works for Wayland and Xorg

Screenshots (Wayland)

grim + slurp

Issues

  1. libssl.1.1 not found when running wezterm Solution

TODOS

  • worktree

Good to haves

  • Add installs for dependencies - ansible
  • Look into NixOS