Compare commits

..

8 commits

9 changed files with 147 additions and 109 deletions

128
flake.lock generated
View file

@ -83,11 +83,11 @@
]
},
"locked": {
"lastModified": 1750974272,
"narHash": "sha256-VaeQzSzekMvP+/OhwNZP4kzs4paWk5+20N0MFLTn+cs=",
"lastModified": 1751740947,
"narHash": "sha256-35040CHH7P3JGmhGVfEb2oJHL/A5mI2IXumhkxrBnao=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "dd921421391e75793d0cc674dc15eca16b46a089",
"rev": "dfc1db15a08c4cd234288f66e1199c653495301f",
"type": "github"
},
"original": {
@ -101,11 +101,11 @@
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1751463132,
"narHash": "sha256-eKbIZwTsl+Rbkj4coSZETlcTbmVbegN1nCKJ7059p88=",
"lastModified": 1751880463,
"narHash": "sha256-aSQllMKqsTYAUp4yhpspZn0Hj5yIj7Mh4UD5iyk5iMM=",
"owner": "catppuccin",
"repo": "nix",
"rev": "a682f7033678ea093c42c5e361975af5988aa3de",
"rev": "9474347c69e93e392f194dda7a57c641ba4b998e",
"type": "github"
},
"original": {
@ -179,11 +179,11 @@
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1749398372,
"narHash": "sha256-tYBdgS56eXYaWVW3fsnPQ/nFlgWi/Z2Ymhyu21zVM98=",
"lastModified": 1751413152,
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "9305fe4e5c2a6fcf5ba6a3ff155720fbe4076569",
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
"type": "github"
},
"original": {
@ -337,11 +337,11 @@
]
},
"locked": {
"lastModified": 1751463936,
"narHash": "sha256-kS8p1QgyFO/95BHSsZMpBs8oRh1bklAd/zzpWhF6ODk=",
"lastModified": 1751990210,
"narHash": "sha256-krWErNDl9ggMLSfK00Q2BcoSk3+IRTSON/DiDgUzzMw=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "3d243d4a16cafe855df585b3030aa99261a27a86",
"rev": "218da00bfa73f2a61682417efe74549416c16ba6",
"type": "github"
},
"original": {
@ -355,11 +355,11 @@
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1750372088,
"narHash": "sha256-LPwgPRBTfnA76rHUr7KYvwq2pNt5IfxymNAZUJFvn/M=",
"lastModified": 1751715349,
"narHash": "sha256-cP76ijtfGTFTpWFfmyFHA2MpDlIyKpWwW82kqQSQ6s0=",
"owner": "hyprwm",
"repo": "contrib",
"rev": "189f32f56285aae9646bf1292976392beba5a2e2",
"rev": "dafa5d09b413d08a55a81f6f8e85775d717bacda",
"type": "github"
},
"original": {
@ -413,11 +413,11 @@
]
},
"locked": {
"lastModified": 1750621377,
"narHash": "sha256-8u6b5oAdX0rCuoR8wFenajBRmI+mzbpNig6hSCuWUzE=",
"lastModified": 1751808145,
"narHash": "sha256-OXgL0XaKMmfX2rRQkt9SkJw+QNfv0jExlySt1D6O72g=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "b3d628d01693fb9bb0a6690cd4e7b80abda04310",
"rev": "b841473a0bd4a1a74a0b64f1ec2ab199035c349f",
"type": "github"
},
"original": {
@ -444,11 +444,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1751404714,
"narHash": "sha256-U2EbKyeRJmJp54AxAt426vVdznrMkCgUiGuv0OSnPJs=",
"lastModified": 1751995875,
"narHash": "sha256-oGufLuYzFSdLP6fUSLsIm2m4QscfTPbRT1fzQTdkw4M=",
"ref": "refs/heads/main",
"rev": "90c8609cbb5ae7b488d7b14b4dfb3ec9585ed2b7",
"revCount": 6239,
"rev": "9517d0eaa4ef93de67dc80fecca7a826f7ad556d",
"revCount": 6256,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@ -636,11 +636,11 @@
"systems": "systems_5"
},
"locked": {
"lastModified": 1751122848,
"narHash": "sha256-IJxNuudvBX+3WJpqG16DBaM6aDwgWAU9PchGYHSXoZM=",
"lastModified": 1751567624,
"narHash": "sha256-tUVODSZhvafXmuN+5SwZpNWV+2cvhSd+5IJ5TXu3YgI=",
"owner": "hyprwm",
"repo": "hyprsunset",
"rev": "845f7e8e86cac5023cad4dc446fc120be80fe69a",
"rev": "4b2f0f9f46a6552930eecb979d18ac48d7079312",
"type": "github"
},
"original": {
@ -661,11 +661,11 @@
]
},
"locked": {
"lastModified": 1751061882,
"narHash": "sha256-g9n8Vrbx+2JYM170P9BbvGHN39Wlkr4U+V2WLHQsXL8=",
"lastModified": 1751888065,
"narHash": "sha256-F2SV9WGqgtRsXIdUrl3sRe0wXlQD+kRRZcSfbepjPJY=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "4737241eaf8a1e51671a2a088518071f9a265cf4",
"rev": "a8229739cf36d159001cfc203871917b83fdf917",
"type": "github"
},
"original": {
@ -736,11 +736,11 @@
]
},
"locked": {
"lastModified": 1750371869,
"narHash": "sha256-lGk4gLjgZQ/rndUkzmPYcgbHr8gKU5u71vyrjnwfpB4=",
"lastModified": 1751881472,
"narHash": "sha256-meB0SnXbwIe2trD041MLKEv6R7NZ759QwBcVIhlSBfE=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "aa38edd6e3e277ae6a97ea83a69261a5c3aab9fd",
"rev": "8fb426b3e5452fd9169453fd6c10f8c14ca37120",
"type": "github"
},
"original": {
@ -835,11 +835,11 @@
"nixpkgs": "nixpkgs_7"
},
"locked": {
"lastModified": 1751421595,
"narHash": "sha256-6uvHT496bu8b/UhTY86NnrbU2fzuqNkgHCHi1T3LLog=",
"lastModified": 1752026525,
"narHash": "sha256-uCkk6qnQFNKJh0wwpeN/B/S27834c0DpBSK/Frovvyo=",
"owner": "fufexan",
"repo": "nix-gaming",
"rev": "cb4f76b2b304c07237bc7c2f81926b645a216021",
"rev": "9d902f4f96cba7226f242045a5605b1ffcf18cd4",
"type": "github"
},
"original": {
@ -881,11 +881,11 @@
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1748740939,
"narHash": "sha256-rQaysilft1aVMwF14xIdGS3sj1yHlI6oKQNBRTF40cc=",
"lastModified": 1751159883,
"narHash": "sha256-urW/Ylk9FIfvXfliA1ywh75yszAbiTEVgpPeinFyVZo=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "656a64127e9d791a334452c6b6606d17539476e2",
"rev": "14a40a1d7fb9afa4739275ac642ed7301a9ba1ab",
"type": "github"
},
"original": {
@ -927,11 +927,11 @@
},
"nixpkgs_11": {
"locked": {
"lastModified": 1751271578,
"narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=",
"lastModified": 1751792365,
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df",
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
"type": "github"
},
"original": {
@ -1023,11 +1023,11 @@
},
"nixpkgs_7": {
"locked": {
"lastModified": 1750994206,
"narHash": "sha256-3u6rEbIX9CN/5A5/mc3u0wIO1geZ0EhjvPBXmRDHqWM=",
"lastModified": 1751625545,
"narHash": "sha256-4E7wWftF1ExK5ZEDzj41+9mVgxtuRV3wWCId7QAYMAU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "80d50fc87924c2a0d346372d242c27973cf8cdbf",
"rev": "c860cf0b3a0829f0f6cf344ca8de83a2bbfab428",
"type": "github"
},
"original": {
@ -1039,11 +1039,11 @@
},
"nixpkgs_8": {
"locked": {
"lastModified": 1751271578,
"narHash": "sha256-P/SQmKDu06x8yv7i0s8bvnnuJYkxVGBWLWHaU+tt4YY=",
"lastModified": 1751792365,
"narHash": "sha256-J1kI6oAj25IG4EdVlg2hQz8NZTBNYvIS0l4wpr9KcUo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3016b4b15d13f3089db8a41ef937b13a9e33a8df",
"rev": "1fd8bada0b6117e6c7eb54aad5813023eed37ccb",
"type": "github"
},
"original": {
@ -1112,15 +1112,14 @@
"nur": {
"inputs": {
"flake-parts": "flake-parts_4",
"nixpkgs": "nixpkgs_11",
"treefmt-nix": "treefmt-nix"
"nixpkgs": "nixpkgs_11"
},
"locked": {
"lastModified": 1751464546,
"narHash": "sha256-DCPeFJC6ih3cFhSwxBNNgbbHakCupR9fE5yX8DNWOzQ=",
"lastModified": 1752047019,
"narHash": "sha256-cquBxPthNijnDaoX6Pj5V0jQ5BhoqJOJ/DdGzeJ0xyg=",
"owner": "nix-community",
"repo": "NUR",
"rev": "35af9e4796b6659705276544207796b5d05720e1",
"rev": "64185b1642f23c6340e3ebd52eabccfadfb78cfb",
"type": "github"
},
"original": {
@ -1301,27 +1300,6 @@
"type": "github"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": [
"nur",
"nixpkgs"
]
},
"locked": {
"lastModified": 1733222881,
"narHash": "sha256-JIPcz1PrpXUCbaccEnrcUS8jjEb/1vJbZz5KkobyFdM=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "49717b5af6f80172275d47a418c9719a31a78b53",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
@ -1350,11 +1328,11 @@
]
},
"locked": {
"lastModified": 1750372504,
"narHash": "sha256-VBeZb1oqZM1cqCAZnFz/WyYhO8aF/ImagI7WWg/Z3Og=",
"lastModified": 1751300244,
"narHash": "sha256-PFuv1TZVYvQhha0ac53E3YgdtmLShrN0t4T6xqHl0jE=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "400308fc4f9d12e0a93e483c2e7a649e12af1a92",
"rev": "6115f3fdcb2c1a57b4a80a69f3c797e47607b90a",
"type": "github"
},
"original": {

View file

@ -27,6 +27,19 @@
time.timeZone = "Europe/Amsterdam";
systemd.network.networks."99-local" = {
matchConfig.name = "ens3s1";
address = [
"192.168.1.100/24"
];
routes = [
{
Gateway = "172.16.10.1";
GatewayOnLink = false;
}
];
};
environment.systemPackages = with pkgs; [
kitty.terminfo
zfs

View file

@ -17,6 +17,6 @@
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGXi00z/rxVrWLKgYr+tWIsbHsSQO75hUMSTThNm5wUw liv@sakura" # main laptop
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ2nsQHyWnrmuQway0ehoMUcYYfhD8Ph/vpD0Tzip1b1 liv@meow" # main phone
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHv2zxCy22KU1tZOH2hA1p8fWVpOSrTYF68+3E5r330O liv@ichiyo" # 2nd laptop
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGm9dLpj13r+Iso5SuHSCSQbriumwW1Fs7TkgaBmmXeo liv@azalea" # linux phone
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO7mHVQp99G0osUAtnVoq5TARR8x5wjCkdbe7ChnzLRa liv@azalea" # linux phone
];
}

View file

@ -26,6 +26,9 @@ in
fi
'';
user = "${username}";
extraCreateArgs = [
"--stats"
];
environment = {
BORG_RSH = "ssh -p 9123 -i /home/liv/.ssh/id_ed25519";
};
@ -46,6 +49,9 @@ in
fi
'';
# user = "${username}";
extraCreateArgs = [
"--stats"
];
environment = {
BORG_RSH = "ssh -p 9123 -i /home/liv/.ssh/id_ed25519";
};

View file

@ -8,5 +8,6 @@
++ [ (import ./monitoring.nix) ]
++ [ (import ./smart-monitoring.nix) ]
++ [ (import ./tailscale.nix) ]
++ [ (import ./nfs.nix) ]
++ [ (import ./hd-idle.nix) ];
}

View file

@ -1,9 +1,12 @@
{ config, ... }:
{
services.immich = {
enable = true;
port = 2283;
};
# services.immich = {
# enable = true;
# port = 2283;
# mediaLocation = "/spinners/rootvol/immich/";
# openFirewall = true;
# machine-learning.enable = true;
# };
# services.nginx.virtualHosts."" = {
# forceSSL = true;

38
modules/services/nfs.nix Normal file
View file

@ -0,0 +1,38 @@
{
config,
lib,
pkgs,
...
}:
{
services = {
# Network shares
samba = {
package = pkgs.samba4Full;
# ^^ `samba4Full` is compiled with avahi, ldap, AD etc support (compared to the default package, `samba`
# Required for samba to register mDNS records for auto discovery
# See https://github.com/NixOS/nixpkgs/blob/592047fc9e4f7b74a4dc85d1b9f5243dfe4899e3/pkgs/top-level/all-packages.nix#L27268
enable = true;
openFirewall = true;
shares.main = {
path = "/spinners/rootvol/nfs";
writable = "true";
comment = "Hello world!";
};
};
avahi = {
publish.enable = true;
publish.userServices = true;
# ^^ Needed to allow samba to automatically register mDNS records (without the need for an `extraServiceFile`
#nssmdns4 = true;
# ^^ Not one hundred percent sure if this is needed- if it aint broke, don't fix it
enable = true;
openFirewall = true;
};
samba-wsdd = {
# This enables autodiscovery on windows since SMB1 (and thus netbios) support was discontinued
enable = true;
openFirewall = true;
};
};
}

View file

@ -7,7 +7,6 @@
++ [ (import ./binternet-proxy.nix) ]
++ [ (import ./bluemap-proxy.nix) ]
++ [ (import ./docker.nix) ]
# ++ [ (import ./frp.nix) ]
++ [ (import ./forgejo.nix) ]
++ [ (import ./grafana.nix) ]
++ [ (import ./guacamole.nix) ]
@ -24,7 +23,7 @@
++ [ (import ./readarr.nix) ]
++ [ (import ./sharkey-proxy.nix) ]
# ++ [ (import ./komga.nix) ]
# ++ [ (import ./prosody.nix) ]
# ++ [ (import ./xmpp.nix) ]
++ [ (import ./tailscale.nix) ];
# ++ [ (import ./smart-monitoring.nix) ]
# ++ [ (import ./jitsi-meet.nix) ]

View file

@ -1,29 +1,29 @@
{
# services.prosody = {
# enable = false;
# user = "acme";
# modules = {
# welcome = true;
# websocket = true;
# watchregistrations = true;
# };
# admins = [ "liv@liv.town" ];
# allowRegistration = false;
# ssl.cert = "/var/lib/acme/liv.town/cert.pem";
# ssl.key = "/var/lib/acme/liv.town/key.pem";
# virtualHosts."liv.town" = {
# enabled = true;
# domain = "liv.town";
# ssl.cert = "/var/lib/acme/liv.town/fullchain.pem";
# ssl.key = "/var/lib/acme/liv.town/key.pem";
# };
# muc = [
# {
# domain = "conference.liv.town";
# }
# ];
# uploadHttp = {
# domain = "upload.liv.town";
# };
# };
services.prosody = {
enable = true;
user = "root";
modules = {
welcome = true;
websocket = true;
watchregistrations = true;
};
admins = [ "liv@liv.town" ];
allowRegistration = false;
ssl.cert = "/var/lib/acme/liv.town/cert.pem";
ssl.key = "/var/lib/acme/liv.town/key.pem";
virtualHosts."liv.town" = {
enabled = true;
domain = "liv.town";
ssl.cert = "/var/lib/acme/liv.town/fullchain.pem";
ssl.key = "/var/lib/acme/liv.town/key.pem";
};
muc = [
{
domain = "conference.liv.town";
}
];
uploadHttp = {
domain = "upload.liv.town";
};
};
}