Skip to content

Commit

Permalink
docs: expand details on readme
Browse files Browse the repository at this point in the history
  • Loading branch information
isabelroses committed Jun 28, 2024
1 parent 635a2e0 commit a4c7597
Showing 1 changed file with 71 additions and 44 deletions.
115 changes: 71 additions & 44 deletions .github/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,37 @@
<img alt="dots" src="./dots.svg" width="150" />
<h1>isabel's dotfiles</h1>

<img alt="stars" src="https://img.shields.io/github/stars/isabelroses/dotfiles?color=f5c2e7&labelColor=303446&style=for-the-badge&logo=starship&logoColor=f5c2e7">
<!--<img alt="ci" src="https://img.shields.io/github/actions/workflow/status/isabelroses/dotfiles/check.yml?label=build&color=a6e3a1&labelColor=303446&style=for-the-badge&logo=github&logoColor=a6e3a1" />-->
<img alt="repo size" src="https://img.shields.io/github/repo-size/isabelroses/dotfiles?color=fab387&labelColor=303446&style=for-the-badge&logo=github&logoColor=fab387">
<img alt="stars" src="https://img.shields.io/github/stars/isabelroses/dotfiles?color=f5c2e7&labelColor=303446&style=for-the-badge&logo=starship&logoColor=f5c2e7" />
<img alt="ci" src="https://img.shields.io/github/actions/workflow/status/isabelroses/dotfiles/check.yml?label=build&color=a6e3a1&labelColor=303446&style=for-the-badge&logo=github&logoColor=a6e3a1" />
<img alt="repo size" src="https://img.shields.io/github/repo-size/isabelroses/dotfiles?color=fab387&labelColor=303446&style=for-the-badge&logo=github&logoColor=fab387" />
<img alt="license" src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=GPL-3&logoColor=ca9ee6&colorA=313244&colorB=cba6f7" />
<img alt="nixos-unstable" src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor=303446&logo=NixOS&logoColor=white&color=91D7E3" />
</div>

<br />

![preview.png](./preview.png)
![Preview image](./preview.png)

<!--toc:start-->

