No description
This repository has been archived on 2024-07-08. You can view files and clone it, but cannot push or open issues or pull requests.
Find a file
2024-05-30 23:12:28 -05:00
.forgejo/workflows Add cachix auth token env. 2024-05-26 17:27:32 -05:00
.taskfiles Mixing things around 2024-05-30 21:33:06 -05:00
.vscode Mixing things around 2024-05-30 21:33:06 -05:00
nixos Moving stuff around 2024-05-30 23:12:28 -05:00
.envrc feat: add direnv shell 2024-03-18 20:02:10 +11:00
.gitignore Feat: containers and helios join the party (#79) 2024-04-10 18:00:25 +10:00
.gitleaksignore feat: warning for adguard schema mismatch (#109) 2024-04-18 11:38:42 +00:00
.pre-commit-config.yaml feat(deps): update pre-commit hook yuvipanda/pre-commit-hook-ensure-sops to v1.1 (#83) 2024-04-14 17:26:19 +10:00
.sops.yaml Updating secrets. 2024-05-10 22:03:57 -05:00
flake.lock Lock file maintenance 2024-05-27 03:05:48 +00:00
flake.nix Mixing things around 2024-05-30 21:33:06 -05:00
README.md reduce, reuse, refine (#3) 2024-05-19 06:39:08 -05:00
renovate.json tests on 2024-05-26 13:36:34 -05:00
shell.nix Mixing things around 2024-05-30 21:33:06 -05:00
Taskfile.yaml Feat: add probot settings ci & doc comments (#28) 2024-03-27 06:39:44 +00:00

jahanson's homelab

Repository Documentation

Thank you Truxnell

Thank you for a lot of the groundwork you laid for the base nixos configuration and a lot of modules!

Getting started

To Install

nixos-rebuild switch --flake github:jahanson/nix-config-tn#HOST

Goals

  • Learn nix
  • Services I want to separate from my kubernetes cluster I will use Nix.
  • Approval-based update automation for flakes.
  • Expand usage to other shell environments such as WSL, etc
  • keep it simple, use trusted boring tools

TODO

  • Forgejo Actions
  • Bring over hosts
    • git.hsn.dev
    • Telperion (network services)
    • Gandalf (NixNAS)
    • Thinkpad T470

Checklist

Adding a new node

  • Ensure secrets are grabbed from note and all sops re-encrypte with task sops:re-encrypt
  • Add to relevant github action workflows
  • Add to .github/settings.yaml for PR checks

Applying configuration changes on a local machine can be done as follows:

cd ~/dotfiles
sudo nixos-rebuild switch --flake .
# This will automatically pick the configuration name based on the hostname

Applying configuration changes to a remote machine can be done as follows:

cd ~/dotfiles
nixos-rebuild switch --flake .#nameOfMachine --target-host machineToSshInto --use-remote-sudo

Hacking at nix files

Eval config to see what keys are being set.

nix eval .#nixosConfigurations.rickenbacker.config.security.sudo.WheelNeedsPassword
nix eval .#nixosConfigurations.rickenbacker.config.mySystem.security.wheelNeedsPassword

And browsing whats at a certain level in options - or just use nix-inspect TUI

nix eval .#nixosConfigurations.rickenbacker.config.home-manager.users.jahanson --apply builtins.attrNames --json

Quickly run a flake to see what the next error message is as you hack.

nixos-rebuild dry-run --flake . --fast --impure