/ justfile
justfile
 1  set shell := ["bash", "-euo", "pipefail", "-c"]
 2  
 3  os := `uname -s`
 4  
 5  mac: brew stow-mac rust
 6  
 7  arch: pacman stow-arch rust
 8  
 9  rust:
10      curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
11  
12  brew:
13      brew bundle --file Brewfile
14  
15  pacman:
16      sudo pacman -Syu --noconfirm
17      xargs -a pkglist.txt sudo pacman -S --needed --noconfirm
18  
19  stow-common:
20      stow ghostty
21      stow nvim
22      stow emacs
23      stow -t ~ tmux
24  
25  stow-nushell-mac:
26      stow -t "$HOME/Library/Application Support/nushell" nushell
27  
28  stow-nushell-arch:
29      stow -t "$HOME/.config/nushell" nushell
30  
31  stow-doom:
32      stow -t ~ doom
33  
34  stow-mac: stow-common stow-doom stow-nushell-mac
35  
36  stow-arch: stow-common stow-nushell-arch
37      stow hypr
38      stow uwsm
39  
40  unstow-mac:
41      stow -D ghostty || true
42      stow -D nvim || true
43      stow -D emacs || true
44      stow -D -t ~ tmux || true
45      stow -D -t ~ doom || true
46      stow -D -t "$$HOME/Library/Application Support/nushell" nushell || true
47  
48  unstow-arch:
49      stow -D ghostty || true
50      stow -D nvim || true
51      stow -D emacs || true
52      stow -D hypr || true
53      stow -D -t ~ tmux || true
54      stow -D -t "$$HOME/.config/nushell" nushell || true
55  
56  check-stow-mac:
57      mkdir -p "$$HOME/Library/Application Support/nushell"
58      stow -n -v -t "$$HOME/Library/Application Support/nushell" nushell
59      stow -n -v ghostty nvim emacs
60      stow -n -v -t ~ doom tmux
61  
62  check-stow-arch:
63      mkdir -p "$$HOME/.config/nushell"
64      stow -n -v -t "$$HOME/.config/nushell" nushell
65      stow -n -v ghostty nvim emacs hypr
66      stow -n -v -t ~ tmux