nix/readme.md
Daniel Flanagan a508cc301b
Some checks failed
/ build-host (map[host:beefcake]) (push) Failing after 1m13s
/ build-host (map[host:dragon]) (push) Failing after 23s
/ build-host (map[host:flipflop]) (push) Failing after 16s
/ build-host (map[host:foxtrot]) (push) Failing after 16s
/ build-host (map[host:router]) (push) Failing after 17s
/ build-devshell (push) Failing after 17s
/ flake-check (push) Failing after 17s
feat: use matrix for simpler and parallel host builds
Also some general cleanup of the workflow YAML
2025-03-19 12:04:36 -05:00

78 lines
1.9 KiB
Markdown

<div align="center">
<h1>
<img width="100" src="lib/images/Nix_snowflake_lytedev.svg" /> <br>
Nix for <code>lytedev</code>
</h1>
[![pre-merge status](https://git.lyte.dev/lytedev/nix/badges/workflows/pre-merge.yaml/badge.svg)](https://git.lyte.dev/lytedev/nix/actions?workflow=pre-merge.yaml)
</div>
My Nix monorepo and main Flake.
- Desktop configurations
- Laptop configurations
- Home server configurations
- Remote server configurations
- Home router configurations
- Packages
- Fonts
# Quick Start
```shell_session
$ nixos-rebuild switch --flake git+https://git.lyte.dev/lytedev/nix#${FLAKE_ATTR}
```
You don't have even have to clone this crap yourself. How cool is that! But if you do, it looks like this:
```shell_session
$ nixos-rebuild switch --flake ./repo/dir/for/nix#${FLAKE_ATTR}
```
## Secrets
If you're deploying anything secrets-related, you will need the proper keys:
```shell_session
$ mkdir -p ${XDG_CONFIG_HOME:-~/.config}/sops/age
$ pass age-key >> ${XDG_CONFIG_HOME:-~/.config}/sops/age/keys.txt
```
## NixOS
```shell_session
$ nixos-rebuild switch --flake .
```
## Not NixOS
**NOTE**: I pretty much solely use Home Manager as a NixOS module presently, so
this is not fully supported.
```shell_session
$ curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
$ nix run github:nix-community/home-manager switch --flake git+https://git.lyte.dev/lytedev/nix#${FLAKE_ATTR}
```
# Internal/Advanced Usage
See [lib/internal.md](./lib/internal.md).
# To Do
## Short Term
- gnome missing icons
- ghostty only notify if window or pane or w/e is not focused
- more-easily manage gitea repo mirroring to github?
- a.lyte.dev for web analytics is down
- grafana and stuff for monitoring
- alerts?
- Broot config?
## Long Term
- nix-darwin for work profile(s)
- https://medium.com/@zmre/nix-darwin-quick-tip-activate-your-preferences-f69942a93236