Last 24.05 update
This commit is contained in:
parent
1583241c31
commit
36c3f13acb
12
flake.lock
generated
12
flake.lock
generated
@ -58,11 +58,11 @@
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1728909085,
|
||||
"narHash": "sha256-WLxED18lodtQiayIPDE5zwAfkPJSjHJ35UhZ8h3cJUg=",
|
||||
"lastModified": 1730741070,
|
||||
"narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c0b1da36f7c34a7146501f684e9ebdf15d2bebf8",
|
||||
"rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@ -88,11 +88,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1728888510,
|
||||
"narHash": "sha256-nsNdSldaAyu6PE3YUA+YQLqUDJh+gRbBooMMekZJwvI=",
|
||||
"lastModified": 1730785428,
|
||||
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a3c0b3b21515f74fd2665903d4ce6bc4dc81c77c",
|
||||
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -1,13 +1,44 @@
|
||||
# Create proxy network
|
||||
`docker network create proxy`
|
||||
# Configuration steps
|
||||
|
||||
# Configure caddy cloudflare
|
||||
Find instructions on [caddy-dns cloudflare](https://github.com/caddy-dns/cloudflare)
|
||||
## 1. Install [NixOS](https://nixos.org/)
|
||||
|
||||
Follow the steps from the [NixOS Manual Installation](https://nixos.org/manual/nixos/stable/#sec-installation-manual)
|
||||
|
||||
> At the edit configuration.nix step you must:
|
||||
>
|
||||
> - Add a user to the configuration file and set a password
|
||||
> - Enable openssh
|
||||
|
||||
## 2. Configuring flake
|
||||
|
||||
1. Clone this repository
|
||||
2. Copy hardware configuration to host<br>
|
||||
`cp /etc/nixos/hardware-configuration.nix ~/nix/hosts/<host>/hardware-configuration.nix`
|
||||
3. Rebuild system
|
||||
`sudo nixos-rebuild switch --flake .#<host>`
|
||||
4. Rebuild home-manager
|
||||
`home-manager switch --flake .#<user>@<host>`
|
||||
5. Reboot
|
||||
|
||||
## 3. Configuring docker containers
|
||||
|
||||
1. Create proxy network<br>
|
||||
`docker network create proxy`
|
||||
|
||||
2. Configure [Adguard](./adguard/README.md)
|
||||
3. Configure [Caddy](./caddy/README.md)
|
||||
4. Configure [Authelia](./authelia/README.md)
|
||||
5. Configure the rest of the services
|
||||
|
||||
# Services
|
||||
|
||||
| Name | Use | Domain | Auth |
|
||||
| --- | --- | --- | --- |
|
||||
| ------- | -------------- | ----------------------------- | ------ |
|
||||
| Adguard | DNS | https://adguard.timo.bmrs.nl/ | local |
|
||||
| Caddy | Reverse proxy | - | - |
|
||||
| Forgejo | Git | https://git.timo.bmrs.nl/ | Openid |
|
||||
| Ldap | User directory | https://ldap.timo.bmrs.nl/ | - |
|
||||
|
||||
# Services to try out
|
||||
|
||||
- [Beszel](https://github.com/henrygd/beszel)
|
||||
|
7
homelab/adguard/README.md
Normal file
7
homelab/adguard/README.md
Normal file
@ -0,0 +1,7 @@
|
||||
# Adguard Home
|
||||
|
||||
1. Temporaraly edit ports in docker-compose file to setup
|
||||
2. Configuration screen<br>
|
||||
1. Change listen interface to port 3000
|
||||
3. Add DNS rewrite for *.timo.bmrs.nl
|
||||
4. Delete temporaraly port edit in docker-compose
|
@ -1,2 +1,13 @@
|
||||
- Follow [This](https://www.authelia.com/configuration/identity-providers/openid-connect/provider/) guide for generating keys
|
||||
- Store the keys in the /keys directory
|
||||
# Authelia
|
||||
|
||||
1. Edit environment variables.
|
||||
1. For HMAC_SECRET, JWT_SECRET, ADMIN_PASSWORD, SESSION_SECRET, STORAGE_ENCRYPTION_KEY, LLDAP_KEY_SEED use an random alphanumeric string of at least 64 characters
|
||||
2. For CLIENT_SECRET, CLIEND_ID: [Generate client identifier](https://www.authelia.com/integration/openid-connect/frequently-asked-questions/#how-do-i-generate-a-client-identifier-or-client-secret)
|
||||
1. Use single quotes for the client secret
|
||||
|
||||
2. Generate PAM file using and save it to the /config/keys directory: [Generating keypair](https://www.authelia.com/reference/guides/generating-secure-values/#generating-an-rsa-keypair)
|
||||
1. Save the random password
|
||||
|
||||
3. Configure LLDAP
|
||||
1. Create a user in LLDAP with the group: lldap_password_manager
|
||||
2. Create groups: forgejo
|
||||
|
@ -1,2 +1,4 @@
|
||||
# Caddy reverse proxy
|
||||
Follow [this](https://github.com/caddy-dns/cloudflare) to obtain secrets
|
||||
|
||||
1. Obtain cloudflare tokens: [Caddy Cloudflare](https://github.com/caddy-dns/cloudflare)
|
||||
2. Set environment variables
|
||||
|
4
homelab/nextcloud/README.md
Normal file
4
homelab/nextcloud/README.md
Normal file
@ -0,0 +1,4 @@
|
||||
# Nextcloud
|
||||
|
||||
1. Configure environment variables
|
||||
2. Update office configuration
|
@ -50,11 +50,15 @@
|
||||
unstable.prusa-slicer
|
||||
signal-desktop
|
||||
unstable.vesktop
|
||||
unstable.goofcord
|
||||
unstable.blender
|
||||
unstable.legcord
|
||||
unstable.webcord
|
||||
blender
|
||||
unstable.xournalpp
|
||||
freecad
|
||||
loupe
|
||||
unstable.rnote
|
||||
scrcpy
|
||||
unstable.bottles
|
||||
|
||||
|
||||
# Office
|
||||
libreoffice
|
||||
|
@ -7,6 +7,8 @@
|
||||
unstable.svls
|
||||
unstable.nil
|
||||
unstable.nixpkgs-fmt
|
||||
unstable.tectonic
|
||||
unstable.texlab
|
||||
dprint
|
||||
];
|
||||
|
||||
@ -45,6 +47,40 @@
|
||||
command = "svls";
|
||||
};
|
||||
|
||||
language-server.texlab = {
|
||||
config = {
|
||||
texlab.chktex = {
|
||||
onOpenAndSave = true;
|
||||
onEdit = true;
|
||||
};
|
||||
texlab.forwardSearch = {
|
||||
executable = "zathura";
|
||||
args = [
|
||||
"--synctex-forward"
|
||||
"%l:%c:%f"
|
||||
"%p"
|
||||
];
|
||||
};
|
||||
texlab.build = {
|
||||
auxDirectory = "build";
|
||||
logDirectory = "build";
|
||||
pdfDirectory = "build";
|
||||
forwardSearchAfter = true;
|
||||
onSave = true;
|
||||
executable = "tectonic";
|
||||
args = [
|
||||
"-X"
|
||||
"compile"
|
||||
"--synctex"
|
||||
"--keep-logs"
|
||||
"--keep-intermediates"
|
||||
"--outdir=build"
|
||||
"%f"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
language = [
|
||||
{
|
||||
name = "verilog";
|
||||
@ -65,6 +101,11 @@
|
||||
formatter.command = "dprint";
|
||||
formatter.args = ["fmt" "--stdin" "md" "--config" "/home/xeovalyte/.config/.dprint.json"];
|
||||
}
|
||||
{
|
||||
name = "typst";
|
||||
auto-format = false;
|
||||
formatter.command = "${pkgs.typstfmt}/bin/typstfmt";
|
||||
}
|
||||
];
|
||||
};
|
||||
themes = {
|
||||
|
@ -60,16 +60,20 @@
|
||||
name = "Brightspace";
|
||||
bookmarks = [
|
||||
{
|
||||
name = "LCA";
|
||||
url = "https://brightspace.tudelft.nl/d2l/le/content/681008/Home";
|
||||
name = "Books";
|
||||
url = "https://drive.google.com/drive/folders/1L5OTbn5p3i7_Nc80hc5PztiEGHKwi-I4";
|
||||
}
|
||||
{
|
||||
name = "DSA";
|
||||
url = "https://brightspace.tudelft.nl/d2l/le/content/681012/Home";
|
||||
name = "LCB";
|
||||
url = "https://brightspace.tudelft.nl/d2l/le/content/681010/Home";
|
||||
}
|
||||
{
|
||||
name = "iEE";
|
||||
url = "https://brightspace.tudelft.nl/d2l/le/content/681018/Home";
|
||||
name = "Calculus";
|
||||
url = "https://brightspace.tudelft.nl/d2l/le/content/681024/Home";
|
||||
}
|
||||
{
|
||||
name = "IP1";
|
||||
url = "https://brightspace.tudelft.nl/d2l/le/content/681020/Home";
|
||||
}
|
||||
];
|
||||
}
|
||||
|
@ -51,6 +51,7 @@
|
||||
follow_mouse = 2;
|
||||
touchpad = {
|
||||
natural_scroll = true;
|
||||
scroll_factor = 0.5;
|
||||
clickfinger_behavior = true;
|
||||
};
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user