sudo apt update && sudo apt install curl git -yssh-keygengit clone git@github.com:ryantam626/bootstrap-workstation.gitcurl -L https://nixos.org/nix/install | sh -s -- --daemonnix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
nix-channel --update
nix-shell '<home-manager>' -A installnixconf=~/.config/nix/nix.conf
mkdir -p $(dirname $nixconf)
echo "experimental-features = nix-command flakes" > $nixconf# Add current user to input group (read access to physical input devices)
sudo usermod -a -G input $USER
# Create 'uinput' group if it doesn't exist (write access to virtual input device)
sudo groupadd -f uinput
sudo usermod -a -G uinput $USER
# Set udev rule to give group write permissions to /dev/uinput
echo 'KERNEL=="uinput", MODE="0664", GROUP="uinput", OPTIONS+="static_node=uinput"' | sudo tee /etc/udev/rules.d/90-uinput.rules
# Load uinput kernel module at boot
echo 'uinput' | sudo tee /etc/modules-load.d/uinput.conf
# Load uinput module immediately
sudo modprobe uinput
# Apply udev rule changes
sudo udevadm control --reload-rules && sudo udevadm triggercd ~/bootstrap-workstation
home-manager switch --flake .command -v zsh | sudo tee -a /etc/shells
sudo chsh -s "$(command -v zsh)" "${USER}"Requires task, so reboot first.
mkdir -p ~/workspace/personal
cd ~/workspace/personal
git clone git@github.com:ryantam626/sage-window-manager.git
cd sage-window-manager
task dev-setup