README: add showcase and update overview
96
README.md
|
|
@ -1,84 +1,44 @@
|
||||||
# dots
|
# dots
|
||||||
## overview
|
## overview
|
||||||
<img width="60%" align="right" src="assets/desktop.jpg">
|
<img width="60%" align="right" src="assets/linux-oneshot-launcher.webp">
|
||||||
|
|
||||||
my dotfiles for NixOS, macOS or POSIX systems. primarily for systems that support [Nix](https://nixos.org) since they have declarative configuration.
|
my dotfiles for NixOS, macOS or POSIX systems. primarily for systems that support [Nix](https://nixos.org) since they have declarative configuration. although dotfiles (in the stow directory) are made to keep them portable without the need for nix necessarily.
|
||||||
- OS: [NixOS](https://nixos.org) and MacOS
|
- OS: [NixOS](https://nixos.org) and macOS
|
||||||
- Shell: [fish](https://fishshell.com/)
|
- Shell: [fish](https://fishshell.com/)
|
||||||
- Terminal: [Ghostty](https://ghostty.org/)
|
- Terminal: [Ghostty](https://ghostty.org/)
|
||||||
- Browser: Firefox
|
- Browser: Firefox
|
||||||
|
|
||||||
linux specific:
|
linux specific:
|
||||||
- Desktop: [Hyprland](https://hyprland.org/) and [Niri](https://github.com/YaLTeR/niri). [Plasma](https://kde.org/plasma-desktop/) if I feel like it.
|
- Desktop: [Hyprland](https://hyprland.org/) and [Niri](https://github.com/YaLTeR/niri)
|
||||||
- Status Bar: [Waybar](https://github.com/Alexays/Waybar)
|
- Status Bar: [Waybar](https://github.com/Alexays/Waybar)
|
||||||
- Run Launcher: [Walker](https://github.com/abenz1267/walker)
|
- Launcher: [Vicinae](https://github.com/vicinaehq/vicinae)
|
||||||
|
|
||||||
## installation
|
macOS specific:
|
||||||
### NixOS
|
- Launcher: [Raycast](https://www.raycast.com/)
|
||||||
boot up a NixOS live installation image and clone the flake. run the following if reinstalling on a host:
|
- Application Firewall: [Lulu](https://objective-see.org/products/lulu.html)
|
||||||
```sh
|
|
||||||
sudo nano /tmp/secret.key # set password used to unlock LUKS encryption
|
|
||||||
sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode destroy,format,mount /path/to/disko-config.nix # partition drives w/ disko
|
|
||||||
sudo nixos-install --flake .#HOSTNAME # install base NixOS system
|
|
||||||
```
|
|
||||||
|
|
||||||
during installation set a root password when prompted and reboot as soon as the installation finishes. on first boot switch to a new TTY using `ctrl+alt+f1,f2,f3,etc`, login as root and set a password for your user. then login as your normal user, connect to the wifi with `nmtui`, apply the dotfiles with `stow` and set a wallpaper with `matugen` to ensure anything that depends on a configuration file generated from it works. if you cannot get a wallpaper you can use `matugen color hex FFFFFF` to generate matugen themes from a colour.
|
# showcase
|
||||||
|
|
||||||
#### setting up a new system
|
<table>
|
||||||
if setting up a new system, first boot up a NixOS live installation image and run:
|
<tr>
|
||||||
|
<td>NixOS</td>
|
||||||
|
<td>macOS</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><img src="assets/linux-bocchi-fastfetch.webp"></td>
|
||||||
|
<td><img src="assets/macos-bocchi-fastfetch.webp"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><img src="assets/linux-oneshot-launcher.webp"></td>
|
||||||
|
<td><img src="assets/macos-oneshot-light.webp"></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><img src="assets/linux-mafuyu.webp"></td>
|
||||||
|
<td><img src="assets/macos-nene.webp"></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
```sh
|
# license
|
||||||
nixos-generate-config --dir hosts/HOSTNAME # change to hostname of new system
|
|
||||||
nano flake.nix # add new host in flake.nix
|
|
||||||
```
|
|
||||||
|
|
||||||
then, commit changes to the repository and continue with the steps to reinstall a NixOS system above.
|
|
||||||
|
|
||||||
#### secure boot
|
|
||||||
If you want to setup secure boot for you system, you need to first complete an installation without the secureboot module enabled. after that is done continue with the below
|
|
||||||
```sh
|
|
||||||
sudo nix run nixpkgs#sbctl create-keys # create signing keys for boot images
|
|
||||||
nano flake.nix && sudo nixos-rebuild switch # add the secureboot module to the host
|
|
||||||
sudo sbctl verify # check to see if some files are signed, it is normal for some files not to be signed.
|
|
||||||
```
|
|
||||||
then reboot your system and enter UEFI setup. try to find an option to enroll secureboot keys, after that is done boot up your NixOS system again. run `sudo nix run nixpkgs#sbctl -- enroll-keys --microsoft` when your back in your system. after enrolling your secure boot keys, you must enter UEFI setup again and enable UEFI secureboot.
|
|
||||||
|
|
||||||
|
|
||||||
### macOS
|
|
||||||
after going through the MacOS setup wizard, do the following:
|
|
||||||
```sh
|
|
||||||
xcode-select --install # install xcode developer tools
|
|
||||||
curl -fsSL https://install.determinate.systems/nix | sh -s -- install --determinate # install determinate nix
|
|
||||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # install brew package manager
|
|
||||||
git clone REPO_URL # clone nix flake to system
|
|
||||||
nix run nix-darwin/master#darwin-rebuild -- switch # switch to nix flake configuration
|
|
||||||
```
|
|
||||||
|
|
||||||
after switching to the nix flake you will need to do the following manually:
|
|
||||||
- set display scaling to spacious
|
|
||||||
- disable spotlight's keyboard shortcut and setup raycast
|
|
||||||
- setup rectangle, lulu, easy move+resize, linearmouse, battery and alttab
|
|
||||||
- enable the keybinds to switch workspaces in settings
|
|
||||||
- enable firewall
|
|
||||||
### POSIX/linux system
|
|
||||||
you will need to first install `stow` and `git` using your distro's package manager. after that you can link the dotfiles with `stow stow`.
|
|
||||||
|
|
||||||
you probably also may need to install various CLI apps like:
|
|
||||||
- zsh
|
|
||||||
- bat
|
|
||||||
- zoxide
|
|
||||||
- neovim
|
|
||||||
- tlrc
|
|
||||||
- file
|
|
||||||
- ripgrep
|
|
||||||
- wget
|
|
||||||
- unzip
|
|
||||||
- fastfetch
|
|
||||||
- trash-cli
|
|
||||||
|
|
||||||
a full list of CLI apps needed is in `modules/shell.nix`
|
|
||||||
|
|
||||||
# misc
|
|
||||||
all content in this repository is licensed under the BSD0 license aka 0-Clause BSD license.
|
all content in this repository is licensed under the BSD0 license aka 0-Clause BSD license.
|
||||||
```
|
```
|
||||||
Permission to use, copy, modify, and/or distribute this software for
|
Permission to use, copy, modify, and/or distribute this software for
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 233 KiB |
BIN
assets/linux-bocchi-fastfetch.webp
Normal file
|
After Width: | Height: | Size: 235 KiB |
BIN
assets/linux-mafuyu.webp
Normal file
|
After Width: | Height: | Size: 324 KiB |
BIN
assets/linux-oneshot-launcher.webp
Normal file
|
After Width: | Height: | Size: 102 KiB |
BIN
assets/macos-bocchi-fastfetch.webp
Normal file
|
After Width: | Height: | Size: 174 KiB |
BIN
assets/macos-nene.webp
Normal file
|
After Width: | Height: | Size: 124 KiB |
BIN
assets/macos-oneshot-light.webp
Normal file
|
After Width: | Height: | Size: 73 KiB |