- [Foreword](#foreword)
- [What does this repo provided](#what-does-this-repo-provided)
- [Shortcuts](#shortcuts)
- [Config layout](#config-layout)
- [Install Notes](#install-notes)
- [NixOS](#nixos)
- [macOS](#macos)
- [Usage Notes](#usage-notes)
- [Using the templates](#using-the-templates)
- [Shortcuts](#shortcuts)
- [Installation Notes](#installation-notes)
- [NixOS](#nixos)
- [macOS](#macos)
- [Awesome people, they really helped me learn](#awesome-people-they-really-helped-me-learn)
<!--toc:end-->

### Foreword

This repository contains my **personal** configuration for my systems. Its really important that you know it's **personal** and not everything will fit your needs or even work out of the box for you without some changes.

It's also significant to not that this configuration will **not** work if you do not change any of the [secrets](../secrets) since they are encrypted.

### What does this repo provided

- Several applications and tools for the same purpose, so you can choose the one that best suits your needs
Expand All @@ -31,7 +42,48 @@
- `bash`, `zsh`, `fish` and `nushell` for shells
- Modular configuration, so you can add or remove parts of the configuration
- Sensible defaults, so you can get started quickly
- [Catppuccin](https://github.com/catppuccin/catppucin) everywhere
- Docs kind of
- [Catppuccin](https://github.com/catppuccin/catppucin) everywhere, with a hint of [evergarden](https://github.com/comfysage/evergarden)

### Config layout

- ๐Ÿ  [home](../home/) Where all home-manager configurations lie
- ๐Ÿ–ฅ๏ธ [hosts](../hosts/)
- โ˜€๏ธ [Amaterasu](../hosts/amatarasu/) My high-end gaming machine
- ๐Ÿ‰ [Hydra](../hosts/hydra/) A super mid spec laptop
- โšธ [Lilith](../hosts/lilith/) A NixOS ISO image that can be quickly deployed and accessed via ssh
- ๐Ÿช„ [Luz](../hosts/luz/) A server configuration for some of my infrastructure
- ๐–ค [Valkyrie](../hosts/valkyrie/) A WSL2 host, designed to be a development environment on Windows
- ๐Ÿ’ฎ [Tatsumaki](../hosts/tatsumaki/) A MacBook Air, configured to last a whole day of university
- ๐Ÿงฉ [parts](../parts/) NixOS parts breaking down the complex configuration into smaller more manageable chunks
- ๐Ÿ“š [lib](../parts/lib/) Useful repeated functions
- ๐Ÿ› ๏ธ [templates](../parts/templates/) Templates for setting up development environments
- ๐Ÿ‘พ [modules](../parts/modules/) Exported modules for NixOS, home-manager and Nix Darwin
- ๐Ÿ—— [overlays](../parts/overlays/) Package overlays
- ๐Ÿ“ [docs](../docs/) Documentation for the configuration which can be found [here](https://isabelroses.github.io/dotfiles/)
- ๐Ÿ”Œ [modules](../modules/)
- [base](../modules/base/) The base configuration settings, which are common between all systems
- [darwin](../modules/darwin/) pre made modules for exclusively darwin systems
- [nixos](../modules/nixos/) pre cooked modules for exclusively nixos systems
- [iso](../modules/iso/) pre configured modules prepared for making NixOS iso images
- [extra](../modules/extra) extra configuration modules, for home-manager and Nix Darwin and NixOS
- [profiles](../modules/profiles/) pre made profiles for different system types
- [hardware](../modules/profiles/hardware) optimized settings for different devices (e.g. laptop, servers, desktop)
- [meta](../modules/profiles/meta) optimized configurations for different natures (e.g. headless, graphical)

> [!TIP]
> If you were looking for my custom modules or packages you should direct yourself to [isabelroses/beapkgs](https://github.com/isabelroses/beapkgs).
### Usage Notes

#### Using the templates

To use the templates there are two commands you can run, they are:

- `nix flake init -t github:isabelroses/dotfiles#<template>` to initialize a new project with the template
- `nix flake new -t github:isabelroses/dotfiles#<template> <out dir>` to create a new project in the specified directory

For the full list of templates you can look in the [templates](../parts/templates/) directory or run `nix flake show github:isabelroses/dotfiles`.

<details>
<summary>
Expand All @@ -55,60 +107,35 @@

</details>

### Config layout

- ๐Ÿ  [home](../home/)
- ๐Ÿ–ฅ๏ธ [hosts](../hosts/)
- โ˜€๏ธ [Amaterasu](../hosts/amatarasu/) My high-end gaming machine
- ๐Ÿ‰ [Hydra](../hosts/hydra/) A super mid spec laptop
- โšธ [Lilith](../hosts/lilith/) A NixOS ISO image that can be quickly deployed and accessed via ssh
- ๐Ÿช„ [Luz](../hosts/luz/) A server configuration for some of my infrastructure
- ๐–ค [Valkyrie](../hosts/valkyrie/) A WSL2 host, designed to be a development environment on Windows
- ๐Ÿ’ฎ [Tatsumaki](../hosts/tatsumaki/) A MacBook Air, configured to last a whole day of university
- ๐Ÿงฉ [parts](../parts/) NixOS parts breaking down the complex configuration into smaller more manageable chunks
- ๐Ÿ“š [lib](../parts/lib/) Useful repeated functions
- ๐Ÿ“ฆ [packages](https://github.com/isabelroses/beapkgs) NixOS packages, these have been moved to a separate repository
- ๐Ÿ› ๏ธ [templates](../parts/templates/) Templates for setting up development environments
- ๐Ÿ‘พ [modules](../parts/modules/) Exported modules for NixOS, home-manager and Nix Darwin
- ๐Ÿ—— [overlays](../parts/overlays/) Package overlays
- ๐Ÿ“ [docs](../docs/) Documentation for the configuration which can be found [here](https://isabelroses.github.io/dotfiles/)
- ๐Ÿ”Œ [modules](../modules/)
- [base](../modules/base/) The base configuration settings, which are common between all systems
- [darwin](../modules/darwin/) Configuration modules for exclusively darwin systems
- [nixos](../modules/nixos/) Configuration modules for exclusively nixos systems
- [extra](../modules/extra) Extra configuration modules, for home-manager and Nix Darwin and NixOS
- [profiles](../modules/profiles/) System type configurations (e.g. laptop, servers, desktop)

### Install Notes
#### Installation Notes

#### NixOS
##### NixOS

- Install [NixOS](https://nixos.org/download), you might need to follow the [manual](https://nixos.org/manual/nixos/stable/index.html#sec-installation)
You might want to use the [lilith iso configuration](../hosts/lilith/), provided in this repository
- To build it you can run `nix build .#images.lilith`.
- Or you can download it from the [release page](https://github.com/isabelroses/dotfiles/releases/tag/isos).
- Or you can download it from the [release page](https://github.com/isabelroses/dotfiles/releases/latest).
- Clone this repository to `~/.config/flake`
- Run `sudo nixos-rebuild switch --flake ~/.config/flake#<host>`

#### macOS
##### macOS

- Install [Lix](https://lix.systems/install/) the package manager
> `curl -sSf -L https://install.lix.systems/lix | sh -s -- install`
- Install [homebrew](https://brew.sh/)
> `curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash`
- Exclude nix from time machine backups
> `sudo tmutil addexclusion -v /nix`
- `nix run nix-darwin -- switch --flake ~/.config/flake#<host> --experimental-features "nix-command flakes"`
- `nix run nix-darwin -- switch --flake ~/.config/flake#<host>`
- Then good news you can use the `rebuild` alias that exists for the future

### Awesome people, they really helped me learn

- [NotAShelf](https://github.com/notashelf), lots of valuable information
- [comfysage](https://github.com/comfysage), for making my day that bit brighter and occasionally putting me on your back
- [getchoo](https://github.com/getchoo), for making catppucin/nix and helping a ton
- [nullishamy](https://github.com/nullishamy), for tricking me into using NixOS
- [nekowinston](https://github.com/nekowinston), for fixing half my problems
- [getchoo](https://github.com/getchoo), for making catppucin/nix and helping a ton
- [jakehamilton](https://github.com/jakehamilton), for teaching me too much about modules
- [nyxkrage](https://github.com/nyxkrage), for being there to answer my questions
- [jakehamilton](https://github.com/jakehamilton), for teaching me some little bit of know how
- [Minion3665](https://github.com/Minion3665), for making me write docs I guess

And anyone else I mentioned on my [neovim configuration](https://github.com/isabelroses/nvim).
- [NotAShelf](https://github.com/notashelf), lots of valuable information
- [Minion3665](https://github.com/Minion3665), for making me write better docs

0 comments on commit a4c7597

Please sign in to comment.