Compare commits
4 commits
b636d31d9d
...
7adbb841f7
Author | SHA1 | Date | |
---|---|---|---|
♥ Minnie ♥ | 7adbb841f7 | ||
♥ Minnie ♥ | 1ecf47b006 | ||
♥ Minnie ♥ | ea1ad13c53 | ||
♥ Minnie ♥ | 1f776ec51d |
42
flake.lock
42
flake.lock
|
@ -52,11 +52,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1730074366,
|
||||
"narHash": "sha256-u8aVS/u/CSOt4M+VEdFNiVRZt1YsM00i7sF8OVDGi6Q=",
|
||||
"lastModified": 1730927643,
|
||||
"narHash": "sha256-3wb8lbQUzXZ0n8FWUxsISubTLi0bRV97GFIxd9Ne1B4=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "54ec36a05d01e506b789fd4b5b825a3012bf7a22",
|
||||
"revCount": 24,
|
||||
"rev": "b35276acd405b1c305cafeb04416d4f61ee78251",
|
||||
"revCount": 25,
|
||||
"type": "git",
|
||||
"url": "https://codeberg.org/kampka/nix-flake-crowdsec.git"
|
||||
},
|
||||
|
@ -394,16 +394,16 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1726989464,
|
||||
"narHash": "sha256-Vl+WVTJwutXkimwGprnEtXc/s/s8sMuXzqXaspIGlwM=",
|
||||
"lastModified": 1731880681,
|
||||
"narHash": "sha256-FmYTkIyPBUxSWgA7DPIVTsCCMvSSbs56yOtHpLNSnKg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "2f23fa308a7c067e52dfcc30a0758f47043ec176",
|
||||
"rev": "aecd341dfead1c3ef7a3c15468ecd71e8343b7c6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"ref": "release-24.05",
|
||||
"ref": "release-24.11",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
|
@ -432,11 +432,11 @@
|
|||
},
|
||||
"impermanence": {
|
||||
"locked": {
|
||||
"lastModified": 1730403150,
|
||||
"narHash": "sha256-W1FH5aJ/GpRCOA7DXT/sJHFpa5r8sq2qAUncWwRZ3Gg=",
|
||||
"lastModified": 1731242966,
|
||||
"narHash": "sha256-B3C3JLbGw0FtLSWCjBxU961gLNv+BOOBC6WvstKLYMw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "impermanence",
|
||||
"rev": "0d09341beeaa2367bac5d718df1404bf2ce45e6f",
|
||||
"rev": "3ed3f0eaae9fcc0a8331e77e9319c8a4abd8a71a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -474,11 +474,11 @@
|
|||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731030299,
|
||||
"narHash": "sha256-PwtzMWPJhz9Rn/0rzQfMb6icSA6DtJZKCuK88IwFSos=",
|
||||
"lastModified": 1731981116,
|
||||
"narHash": "sha256-SgnDCrAuX9JxRk7NqGJCXYmt+EUkDF2rfL7QjtNImuk=",
|
||||
"owner": "Infinidoge",
|
||||
"repo": "nix-minecraft",
|
||||
"rev": "11ca743d2e4602d5b8bfc8d65303f969d58ec338",
|
||||
"rev": "3b71545aa21e6fe9eb7690be7ee2ee3d633b1990",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -533,11 +533,11 @@
|
|||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1730785428,
|
||||
"narHash": "sha256-Zwl8YgTVJTEum+L+0zVAWvXAGbWAuXHax3KzuejaDyo=",
|
||||
"lastModified": 1731676054,
|
||||
"narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4aa36568d413aca0ea84a1684d2d46f55dbabad7",
|
||||
"rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -565,16 +565,16 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1730883749,
|
||||
"narHash": "sha256-mwrFF0vElHJP8X3pFCByJR365Q2463ATp2qGIrDUdlE=",
|
||||
"lastModified": 1731755305,
|
||||
"narHash": "sha256-v5P3dk5JdiT+4x69ZaB18B8+Rcu3TIOrcdG4uEX7WZ8=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "dba414932936fde69f0606b4f1d87c5bc0003ede",
|
||||
"rev": "057f63b6dc1a2c67301286152eb5af20747a9cb4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nixos",
|
||||
"ref": "nixos-24.05",
|
||||
"ref": "nixos-24.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
|
||||
inputs = {
|
||||
# Nixpkgs
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
# Home manager
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/release-24.05";
|
||||
url = "github:nix-community/home-manager/release-24.11";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
programs.ssh = {
|
||||
enable = true;
|
||||
matchBlocks."viridian" = {
|
||||
hostname = "viridian.kanto.dev";
|
||||
hostname = "viridian.home.arpa";
|
||||
identityFile = "/home/sajenim/.ssh/sajenim_sk";
|
||||
port = 22;
|
||||
};
|
||||
|
||||
matchBlocks."lavender" = {
|
||||
hostname = "lavender.kanto.dev";
|
||||
hostname = "lavender.home.arpa";
|
||||
identityFile = "/home/sajenim/.ssh/sajenim_sk";
|
||||
port = 22;
|
||||
};
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
imports = [
|
||||
./discord
|
||||
./dunst
|
||||
./cava
|
||||
./irc
|
||||
./mpd
|
||||
./picom
|
||||
|
|
|
@ -3,9 +3,8 @@
|
|||
packages = with pkgs; [
|
||||
blender
|
||||
freecad
|
||||
kicad
|
||||
openscad
|
||||
prusa-slicer
|
||||
orca-slicer
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -48,17 +48,9 @@
|
|||
enable = true;
|
||||
powerOnBoot = true;
|
||||
};
|
||||
pulseaudio = {
|
||||
graphics = {
|
||||
enable = true;
|
||||
support32Bit = true;
|
||||
extraConfig = "load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1";
|
||||
};
|
||||
opengl = {
|
||||
enable = true;
|
||||
# Vulkan
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
# OpenCL
|
||||
enable32Bit = true;
|
||||
extraPackages = with pkgs; [
|
||||
rocmPackages.clr.icd
|
||||
];
|
||||
|
|
|
@ -10,7 +10,6 @@
|
|||
./services/borgbackup
|
||||
./services/crowdsec
|
||||
./services/forgejo
|
||||
./services/immich
|
||||
./services/lighttpd
|
||||
./services/minecraft
|
||||
./services/mpd
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
};
|
||||
|
||||
# Hardware configuration
|
||||
hardware.opengl = {
|
||||
hardware.graphics = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
intel-media-driver
|
||||
|
|
|
@ -33,7 +33,7 @@ in {
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.routers = {
|
||||
jellyfin = {
|
||||
rule = "Host(`jellyfin.kanto.dev`)";
|
||||
rule = "Host(`jellyfin.home.arpa`)";
|
||||
entryPoints = [
|
||||
"websecure"
|
||||
];
|
||||
|
|
|
@ -27,7 +27,7 @@ in {
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.routers = {
|
||||
lidarr = {
|
||||
rule = "Host(`lidarr.kanto.dev`)";
|
||||
rule = "Host(`lidarr.home.arpa`)";
|
||||
entryPoints = [
|
||||
"websecure"
|
||||
];
|
||||
|
|
|
@ -24,7 +24,7 @@ in {
|
|||
};
|
||||
services.traefik.dynamicConfigOptions.http.routers = {
|
||||
prowlarr = {
|
||||
rule = "Host(`prowlarr.kanto.dev`)";
|
||||
rule = "Host(`prowlarr.home.arpa`)";
|
||||
entryPoints = [
|
||||
"websecure"
|
||||
];
|
||||
|
|
|
@ -27,7 +27,7 @@ in {
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.routers = {
|
||||
qbittorrent = {
|
||||
rule = "Host(`qbittorrent.kanto.dev`)";
|
||||
rule = "Host(`qbittorrent.home.arpa`)";
|
||||
entryPoints = [
|
||||
"websecure"
|
||||
];
|
||||
|
|
|
@ -26,7 +26,7 @@ in {
|
|||
};
|
||||
services.traefik.dynamicConfigOptions.http.routers = {
|
||||
radarr = {
|
||||
rule = "Host(`radarr.kanto.dev`)";
|
||||
rule = "Host(`radarr.home.arpa`)";
|
||||
entryPoints = [
|
||||
"websecure"
|
||||
];
|
||||
|
|
|
@ -27,7 +27,7 @@ in {
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.routers = {
|
||||
sonarr = {
|
||||
rule = "Host(`sonarr.kanto.dev`)";
|
||||
rule = "Host(`sonarr.home.arpa`)";
|
||||
entryPoints = [
|
||||
"websecure"
|
||||
];
|
||||
|
|
|
@ -1,70 +0,0 @@
|
|||
{
|
||||
inputs,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
"${inputs.nixpkgs-unstable}/nixos/modules/services/web-apps/immich.nix"
|
||||
];
|
||||
|
||||
age.secrets.immich = {
|
||||
rekeyFile = ./secrets.age;
|
||||
owner = "immich";
|
||||
group = "immich";
|
||||
};
|
||||
|
||||
services.immich = {
|
||||
enable = true;
|
||||
package = pkgs.unstable.immich;
|
||||
port = 5489;
|
||||
host = "0.0.0.0";
|
||||
openFirewall = true;
|
||||
mediaLocation = "/var/lib/immich";
|
||||
secretsFile = config.age.secrets.immich.path;
|
||||
database = {
|
||||
enable = true;
|
||||
user = "immich";
|
||||
name = "immich";
|
||||
};
|
||||
environment = {
|
||||
TZ = "Australia/Perth";
|
||||
DB_USERNAME = "immich";
|
||||
DB_DATABASE_NAME = "immich";
|
||||
};
|
||||
};
|
||||
|
||||
services.traefik.dynamicConfigOptions.http.routers = {
|
||||
immich = {
|
||||
rule = "Host(`photos.kanto.dev`)";
|
||||
entryPoints = [
|
||||
"websecure"
|
||||
];
|
||||
middlewares = [
|
||||
"internal"
|
||||
];
|
||||
service = "immich";
|
||||
};
|
||||
};
|
||||
|
||||
services.traefik.dynamicConfigOptions.http.services = {
|
||||
immich.loadBalancer.servers = [
|
||||
{url = "http://127.0.0.1:${toString config.services.immich.port}";}
|
||||
];
|
||||
};
|
||||
|
||||
environment.persistence."/persist" = {
|
||||
directories = [
|
||||
{
|
||||
directory = "/var/lib/immich";
|
||||
user = "immich";
|
||||
group = "immich";
|
||||
}
|
||||
{
|
||||
directory = "/var/lib/redis-immich";
|
||||
user = "immich";
|
||||
group = "immich";
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
|
@ -1,9 +0,0 @@
|
|||
age-encryption.org/v1
|
||||
-> piv-p256 hdSnGw Ave/yX17ylsK6RI5ei/oxD58h8nzXisgLiNvs8p7PKd4
|
||||
eUz/WZTS3nQ8IyeBZd2/zzW4hjRexuYUuGAiLRFamb4
|
||||
-> C[:7-grease
|
||||
tVpdl3Ch
|
||||
--- wTWoOAjmo0FL1kNZ/6QIMSwA4IV6XQkZLbWobJjnlPY
|
||||
HÚ’#º-Øth„î("ÎI
|
||||
t-FmšÔƒK•cÿ×F´SPdBÃ5–
|
||||
H%LOˆÅØ=½P‚Ìÿ
|
|
@ -81,7 +81,7 @@ in {
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.routers = {
|
||||
minecraft = {
|
||||
rule = "Host(`minecraft.kanto.dev`)";
|
||||
rule = "Host(`minecraft.home.arpa`)";
|
||||
entryPoints = [
|
||||
"websecure"
|
||||
];
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
statdPort = 4000;
|
||||
extraNfsdConfig = '''';
|
||||
exports = ''
|
||||
/srv/multimedia/library/music fuchsia.kanto.dev(rw,nohide,insecure,no_subtree_check)
|
||||
/srv/multimedia/library/music fuchsia.home.arpa(rw,nohide,insecure,no_subtree_check)
|
||||
'';
|
||||
};
|
||||
networking.firewall = {
|
||||
|
|
|
@ -18,7 +18,7 @@ in {
|
|||
|
||||
services.traefik.dynamicConfigOptions.http.routers = {
|
||||
paperless-ngx = {
|
||||
rule = "Host(`docs.kanto.dev`)";
|
||||
rule = "Host(`docs.home.arpa`)";
|
||||
entryPoints = [
|
||||
"websecure"
|
||||
];
|
||||
|
|
|
@ -8,9 +8,7 @@
|
|||
|
||||
imports = [
|
||||
"${inputs.nixpkgs-unstable}/nixos/modules/services/web-servers/traefik.nix"
|
||||
./routers.nix
|
||||
./middlewares.nix
|
||||
./services.nix
|
||||
];
|
||||
|
||||
age.secrets.traefik = {
|
||||
|
@ -88,11 +86,6 @@
|
|||
certResolver = "lets-encrypt";
|
||||
# List of domains in our network
|
||||
domains = [
|
||||
# Internal services
|
||||
{
|
||||
main = "kanto.dev";
|
||||
sans = ["*.kanto.dev"];
|
||||
}
|
||||
# Public services
|
||||
{
|
||||
main = "sajenim.dev";
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
{...}: {
|
||||
services.traefik.dynamicConfigOptions.http.routers = {
|
||||
traefik-dashboard = {
|
||||
rule = "Host(`traefik.kanto.dev`)";
|
||||
entryPoints = [
|
||||
"websecure"
|
||||
];
|
||||
middlewares = [
|
||||
"internal"
|
||||
];
|
||||
service = "api@internal";
|
||||
};
|
||||
|
||||
ender1 = {
|
||||
rule = "Host(`e1.kanto.dev`)";
|
||||
entryPoints = [
|
||||
"websecure"
|
||||
];
|
||||
middlewares = [
|
||||
"internal"
|
||||
];
|
||||
service = "ender1";
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
{...}: {
|
||||
services.traefik.dynamicConfigOptions.http.services = {
|
||||
ender1.loadBalancer.servers = [
|
||||
{url = "http://192.168.50.202:80";}
|
||||
];
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue