Compare commits

..

No commits in common. "f0c708c93b0560e52857edf14aac6bbcdf9bb7db" and "525cc4925ad28c923bde262764b9101301d31d99" have entirely different histories.

5 changed files with 73 additions and 36 deletions

1
.gitleaksignore Normal file
View file

@ -0,0 +1 @@
nixos/modules/nixos/services/adguardhome/default.nix:hashicorp-tf-password:47

View file

@ -7,7 +7,7 @@ repos:
hooks: hooks:
- args: - args:
- --config-file - --config-file
- .yamllint.yaml - .github/lint/.yamllint.yaml
id: yamllint id: yamllint
- repo: https://github.com/pre-commit/pre-commit-hooks - repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0 rev: v4.6.0

View file

@ -1,27 +0,0 @@
---
ignore: |
.direnv/
.private/
.vscode/
*.sops.*
extends: default
rules:
truthy:
allowed-values: ["true", "false", "on"]
comments:
min-spaces-from-content: 1
line-length: disable
braces:
min-spaces-inside: 0
max-spaces-inside: 1
brackets:
min-spaces-inside: 0
max-spaces-inside: 0
indentation: enable

View file

@ -1,5 +1,19 @@
# jahanson's homelab # jahanson's homelab
[Repository Documentation](https://truxnell.github.io/nix-config/)
## 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
```sh
nixos-rebuild switch --flake github:jahanson/nix-config-tn#HOST
```
## Goals ## Goals
- [ ] Learn nix - [ ] Learn nix
@ -10,14 +24,60 @@
## TODO ## TODO
- [ x ] Forgejo Actions - [ ] Forgejo Actions
- [ ] Bring over hosts - [ ] Bring over hosts
- [ x ] Varda (forgejo) - [ ] git.hsn.dev
- [ ] Telperion (network services) - [ ] Telperion (network services)
- [ ] Gandalf (NixNAS) - [ ] Gandalf (NixNAS)
- [ x ] Thinkpad T470 - [ ] 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:
```sh
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:
```sh
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.
```bash
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](https://github.com/bluskript/nix-inspect) TUI
```bash
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.
```bash
nixos-rebuild dry-run --flake . --fast --impure
```
## Links & References ## Links & References
- [truxnell/dotfiles](https://github.com//truxnell/nix-config/) - [Misterio77/nix-starter-config](https://github.com/Misterio77/nix-starter-configs)
- [billimek/dotfiles](https://github.com/billimek/dotfiles/) - [billimek/dotfiles](https://github.com/billimek/dotfiles/)
- [Erase your Darlings](https://grahamc.com/blog/erase-your-darlings/)
- [NixOS Flakes](https://www.tweag.io/blog/2020-07-31-nixos-flakes/)

View file

@ -3,9 +3,12 @@
version: "3" version: "3"
includes: includes:
sops: sop:
taskfile: ".taskfiles/sops" taskfile: ".taskfiles/sops"
dir: .taskfiles/sops dir: .taskfiles/sops
nix:
taskfile: ".taskfiles/nix"
dir: "{{.ROOT_DIR}}"
pre: pre:
taskfile: ".taskfiles/pre-commit" taskfile: ".taskfiles/pre-commit"
dir: "{{.ROOT_DOR}}" dir: "{{.ROOT_DOR}}"