Compare commits
No commits in common. "f0c708c93b0560e52857edf14aac6bbcdf9bb7db" and "525cc4925ad28c923bde262764b9101301d31d99" have entirely different histories.
f0c708c93b
...
525cc4925a
5 changed files with 73 additions and 36 deletions
1
.gitleaksignore
Normal file
1
.gitleaksignore
Normal file
|
@ -0,0 +1 @@
|
||||||
|
nixos/modules/nixos/services/adguardhome/default.nix:hashicorp-tf-password:47
|
|
@ -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
|
||||||
|
|
|
@ -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
|
|
68
README.md
68
README.md
|
@ -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/)
|
||||||
|
|
|
@ -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}}"
|
||||||
|
|
Reference in a new issue