Compare commits
9 changed files with 97 additions and 10 deletions
|
|
@ -3,10 +3,3 @@ rewrite of my nixos flake with hopefully better structuring and modularity
|
||||||
|
|
||||||
> [!WARNING]
|
> [!WARNING]
|
||||||
> this flake is ment for personal use. code is not well documented and is not ment to be used by others. use at your own risk.
|
> this flake is ment for personal use. code is not well documented and is not ment to be used by others. use at your own risk.
|
||||||
|
|
||||||
## hosts
|
|
||||||
- `thinkpad` - my thinkpad t480 with an i5 8350u, 16gb of ram, and 256gb nvme ssd (140 allocated for nixos, rest for windows 11)
|
|
||||||
- `homelab` - my homelab server in a vm on a proxmox host with an i7 8700t, 32gb of ram, and 512gb boot drive (with hotplug enabled for cpu and ram)
|
|
||||||
|
|
||||||
## credits
|
|
||||||
- [orangc's flake](https://git.orangc.net/c/dots)
|
|
||||||
37
flake.lock
generated
37
flake.lock
generated
|
|
@ -123,12 +123,47 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs_4": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1772736753,
|
||||||
|
"narHash": "sha256-au/m3+EuBLoSzWUCb64a/MZq6QUtOV8oC0D9tY2scPQ=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "917fec990948658ef1ccd07cef2a1ef060786846",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"ctp": "ctp",
|
"ctp": "ctp",
|
||||||
"gl": "gl",
|
"gl": "gl",
|
||||||
"hm": "hm",
|
"hm": "hm",
|
||||||
"nixpkgs": "nixpkgs_3"
|
"nixpkgs": "nixpkgs_3",
|
||||||
|
"sops": "sops"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sops": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs_4"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1773096132,
|
||||||
|
"narHash": "sha256-M3zEnq9OElB7zqc+mjgPlByPm1O5t2fbUrH3t/Hm5Ag=",
|
||||||
|
"owner": "Mic92",
|
||||||
|
"repo": "sops-nix",
|
||||||
|
"rev": "d1ff3b1034d5bab5d7d8086a7803c5a5968cd784",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Mic92",
|
||||||
|
"repo": "sops-nix",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems": {
|
"systems": {
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
sops.url = "github:Mic92/sops-nix";
|
||||||
gl.url = "github:nix-community/nixGL";
|
gl.url = "github:nix-community/nixGL";
|
||||||
ctp.url = "github:catppuccin/nix";
|
ctp.url = "github:catppuccin/nix";
|
||||||
};
|
};
|
||||||
|
|
@ -30,6 +31,7 @@
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/${host}/config.nix
|
./hosts/${host}/config.nix
|
||||||
inputs.ctp.nixosModules.catppuccin
|
inputs.ctp.nixosModules.catppuccin
|
||||||
|
inputs.sops.nixosModules.sops
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -39,6 +41,7 @@
|
||||||
modules = [
|
modules = [
|
||||||
./hosts/${host}/config.nix
|
./hosts/${host}/config.nix
|
||||||
inputs.ctp.nixosModules.catppuccin
|
inputs.ctp.nixosModules.catppuccin
|
||||||
|
inputs.sops.nixosModules.sops
|
||||||
inputs.hm.nixosModules.home-manager
|
inputs.hm.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager = {
|
home-manager = {
|
||||||
|
|
|
||||||
|
|
@ -78,6 +78,7 @@
|
||||||
[ "Ntfy" "ntfy" "https://notify.proxy.${homelab.domain}" "http://localhost:8067/" ]
|
[ "Ntfy" "ntfy" "https://notify.proxy.${homelab.domain}" "http://localhost:8067/" ]
|
||||||
[ "SearXNG" "searxng" "https://search.proxy.${homelab.domain}" "http://localhost:8091/" ]
|
[ "SearXNG" "searxng" "https://search.proxy.${homelab.domain}" "http://localhost:8091/" ]
|
||||||
[ "Dockge" "docker" "https://containers.proxy.${homelab.domain}" "http://localhost:5001/" ]
|
[ "Dockge" "docker" "https://containers.proxy.${homelab.domain}" "http://localhost:5001/" ]
|
||||||
|
[ "Guacamole" "apacheguacamole" "https://remote.proxy.${homelab.domain}/guacamole" "http://localhost:8085/guacamole/" ]
|
||||||
];
|
];
|
||||||
bookmarks = [
|
bookmarks = [
|
||||||
[ "Tailscale" "tailscale" "https://login.tailscale.com/" ]
|
[ "Tailscale" "tailscale" "https://login.tailscale.com/" ]
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
{ pkgs, homelab, ... }: {
|
{ lib, pkgs, homelab, ... }: {
|
||||||
services = {
|
services = {
|
||||||
forgejo = {
|
forgejo = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,7 @@
|
||||||
|
|
||||||
"gallery" = d "http://localhost:2283";
|
"gallery" = d "http://localhost:2283";
|
||||||
"dynamic" = d "http://localhost:8082";
|
"dynamic" = d "http://localhost:8082";
|
||||||
|
"remote" = d "http://localhost:8085";
|
||||||
"search" = d "http://localhost:8091";
|
"search" = d "http://localhost:8091";
|
||||||
"notify" = d "http://localhost:8067";
|
"notify" = d "http://localhost:8067";
|
||||||
"media" = d "http://localhost:8096";
|
"media" = d "http://localhost:8096";
|
||||||
|
|
|
||||||
19
modules/system/homelab/remote.nix
Normal file
19
modules/system/homelab/remote.nix
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
{ ... }: {
|
||||||
|
services = {
|
||||||
|
guacamole-server = {
|
||||||
|
enable = true;
|
||||||
|
host = "127.0.0.1";
|
||||||
|
port = 4822;
|
||||||
|
};
|
||||||
|
guacamole-client = {
|
||||||
|
enable = true;
|
||||||
|
enableWebserver = true;
|
||||||
|
userMappingXml = "/mnt/data/guacamole/user-mapping.xml";
|
||||||
|
settings = {
|
||||||
|
guacd-hostname = "127.0.0.1";
|
||||||
|
guacd-port = 4822;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
tomcat.port = 8085;
|
||||||
|
};
|
||||||
|
}
|
||||||
34
modules/system/homelab/share.nix
Normal file
34
modules/system/homelab/share.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
||||||
|
{ ... }: {
|
||||||
|
services = {
|
||||||
|
httpd = {
|
||||||
|
enable = true;
|
||||||
|
virtualHosts."cdn" = {
|
||||||
|
listen = [{ ip = "127.0.0.1"; port = 3000; }];
|
||||||
|
documentRoot = "/mnt/share";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
samba = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
global = {
|
||||||
|
workgroup = "WORKGROUP";
|
||||||
|
"disable netbios" = "yes";
|
||||||
|
"allow insecure wide links" = "yes";
|
||||||
|
"server min protocol" = "SMB2_02";
|
||||||
|
};
|
||||||
|
"NAS" = {
|
||||||
|
path = "/mnt/share";
|
||||||
|
browseable = "yes";
|
||||||
|
"read only" = "no";
|
||||||
|
"create mask" = "0664";
|
||||||
|
"force create mode" = "0664";
|
||||||
|
"directory mask" = "0775";
|
||||||
|
"force directory mode" = "0775";
|
||||||
|
"follow symlinks" = "yes";
|
||||||
|
"wide links" = "yes";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -11,6 +11,7 @@ in {
|
||||||
./homelab/containers.nix
|
./homelab/containers.nix
|
||||||
./homelab/gallery.nix
|
./homelab/gallery.nix
|
||||||
./homelab/tunnels.nix
|
./homelab/tunnels.nix
|
||||||
|
./homelab/remote.nix
|
||||||
./homelab/notify.nix
|
./homelab/notify.nix
|
||||||
./homelab/search.nix
|
./homelab/search.nix
|
||||||
./homelab/media.nix
|
./homelab/media.nix
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue