/ INSTALLATION.org
INSTALLATION.org
  1  [[https://nixos.org][NixOS Unstable]] [[https://discord.gg/AYbJ9MJez7][![Dynamic JSON Badge](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fdiscordapp.com%2Fapi%2Finvites%2FmT5YqjaJFh%3Fwith_counts%3Dtrue&query=%24.approximate_member_count&suffix=%20members&style=for-the-badge&logo=discord&logoColor=white&label=The%20HyDe%20Project&labelColor=ebbcba&color=c79bf0)]]
  2  
  3  * Inventory
  4  
  5  |  User | 󰄛 Hostname  | 󰇺  Chassis             | 󰣇 OS             |  Kernel            | 󰍹  Display              | Desktop Environment |   CPU                           | 󰊴 GPU - Integrated                   |  GPU Driver |   Memory(GB) | Swap (GB) | Disk (TB) | Local IP            | 󱦟 OS Age | 󱫐 Uptime | 󰏗 Package Manager | >_ Terminal |
  6  |---------+--------------+-------------------------+-------------------+----------------------+--------------------------+---------------------+-----------------------------------+---------------------------------------+---------------+----------------+-----------+-----------+---------------------+-----------+-----------+--------------------+-------------|
  7  | mfarabi | guix         | [[https://support.microsoft.com/en-us/surface/surface-pro-7-specs-and-features-8254894d-bb80-77ef-daae-612ea713e310][Microsoft Surface Pro 7]] | [[https://guix.gnu.org/en/download/][GNU GUIX]]          | Linux Libre          | TBD                      | EXWM                | Intel Core i5- @  GHz             |                                       |               |                |           |           | TBD                 | TBD       | pkg       | guix               |             |
  8  | mfarabi | freebsd      | [[https://support.hp.com/au-en/product/details/hp-elitebook-820-g2-notebook-pc/7343192][HP EliteBook 820 G2]]     | [[https://www.freebsd.org/where/][FreeBSD]]           | FreeBSD 14.3-RELEASE | 1366x768 @ 60Hz in 13"   | Hyprland            | Intel Core i5-5300U(4) @ 2.29 GHz | Intel Device 1616                     | N/A           |             16 | 4         |       0.5 | 10.0.0.230/24       | TBD       | TBD       | pkg                | zsh + kitty |
  9  | mfarabi | mfarabi      | [[https://support.apple.com/en-ca/111883][MacBook Air M1 2020]]     | [[https://apps.apple.com/us/app/macos-sequoia/id6596773750?mt=12][macOS Sequoia]]     | Darwin 24.5.0        | 2880x1800 @ 60 Hz in 13" | Quartz              | Apple M1(8) @ 3.20 GHz            | Apple M1(7)                           | N/A           |              8 | 1         |     0.526 | (en0) 10.0.0.190/24 | TBD       | TBD       | nix                | zsh + kitty |
 10  | mfarabi | ubuntu       | ASUS                    | [[https://www.freebsd.org/where/][FreeBSD]]           | FreeBSD 14.3-RELEASE | 1366x768 @ 60Hz in 13"   | Hyprland            | Intel Core i5-5300U(4) @ 2.29 GHz | Intel Device 1616                     | N/A           |             16 | 4         |       0.5 | 10.0.0.230/24       | TBD       | TBD       | pkg                | zsh + kitty |
 11  | mfarabi | ubuntu       | [[https://www.msi.com/Landing/gs65_stealth_thin_8rx/nb#firstPage][MSI GS65]]                | [[https://ubuntu.com/download][Ubuntu 24.04]]      | linux-6.8            | TBD                      | N/A                 | TBD                               | TBD                                   | TBD           |            TBD | TBD       |       TBD | TBD                 | TBD       | TBD       | apt & nix          | zsh + kitty |
 12  | mfarabi | ubuntu       | [[https://us.msi.com/Laptop/GS76-Stealth-11UX/Specification][MSI GS76]]                | [[https://ubuntu.com/download][Ubuntu 24.04]]      | linux-6.8            | TBD                      | N/A                 | TBD                               | TBD                                   | TBD           |            TBD | TBD       |       TBD | TBD                 | TBD       | TBD       | nix                | zsh + kitty |
 13  | mfarabi | archlinux    | [[https://frame.work/ca/en/laptop16][Framework 16]]            | [[https://archlinux.org/download/][Arch Linux]]        | linux-6.15.2         | 2560x1600 @ 165Hz in 16" | Hyprland            | AMD Ryzen 9 7940HS @ 5.26 GHz     | AMD Radeon RX 7700S & AMD Radeon 780M | amdgpu        |             64 | TBD       |         4 | TBD                 | 323 days  | 41 mins   | pacman & nix       | zsh + kitty |
 14  | TBD     | TBD          | TBD                     | [[https://github.com/nix-community/NixOS-WSL][NixOS]]             | linux-6.15.2         | N/A                      | N/A                 |                                   |                                       |               |                |           |           |                     |           |           |                    |             |
 15  | TBD     | TBD          | TBD                     | [[https://www.microsoft.com/en-us/software-download/windows11][Windows]]+[[https://github.com/nix-community/NixOS-WSL][NixOS WSL]] |                      | N/A                      | N/A                 |                                   |                                       |               |                |           |           |                     |           |           |                    |             |
 16  | mfarabi | stm32        | [[https://www.st.com/en/evaluation-tools/stm32f3discovery.html][STM32F3DISCOVERY]]        | N/A               | N/A                  | N/A                      | N/A                 |                                   |                                       |               |                |           |           |                     |           |           |                    |             |
 17  | mfarabi | esp32        | [[https://www.espressif.com/en/products/socs/esp32][Espressif ESP32]]         | N/A               | N/A                  | N/A                      | N/A                 |                                   |                                       |               |                |           |           |                     |           |           |                    |             |
 18  | mfarabi | arduino-uno  | [[https://store-usa.arduino.cc/products/arduino-uno-rev3?srsltid=AfmBOorHKaBR8Qc4LJpgUz4MvQ29nen-wRPKE21E3cHWgNUKEEbTEby7][Arduino Uno R3]]          | N/A               | N/A                  | N/A                      | N/A                 |                                   |                                       |               |                |           |           |                     |           |           |                    |             |
 19  | mfarabi | arduino-mega | [[https://store.arduino.cc/products/arduino-mega-2560-rev3?srsltid=AfmBOoqN5w-JpdAOqq_jfunfZDrHsNCc2fobKRwK1RUutCvHX9fAFp5r][Arduino Mega R3]]         | N/A               | N/A                  | N/A                      | N/A                 |                                   |                                       |               |                |           |           |                     |           |           |                    |             |
 20  | mfarabi | rpi          | [[https://www.raspberrypi.com/products/raspberry-pi-3-model-b/][Raspberry Pi 3B]]         |                   |                      | N/A                      | N/A                 |                                   |                                       |               |                |           |           |                     |           |           |                    |             |
 21  | mfarabi | dlink        | [[https://www.amazon.ca/D-Link-DIR-1750-High-Power-Assistant-Enhanced/dp/B07X3BBWY9][D-LINK DIR 1750]]         |                   |                      | N/A                      | N/A                 | TBD                               |                                       |               |                |           |           |                     |           |           |                    |             |
 22  |         |              | [[https://www.asus.com/ca-en/networking-iot-servers/wifi-routers/asus-gaming-routers/rt-be88u/][ASUS RT-BE-88U]]          | [[https://www.asuswrt-merlin.net][ASUSWRT-MERLIN]]    | linux-4.19.294       | N/A                      | N/A                 |                                   |                                       |               |                |           |           |                     |           |           |                    |             |
 23  |         |              |                         |                   |                      |                          |                     |                                   |                                       |               |                |           |           |                     |           |           |                    |             |
 24  
 25  * Flash OS Image
 26  
 27  1. View storage block
 28      #+begin_src bash
 29      lsblk
 30      #+end_src
 31  
 32  2. Flash ISO to USB
 33  
 34     - =UNIX/Linux=
 35        #+begin_src bash
 36        sudo umount /dev/sdX*; sudo dd if=/path/to/os.iso of=/dev/sdX status=progress conv=sync;
 37        #+end_src
 38  
 39     - =Windows=
 40        #+begin_src sh
 41        sudo woeusb -d ~/Downloads/win-11.iso /dev/sdX
 42        #+end_src
 43  
 44  
 45  * Configure System
 46  
 47  [[https://nix.dev/manual/nix/2.18/installation/uninstall][Uninstalling Nix]]
 48  
 49  1. Clone repo
 50     #+begin_src sh
 51     git clone https://github.com/MFarabi619/MFarabi619
 52     #+end_src
 53  
 54  2. Install [[https://determinate.systems][Determinate Nix]]
 55      #+begin_src sh
 56      curl -fsSL https://install.determinate.systems/nix | sh -s -- install --no-confirm --extra-conf "trusted-users = root $USER"
 57      #+end_src
 58  
 59     # Install [[https://lix.systems][Lix]], a fork of [[https://determinate.systems][Determinate Nix]]
 60      #+begin_src sh
 61      # curl -sSf -L https://install.lix.systems/lix | sh -s -- install --enable-flakes --no-confirm --extra-conf \"trusted-users = root $USER\"
 62      #+end_src
 63  
 64  3. Initialize from Flake
 65     #+begin_src sh
 66     cd ~/MFarabi619/hosts/ubuntu; nix run nixpkgs#home-manager -- switch --flake .;
 67     #+end_src
 68  
 69  * Install Host
 70  Can share internet from phone via USB C Tethering.
 71  
 72  ** [[https://guix.gnu.org/en/][GNU GUIX]]
 73  ** [[https://www.talos.dev][Talos Linux]]
 74  ** [[https://github.com/nix-darwin/nix-darwin][macOS Silicon]]
 75  
 76  [[https://github.com/Pyenb/macOS-ISOs?tab=readme-ov-file][GitHub - Pyenb/macOS-ISOs: macOS ISOs]]
 77  
 78  #+BEGIN_SRC sh
 79  # Install with flakes
 80  curl -sSf -L https://install.lix.systems/lix | sh -s -- install
 81  # sudo mkdir -p /etc/nix-darwin
 82  # sudo chown $(id -nu):$(id -ng) /etc/nix-darwin
 83  # cd /etc/nix-darwin
 84  
 85  sudo nix-channel --add https://github.com/nix-darwin/nix-darwin/archive/master.tar.gz darwin
 86  sudo nix-channel --update
 87  
 88  nix shell nipkgs#git --command git clone https://github.com/MFarabi619/MFarabi619
 89  sudo mv /etc/nix/nix.conf /etc/nix/nix.conf.before-nix-darwin
 90  sudo nix --extra-experimental-features nix-command --extra-experimental-features flakes run nix-darwin/master#darwin-rebuild -- switch --flake .
 91  #+end_src
 92  
 93  ** [[https://guix.gnu.org][GNU Guix]]
 94  
 95  Obtain [[https://guix.gnu.org/en/download/][ISO]].
 96  
 97  #+begin_src bash
 98  guix pull
 99  #+end_src
100  
101  #+begin_src bash
102  sudo guix system reconfigure /etc/config.scm
103  #+end_src
104  
105  hint: Consider setting the necessary environment variables by running:
106  
107       GUIX_PROFILE="/home/mfarabi/.config/guix/current"
108       . "$GUIX_PROFILE/etc/profile"
109       unset GUIX_PROFILE
110  
111  Alternately, see `guix package --search-paths -p "/home/mfarabi/.config/guix/current"'.
112  
113  
114  hint: After setting `PATH', run `hash guix' to make sure your shell refers to
115  `/home/mfarabi/.config/guix/current/bin/guix'.
116  
117  ** [[https://www.openbsd.org][OpenBSD]]
118  
119  [[https://openbsd.app][OpenBSD.app - search packages]]
120  
121  Obtain [[https://www.openbsd.org/faq/faq4.html#Download][ISO]].
122  
123  #+begin_src ksh
124  su -
125  echo 'permit persist mfarabi' > /etc/doas.conf
126  chmod 600 /etc/doas.conf
127  exit
128  doas id
129  doas pkg_add -u
130  #+end_src
131  
132  #+begin_src ksh
133  doas pkg_add bash zsh git delta direnv ripgrep eza fd vim-9.1.1706-gtk3 neovim emacs-30.2-pgtk xdg-{user-dirs,dbus-proxy,desktop-portal,utils} libqtxdg consolekit2 ruby34-xdg
134  #+end_src
135  
136  Set up zsh.
137  
138  #+begin_src zsh
139  doas pkg_add rust rust-{analyzer,rustfmt,clippy,gdb,src,bindgen}
140  #+end_src
141  
142  #+begin_src zsh
143  doas pkg_add nix curl bat jetbrains-mono noto-{emoji,fonts,nerd-fonts} symbola-ttf libvips lf
144  #+end_src
145  
146  #+begin_src zsh
147  doas fc-cache -fv
148  #+end_src
149  
150  #+begin_src zsh
151  cargo install cargo-binstall
152  #+end_src
153  
154  #+begin_src zsh
155  cargo binstall television
156  #+end_src
157  
158  #+begin_src zsh
159  doas pkg_add github-cli tailscale ttyd
160  #+end_src
161  
162  #+begin_src zsh
163  doas rcctl enable tailscaled
164  doas rcctl start tailscaled
165  doas tailscale up
166  rcctl check tailscaled
167  tailscale status
168  #+end_src
169  
170  FIXME
171  #+begin_src zsh
172  cargo binstall yazi-fm
173  #+end_src
174  
175  Install doom emacs.
176  
177  #+begin_src zsh
178  doas pkg_add btop fastfetch cmatrix cowsay asciiquarium figlet nyancat
179  #+end_src
180  
181  #+begin_src zsh
182  doas pkg_add termshark
183  #+end_src
184  
185  #+begin_src zsh
186  doas pkg_add tree fzf cmake pandoc zig go gopls uv python-3.12.11 node ruby-3.4.6 gnuplot-5.4.8 graphviz tidy maim scrot clang-tools-extra stylua luarocks-lua51 wget socat tree-sitter shfmt ffmpeg ffmpegthumbnailer coreutils unzip-6.0p18-iconv p7zip aspell llvm-21.1.2p0 mu gnutls
187  #+end_src
188  
189  #+begin_src zsh
190  doas pkg_add xclip xsel dbus kitty vlc dunst mpv rofi dolphin cairo pipewire slurp wayland-{utils,protocols} xwayland wlr-randr pango xloadimage libsixel jq poppler poppler-utils ImageMagick gcc-11.2.0p19 gcc-libs-11.2.0p19
191  #+end_src
192  
193  #+begin_src zsh
194  doas pkg_add bwm-ng sshfs-fuse
195  #+end_src
196  
197  #+begin_src zsh
198  doas pkg_add ncdu stress smartmontools gnupg {sys,bat}mon netpbm sqlite3
199  #+end_src
200  
201  #+begin_src zsh
202  go install github.com/jesseduffield/lazygit@latest
203  go install github.com/jessfraz/dockfmt@latest
204  go install github.com/fatih/gomodifytags@latest
205  go install github.com/cweill/gotests/gotests@latest
206  go install github.com/x-motemen/gore/cmd/gore@latest
207  go install github.com/jorgerojas26/lazysql@latest
208  go install -ldflags "-s -w" github.com/tristanisham/zvm@latest
209  #+end_src
210  
211  ** [[https://www.freebsd.org][FreeBSD]]
212  
213  See =hosts/doombsd/README.org=
214  
215  ** [[https://nixos.org/download/#nixos-iso][NixOS]]
216  
217  [[https://raw.githubusercontent.com/prasanthrangan/hyprdots/main/Source/assets/hyde_banner.png][Hyde Banner]]
218  
219  **** Install [[https://github.com/richen604/hydenix/tree/main][Hydenix]]
220  
221  1. Enable experimental features in =/etc/nixos/configuration.nix=:
222      #+begin_src bash
223      nix-shell -p git neovim
224      #+end_src
225  
226      #+begin_src bash
227      sudo nvim /etc/nixos/configuration.nix;
228      #+end_src
229  
230      #+begin_src nix
231      nix.settings.experimental-features = [ "nix-command" "flakes" ];
232      #+end_src
233  
234      #+begin_src bash
235      sudo nixos-rebuild switch;
236      #+end_src
237  
238  2. Clone template
239      #+begin_src bash
240      mkdir hydenix && cd hydenix; nix flake init -t github:richen604/hydenix;
241      #+end_src
242  
243  3. Customize =! EDIT= options in =configuration.nix=
244      #+begin_src bash
245      nvim configuration.nix
246      #+end_src
247  
248  4. Save hardware config
249      #+begin_src bash
250      sudo nixos-generate-config --show-hardware-config > hardware-configuration.nix
251      #+end_src
252  
253  5. Initialize repo
254      #+begin_src bash
255      git init
256      #+end_src
257  
258  6. Stage changes and rebuild system
259      #+begin_src bash
260      git add .; sudo nixos-rebuild switch --flake .
261      #+end_src
262  
263  7. Reboot
264      #+begin_src bash
265      reboot
266      #+end_src
267  
268  8. Change user password
269      #+begin_src bash
270      passwd
271      #+end_src
272  
273  8. Rebuild HyDE theme cache
274      #+begin_src bash
275      hyde-shell reload
276      #+end_src
277  
278  *** Proxmox setup (WIP)
279  
280  #+begin_src sh
281  nano /etc/network/interfaces
282  #+end_src
283  
284  auto lo
285  iface lo inet loopback
286  
287  iface wlo1 inet manual
288  
289  auto enp3s0
290  iface enp3s0 inet manual
291  
292  auto vmbr0
293  iface vmbr0 inet dhcp
294  	bridge-ports enp3s0
295  	bridge-stp off
296  	bridge-fd 0
297  
298  
299  source /etc/network/interfaces.d/*
300  
301  #+begin_src sh
302  ifreload -a
303  #+end_src
304  
305  
306  #+begin_src sh
307  sudo systemctl stop pvestatd pvedaemon pve-cluster corosync
308  
309  sudo rm -f /var/lib/pve-cluster/.pmxcfs.lockfile
310  sudo rm -rf /var/lib/pve-cluster
311  sudo rm /etc/pve/corosync.conf
312  sudo rm /etc/corosync/*
313  sudo rm /var/lib/corosync/*
314  #+end_src
315  
316  
317  sudo systemctl start pvestatd pvedaemon pve-cluster corosync
318  
319  #+begin_src sh
320  sudo pvecm create openws
321  sudo pvecm status
322  #+end_src
323  
324  ** [[https://archlinux.org][Arch Linux]]
325  
326  *** 1. Prepare Environment
327  
328  1. *Increase temporary writable space*
329      #+begin_src bash
330      mount -o remount,size=4g /run/archiso/cowspace
331      #+end_src
332  2. *Improve console font visibility*
333      #+begin_src bash
334      setfont ter-132n
335      #+end_src
336  3. Open =iwctl=
337      #+begin_src bash
338      iwctl
339      #+end_src
340  4. List wireless devices
341      #+begin_src bash
342      device list
343      #+end_src
344     * Power on wireless card if necessary
345         #+begin_src bash
346         device wlan0 set-property Powered on
347         #+end_src
348       * If rfkill is blocking it...
349          #+begin_src bash
350          rfkill unblock wlan
351          #+end_src
352  5. Verify properties
353      #+begin_src bash
354      device wlan0 show
355      #+end_src
356  6. Scan for networks
357      #+begin_src bash
358      station wlan0 get-networks
359      #+end_src
360  7. Connect to WiFi
361      #+begin_src bash
362      station wlan0 connect "IT HURTS WHEN IP 5G"
363      #+end_src
364      Enter passphrase when prompted.
365  8. Verify connectivity
366      #+begin_src bash
367      ping google.com
368      #+end_src
369  
370  Exit =iwctl= with =Ctrl+C=.
371  
372  **** 2. Prepare Disk
373  
374  1. Fetch =archinstall=
375      #+begin_src bash
376      pacman -Syu archinstall
377      #+end_src
378  2. List partitions
379      #+begin_src bash
380      lsblk
381      #+end_src
382  3. Check current partition setup
383      #+begin_src bash
384      fdisk -l
385      #+end_src
386  4. Initialize disk setup (example for =/dev/nvme0n1=):
387      #+begin_src bash
388      gdisk /dev/nvme0n1
389      #+end_src
390      Steps in =gdisk=:
391     - Enter expert mode
392       #+begin_src bash
393       x
394       #+end_src
395     - Zap the disk
396       #+begin_src bash
397       z
398       #+end_src
399     - Confirm twice
400       #+begin_src bash
401       Y
402       #+end_src
403       #+begin_src bash
404       Y
405       #+end_src
406  5. Check disk
407      #+begin_src bash
408      lsblk
409      #+end_src
410  
411  **** 3. Install Distro
412  
413  1. Run =archinstall=
414      #+begin_src bash
415      archinstall
416      #+end_src
417    * Example options:
418        *Mirror region:* Canada
419        *Filesystem:* Btrfs
420        *Swap:* Swap on zram enabled
421        *Encryption:* None
422        *Bootloader:* systemd-boot with unified kernel images
423        *Hostname:* =archlinux=
424        *User setup:* Include root and a standard user
425        *Profile:* Minimal
426        *Audio:* Pipewire
427        *Network configuration:* NetworkManager
428        *Timezone:* =America/Toronto=
429  
430  3. After installation
431      #+begin_src bash
432      bcfg boot dump -b; bcfg boot rm;
433      #+end_src
434  
435  4. Reboot
436      #+begin_src bash
437      reboot
438      #+end_src
439  
440  **** 5. Install [[https://github.com/HyDE-Project/HyDE][HyDE]]
441  1. Set console font
442      #+begin_src bash
443      setfont -d
444      #+end_src
445  2. Reconnect to WiFi
446      #+begin_src bash
447      sudo nmcli dev wifi connect "IT HURTS WHEN IP 5G" password "*****"
448      #+end_src
449  
450  3. Run installer
451      #+begin_src bash
452      pacman -Syu git base-devel pacseek;
453      git clone --depth 1 https://github.com/HyDE-Project/HyDE ~/HyDE;
454      cd ~/HyDE/Scripts;
455      ./install.sh;
456      #+end_src
457  
458      Select options:
459     - =1-yay=
460     - =1-zsh=
461     - =1-gnu-free-fonts=
462     - =2-multimedia-streamer=
463     - =2-corners=
464  
465  ** Apollyon Linux
466  
467  #+begin_src bash
468  archinstall --config user_configuration.json
469  #+end_src
470  
471  #+begin_src bash
472  nix --accept-flake-config profile install github:cachix/devenv
473  #+end_src
474  
475  # [[https://omnix.page/index.html][Omnix]]
476  # #+begin_src bash
477  # nix --accept-flake-config profile install github:juspay/omnix
478  # #+end_src
479  
480  # #+begin_src bash
481  # nix --accept-flake-config run github:juspay/omnix -- \
482  #   init -o ~/nix-config github:srid/nixos-unified#home
483  # #+end_src
484  
485  #+begin_src bash
486  ln -nfs /home/mfarabi/MFarabi619/configurations/home/mfarabi@archlinux/.bashrc ~/.bashrc;
487  #+end_src
488  
489  #+begin_src bash
490  git add .; nix run .#activate $USER@
491  #+end_src
492  
493  ** [[https://ubuntu.com][Ubuntu]]
494  
495  #+begin_src bash
496  sudo apt update && sudo apt upgrade -y
497  #+end_src
498  
499  #+begin_src bash
500  sudo apt install greetd tuigreet dconf-service
501  #+end_src
502  
503  #+begin_src bash
504  sudo vim /etc/greetd/config.toml
505  #+end_src
506  
507  # command = "tuigreet --time --remember --cmd start-hyprland"
508  
509  #+begin_src bash
510  sudo apt install sddm
511  sudo tee /usr/share/wayland-sessions/hyprland.desktop > /dev/null <<'EOF'
512  [Desktop Entry]
513  Name=start-hyprland
514  Comment=Wayland Compositor
515  Exec=Hyprland
516  Type=Application
517  EOF
518  sudo systemctl enable sddm
519  sudo systemctl restart sddm
520  #+end_src
521  
522  *** Resources
523  [[https://tech.aufomm.com/my-nix-journey-use-nix-with-ubuntu][My Nix Journey - Use Nix on Ubuntu]]
524  
525  ** [[https://github.com/nix-community/NixOS-WSL][NixOS-WSL]]
526  
527  1. Install Windows 11
528  
529    #+begin_src bash
530    sudo woeusb -d ~/Downloads/iso-images/Win11_24H2_English_x64.iso /dev/sdb
531    #+end_src
532  
533  2. Remove bloat
534    # winget search DesiredStateConfiguration --source msstore
535    # winget install --id 9NVTPZWRC6KQ --source msstore
536  
537    Open Windows Terminal as Admin with SUPER+X, A.
538  
539    #+begin_src powershell
540    winget list
541    #+end_src
542  
543    #+begin_src powershell
544    "Family", "Teams", "Photos", "Bing", "Edge", "365 (Office)", "To DO", "Clipchamp", "Edge Game Assist", "Calculator" | ForEach-Object { winget uninstall "Microsoft $_" }
545    #+end_src
546  
547    #+begin_src powershell
548    "Outlook for Windows", "Feedback Hub", "Phone Link", "Power Automate" | ForEach-Object { winget uninstall $_ }
549    #+end_src
550  
551   https://github.com/pit-ray/win-vind
552  
553  3. Activate optional features for WSL
554  
555  #+begin_src powershell
556  Get-WindowsOptionalFeature -Online
557    #+end_src
558  
559  #+begin_src powershell
560  Enable-WindowsOptionalFeature -Online -NoRestart -FeatureName @(
561      "HypervisorPlatform",
562      "VirtualMachinePlatform",
563      "Microsoft-Windows-Subsystem-Linux",
564      "Microsoft-RemoteDesktopConnection"
565  )
566    #+end_src
567  
568  #+begin_src powershell
569      Disable-WindowsOptionalFeature -Online -NoRestart -FeatureName @(
570          "WindowsMediaPlayer",
571          "SearchEngine-Client-Package"
572      )
573    #+end_src
574  
575  #+begin_src powershell
576  Get-WindowsPackage -Online
577    #+end_src
578  
579  #+begin_src powershell
580  Remove-WindowsPackage -Online -FeatureName ""
581    #+end_src
582  
583  4. Install programs
584  
585    #+begin_src powershell
586    Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine;
587    New-Item -Path $PROFILE -Type File -Force;
588    Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1;
589    #+end_src
590  
591    #+begin_src powershell
592    winget add git.git fastfetch emacs openscad zig winrar gnuwin32.tar burntsushi.ripgrep.gnu llvm fd fzf curl.curl cmake television qemu neovim tailscale lazydocker lazygit eza yazi ttyd microsoft.windowsterminal.preview github.cli audacity.audacity steam obsproject.obsstudio videolan.vlc vscode gimp.gimp.3 authormore.penpotdesktop discord.discord figma Vial.vial komorebi whkd starship docker.desktop qmk.qmktoolbox devcom.jetbrainsmononerdfont
593    #+end_src
594  
595    #+begin_src powershell
596    Invoke-WebRequest https://get.pnpm.io/install.ps1 -UseBasicParsing | Invoke-Expression
597    #+end_src
598  
599    #+begin_src powershell
600      nvim $PROFILE;
601    #+end_src
602  
603      Invoke-Expression $(starship init powershell)
604      Set-Alias -Name l -Value eza
605      Set-Alias -Name yy -Value yazi
606      Set-Alias -Name lg -Value lazygit
607  
608    #+begin_src powershell
609      starship preset gruvbox-rainbow -o ~\.config\starship.toml
610    #+end_src
611  
612    #+begin_src powershell
613      . $PROFILE
614    #+end_src
615  
616   https://www.lazyvim.org/installation/
617  
618    [[https://lgug2z.github.io/komorebi/installation.html][Installation - Komorebi]]
619  
620    #+begin_src powershell
621    komorebic quickstart
622    komorebic start --whkd --bar
623    #+end_src
624  
625    #+begin_src powershell
626    winget add DesiredStateConfiguration powertoys vivaldi Canonical.ubuntu "Athena OS" -s msstore --accept-package-agreements
627    #+end_src
628  
629    #+begin_src powershell
630    dsc resource list
631    #+end_src
632  
633  5. Install NixOS-WSL
634      #+begin_src bash
635      sudo nix-channel --update
636      #+end_src
637  
638      #+begin_src bash
639      nix-shell -p git lazygit
640      #+end_src
641  
642      #+begin_src bash
643      sudo cp ~/MFarabi619/configurations/nixos/nixos-wsl/initial-boot.nix /etc/nixos/configuration.nix
644      #+end_src
645  
646      [[nix-community.github.io/NixOS-WSL/how-to/change-username]]
647  
648      #+begin_src bash
649      sudo nixos-rebuild boot
650      #+end_src
651  
652      #+begin_src bash
653      exit
654      #+end_src
655  
656      #+begin_src powershell
657      wsl -t NixOS; wsl -d NixOS --user root exit; wsl -t NixOS; wsl -s NixOS
658      #+end_src
659  
660      Set default terminal profile to NixOS.
661  
662      #+begin_src bash
663      nix-shell -p git lazygit neovim yazi
664      #+end_src
665  
666      #+begin_src bash
667      git clone https://github.com/MFarabi619/MFarabi619;
668      cd MFarabi619;
669      #+end_src
670  
671      Install will take a while.
672      #+begin_src bash
673      sudo nixos-rebuild boot --flake .
674      #+end_src
675  
676      #+begin_src bash
677      sudo poweroff
678      #+end_src
679  
680      Open NixOS-WSL again.
681  
682  ** Raspberry Pi 5 ARM NixOS
683  [[https://wiki.nixos.org/wiki/NixOS_on_ARM/Raspberry_Pi_5][NixOS on ARM/Raspberry Pi 5 - NixOS Wiki]]
684  
685  Download [[https://www.raspberrypi.com/software/operating-systems/][Raspberry Pi OS with desktop and recommended software]]
686  
687  Flash to SD card & boot, then ...
688  
689  #+begin_src sh
690  curl -sSf -L https://install.lix.systems/lix | sh -s -- install
691  #+end_src
692  
693  #+begin_src bash
694  nix build github:nvmd/nixos-raspberrypi#installerImages.rpi5
695  #+end_src
696  
697  #+begin_src bash
698  scp ./result mfarabi@ip...:
699  #+end_src
700  
701  # flash same sd card with scp'ed image
702  #+begin_src bash
703  caligula burn --show-all-disks ./nixos-installer-rpi5-kernel.img.zst
704  #+end_src
705  
706  Boot to sd card, then connect to network.
707  
708  #+begin_src bash
709  iwctl
710  #+end_src
711  
712  #+begin_src bash
713    station wlan0 connect "IT HURTS WHEN IP 5G"
714  #+end_src
715  
716  Clone this repo, then build flake.
717  
718  #+begin_src bash
719  nix shell nixpkgs#{git,lazygit,neovim,yazi,zellij,btop,nix-btm}
720  #+end_src
721  
722  #+begin_src bash
723  git clone https://github.com/MFarabi619/MFarabi619
724  #+end_src
725  
726  #+begin_src bash
727  cd ~/MFarabi619/configurations/nixos/rpi5/installation
728  #+end_src
729  
730  #+begin_src bash
731  nixos-rebuild switch --flake .#<system> --target-host root@<hostname>
732  #+end_src
733  
734  
735  ** Android NixOS
736  
737  [[https://github.com/nix-community/nix-on-droid?tab=readme-ov-file][GitHub - nix-community/nix-on-droid]]
738  
739  ** Hetzner
740  
741  #+begin_src bash
742    curl https://raw.githubusercontent.com/elitak/nixos-infect/master/nixos-infect | NIX_CHANNEL=nixos-25.05 bash -x
743  #+end_src
744  
745  vsxsrv
746  PiKVM
747  
748  ** ASUSWRT Merlin
749  
750  
751  #+begin_src bash
752  opkg install neovim tmux ttyd htop iftop lsblk netdata fontconfig bottom zsh ca-certificates curl git-http nmap
753  #+end_src
754  
755  RTRMON
756  TAILMON
757  
758  #+begin_src sh
759  #!/usr/bin/env sh
760  tmux new-session -d -s monitor 'btm'
761  tmux split-window -h 'htop'
762  tmux split-window -v 'iftop'
763  tmux select-pane -t 0
764  tmux split-window -v 'amtm'
765  tmux select-layout tiled
766  tmux attach -t monitor
767  #+end_src