Skip to content

Latest commit

 

History

History
81 lines (63 loc) · 1.89 KB

File metadata and controls

81 lines (63 loc) · 1.89 KB

Install basic utils

sudo apt update && sudo apt install curl git -y

Make ssh key and add github

ssh-keygen

Clone this repo

git clone git@github.com:ryantam626/bootstrap-workstation.git

Install nix

curl -L https://nixos.org/nix/install | sh -s -- --daemon

Install home manager

nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
nix-channel --update
nix-shell '<home-manager>' -A install

Enable flake support

nixconf=~/.config/nix/nix.conf
mkdir -p $(dirname $nixconf)
echo "experimental-features = nix-command flakes" > $nixconf

Set up user permissions and system configuration so KMonad can run as a regular user.

# 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 trigger

Activate home manager

cd ~/bootstrap-workstation
home-manager switch --flake .

Change default shell to zsh (home-manager is not capable to managing this)

command -v zsh | sudo tee -a /etc/shells
sudo chsh -s "$(command -v zsh)" "${USER}"

Install my window manager

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