mirror of
https://github.com/kittywitch/nixfiles.git
synced 2026-02-09 04:19:19 -08:00
[README] Update
This commit is contained in:
parent
73470b1f68
commit
8f7af1c9af
1 changed files with 66 additions and 9 deletions
75
README.md
75
README.md
|
|
@ -1,21 +1,78 @@
|
|||
# kittywitch infrastructure
|
||||
|
||||
This project uses:
|
||||
This repository is my personal infrastructure repository. It contains the Nix and Terraform I leverage.
|
||||
|
||||
* Nix
|
||||
* deploy-rs (without nix flake check malarkey)
|
||||
* sops-nix
|
||||
* Terraform Cloud
|
||||
* and many other things ...
|
||||
## Structure
|
||||
|
||||
| Path | Purpose |
|
||||
| -------------- | ------------------------------------------------------------------------------------------------- |
|
||||
| common/ | Common imports to NixOS and macOS systems |
|
||||
| darwin/ | macOS (nix-darwin) related configuration |
|
||||
| darwin/common | Imported into all nix-darwin systems |
|
||||
| kat | Configurations relevant to my use of a computer, including base16 + vscodium |
|
||||
| kat/common | Disables manuals |
|
||||
| kat/gnome | GNOME. |
|
||||
| kat/gui | Packages I use on a host that has a WM / DE. |
|
||||
| kat/neovim | Text editor of choice, though VSCode or a JetBrains IDE normally takes forefront for development. |
|
||||
| kat/shell | My shell configs. I use zsh, fzf, z, starship, exa, rg, fd, sd, ... |
|
||||
| kat/sway | My tiling window manager of choice (though I'll happily take i3 too) |
|
||||
| kat/user | Per-system type configurations. Data on my user. |
|
||||
| modules/nixos | An area for more reusable NixOS modules |
|
||||
| modules/darwin | An area for more reusable nix-darwin modules |
|
||||
| modules/home | An area for more reusable home-manager modules |
|
||||
| nixos/ | NixOS related configuration |
|
||||
| nixos/common | Imported into all NixOS systems |
|
||||
| nixos/hardware | Per-machine hardware configuration |
|
||||
| nixos/roles | Roles / services / ... |
|
||||
| packages/ | Package overlay |
|
||||
| shells/ | nix develop shells / devShells |
|
||||
| systems/ | A collection of NixOS hosts and a nix-darwin host. |
|
||||
| tf/ | Terraform! |
|
||||
| .envrc | direnv config |
|
||||
| .sops.yaml | Secrets (user & hosts) config |
|
||||
| default.nix | flake-compat |
|
||||
| flake.nix | flake inputs |
|
||||
| formatter.nix | flake formatter of choice |
|
||||
| outputs.nix | flake outputs |
|
||||
| overlays.nix | nixpkgs overlays |
|
||||
| pkgs.nix | nixpkgs config |
|
||||
| std.nix | Overlay to [nix-std](https://github.com/chessai/nix-std) |
|
||||
| tree.nix | The configuration system used by my import handler, [tree](https://github.com/kittywitch/tree) |
|
||||
|
||||
## Usage
|
||||
|
||||
```bash
|
||||
nix shell nixpkgs#repo
|
||||
nix shell github:kittywitch/kittywitch#repo
|
||||
# get the repo shell
|
||||
nix develop .#repo
|
||||
|
||||
# get the repo shell from outside of the repo
|
||||
nix develop github:kittywitch/kittywitch#repo
|
||||
|
||||
# use direnv to get the repo shell
|
||||
direnv allow
|
||||
|
||||
# repl
|
||||
nix repl .
|
||||
nix repl
|
||||
:lf .
|
||||
|
||||
# deploy locally
|
||||
sudo nixos-rebuild --flake .#$HOST switch --show-trace
|
||||
deploy-rs .#$HOST
|
||||
|
||||
# deploy with deploy-rs (without checks)
|
||||
deploy-rs -s .#$HOST
|
||||
|
||||
# edit a secret file
|
||||
sops ./systems/yukari.yaml
|
||||
|
||||
# output a secret file
|
||||
sops -d ./systems/yukari.yaml
|
||||
|
||||
# plan an apply
|
||||
terraform plan
|
||||
```
|
||||
|
||||
|
||||
## To-dos
|
||||
|
||||
- [ ] Figure out roles/ vs profiles more.
|
||||
Loading…
Add table
Add a link
Reference in a new issue