chore: redo README completely
redoes the installation instructions, gives a bit more of an overview of whats in the repo and adds a screenshot.
This commit is contained in:
parent
6f50e9b4df
commit
d0903fa191
2 changed files with 85 additions and 37 deletions
122
README.md
122
README.md
|
|
@ -1,46 +1,94 @@
|
||||||
# my little nix system
|
# dots
|
||||||
|
## overview
|
||||||
|
<img width="60%" align="right" src="assets/desktop.jpg">
|
||||||
|
|
||||||
|
my dotfiles for NixOS, macOS or POSIX systems. primarily for systems that support [Nix](https://nixos.org) since they have declarative configuration.
|
||||||
|
- OS: [NixOS](https://nixos.org) and MacOS
|
||||||
|
- Shell: [zsh](https://www.zsh.org/)
|
||||||
|
- Terminal: [Ghostty](https://ghostty.org/)
|
||||||
|
- Browser: Firefox
|
||||||
|
|
||||||
|
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.
|
||||||
|
- Status Bar: [Waybar](https://github.com/Alexays/Waybar)
|
||||||
|
- Run Launcher: [Walker](https://github.com/abenz1267/walker)
|
||||||
|
|
||||||
## installation
|
## installation
|
||||||
### linux - desktop
|
### NixOS
|
||||||
1. Boot up NixOS live iso on a system.
|
boot up a NixOS live installation image and clone the flake. run the following if reinstalling on a host:
|
||||||
2. Clone flake
|
```sh
|
||||||
3. Make a folder for the system under hosts/
|
sudo nano /tmp/secret.key # set password used to unlock LUKS encryption
|
||||||
4. Run `nixos-generate-config --dir hosts/HOSTNAME`
|
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
|
||||||
6. Set LUKS encryption passphrase via `sudo nano /tmp/secret.key`
|
sudo nixos-install --flake .#HOSTNAME # install base NixOS system
|
||||||
7. Run disko `sudo nix --experimental-features "nix-command flakes" run github:nix-community/disko/latest -- --mode destroy,format,mount /path/to/disko-config.nix`
|
```
|
||||||
8. Copy over flake directory to new system
|
|
||||||
9. Install system with `sudo nixos-install --flake .#HOSTNAME` - set a password for root
|
|
||||||
10. Reboot into new system.
|
|
||||||
11. Open a terminal and run `passwd`
|
|
||||||
12. Log into normal user and configure networking via `nmtui`
|
|
||||||
13. Apply dotfiles via `stow stow` in the base of the dotfiles directory.
|
|
||||||
14. Download a wallpaper and apply it via `matugen image`
|
|
||||||
|
|
||||||
#### Secure boot
|
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.
|
||||||
If a system has a secure boot, install the system WITHOUT the secureboot module. Once the steps above have been completed return here.
|
|
||||||
|
#### setting up a new system
|
||||||
|
if setting up a new system, first boot up a NixOS live installation image and run:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
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.
|
||||||
|
|
||||||
1. Generate secureboot signing keys with `sudo nix run nixpkgs#sbctl create-keys`
|
|
||||||
2. Rebuild the system WITH the secureboot module.
|
|
||||||
3. Run `sudo sbctl verify` to check if SOME of the files are signed.
|
|
||||||
4. Reboot your system, in the UEFI enable onboarding secureboot keys, usually a setting called 'Reset to setup mode'.
|
|
||||||
5. Boot into your NixOS system and run `sudo sbctl enroll-keys --microsoft` to enroll your keys.
|
|
||||||
6. Reboot into your UEFI again and enable secure boot.
|
|
||||||
|
|
||||||
### macOS
|
### macOS
|
||||||
1. Install xcode developer tools, determinate nix and brew.
|
after going through the MacOS setup wizard, do the following:
|
||||||
```sh
|
```sh
|
||||||
xcode-select --install
|
xcode-select --install # install xcode developer tools
|
||||||
curl -fsSL https://install.determinate.systems/nix | sh -s -- install --determinate
|
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)"
|
/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
|
||||||
```
|
```
|
||||||
2. Install Nix flake to system. `nix run nix-darwin/master#darwin-rebuild -- switch`
|
|
||||||
3. Reboot
|
after switching to the nix flake you will need to do the following manually:
|
||||||
4. Install OpenUTAU `https://github.com/stakira/OpenUtau/releases/latest/download/OpenUtau-osx-x64.dmg`
|
- set display scaling to spacious
|
||||||
5. Configure non-automated settings
|
- disable spotlight's keyboard shortcut and setup raycast
|
||||||
- set accent colour
|
- setup rectangle, lulu, easy move+resize, linearmouse, battery and alttab
|
||||||
- set display to be spacious
|
- enable the keybinds to switch workspaces in settings
|
||||||
- customise spotlight settings
|
|
||||||
- disable bluetooth
|
|
||||||
- enable firewall
|
- enable firewall
|
||||||
- set wallpaper
|
### POSIX/linux system
|
||||||
- enable switching workspace keybinds
|
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.
|
||||||
|
```
|
||||||
|
Permission to use, copy, modify, and/or distribute this software for
|
||||||
|
any purpose with or without fee is hereby granted.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL
|
||||||
|
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
|
||||||
|
FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
|
||||||
|
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
|
||||||
|
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
|
||||||
|
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
```
|
||||||
|
|
|
||||||
BIN
assets/desktop.jpg
Normal file
BIN
assets/desktop.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 233 KiB |
Loading…
Add table
Add a link
Reference in a new issue