kat's configuration flake
Find a file
2023-08-20 13:19:56 -07:00
common Syncing sumireko configs 2023-06-16 10:03:37 -07:00
darwin Cleanups 2023-07-17 15:07:23 -07:00
kat Cleanup lib use, move to std where possible, use upstream nvim module 2023-07-30 10:02:03 -07:00
modules konawall for macOS 2023-07-30 12:59:15 -07:00
nixos Disable autoupgrade 2023-08-19 09:26:38 -07:00
packages Synapse cleanup, monitoring 2023-07-29 12:37:48 -07:00
shells [CLOUDFLARE PAGES] kittywit.ch 2023-04-29 14:06:20 -07:00
systems Working PGP and SSH for Chen 2023-08-20 13:19:56 -07:00
tf Public terraform 2023-08-09 12:25:52 -07:00
.envrc feat: overlays + pkgs 2023-01-27 15:20:34 -08:00
.gitignore renko testing setup 2023-07-28 10:40:11 -07:00
.gitmodules [POSTGRES] Dependencies 2023-05-06 18:33:31 -07:00
.sops.yaml Syncing goliath configs 2023-06-16 10:04:53 -07:00
default.nix feat: pulumi, nix-std, ... 2023-01-18 13:35:31 -05:00
flake.lock Prom-MC 2023-08-14 09:24:57 -07:00
flake.nix Public terraform 2023-08-09 12:25:52 -07:00
formatter.nix feat: overlays + pkgs 2023-01-27 15:20:34 -08:00
outputs.nix [STYLE/REFACTOR] Deadnix, Alejandra and Statix 2023-04-25 16:48:32 -07:00
overlays.nix konawall for macOS 2023-07-30 12:59:15 -07:00
pkgs.nix [STYLE/REFACTOR] Deadnix, Alejandra and Statix 2023-04-25 16:48:32 -07:00
README.md [ROLES] Clean up a bit. 2023-04-30 16:24:20 -07:00
std.nix feat: renko hostname 2023-01-30 10:04:27 -08:00
tree.nix Public terraform 2023-08-09 12:25:52 -07:00

kittywitch infrastructure

This repository is my personal infrastructure repository. It contains the Nix and Terraform I leverage.

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. Including dconf configuration.
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
tree.nix The configuration system used by my import handler, tree

Usage

# 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 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.