mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-06-16 10:05:13 -05:00
147 lines
3.5 KiB
Nix
Executable file
147 lines
3.5 KiB
Nix
Executable file
let
|
|
ownerWriteOthersReadMask = ["fmask=0022" "dmask=0022"];
|
|
ownerExclusiveReadWriteMask = ["fmask=0077" "dmask=0077"];
|
|
readWritePermissions = ["rw"];
|
|
sambaPermissions = ["rw" "gid=100" "vers=3.0" "x-systemd.automount" "x-systemd.requires=network-online.target"];
|
|
fileModeAndDirMode = ["file_mode=0644" "dir_mode=0755"];
|
|
userIdForUser0 = ["uid=1000"];
|
|
userIdForUser1 = ["uid=1001"];
|
|
in {
|
|
devices = {
|
|
# Desktop
|
|
desktop = {
|
|
label = "Desktop";
|
|
name = "desktop";
|
|
sync = "";
|
|
ip = {
|
|
address0 = "192.168.50.196";
|
|
};
|
|
boot = {
|
|
options = ownerWriteOthersReadMask;
|
|
};
|
|
storage0 = {
|
|
mount = "/mnt/media/games";
|
|
device = "/dev/disk/by-label/Games";
|
|
options = readWritePermissions;
|
|
};
|
|
storage1 = {
|
|
mount = "/mnt/media/storage";
|
|
device = "/dev/disk/by-label/Storage";
|
|
options = readWritePermissions;
|
|
};
|
|
};
|
|
|
|
# Laptop
|
|
|
|
laptop = {
|
|
label = "Laptop";
|
|
name = "laptop";
|
|
sync = "";
|
|
ip = {
|
|
address0 = "192.168.50.142";
|
|
};
|
|
boot = {
|
|
options = ownerWriteOthersReadMask;
|
|
};
|
|
};
|
|
|
|
# Server
|
|
|
|
server = let
|
|
serverName = "server";
|
|
serverIP = "192.168.50.140";
|
|
serverStorageDriveName = "NAS1";
|
|
in {
|
|
label = "Server";
|
|
name = serverName;
|
|
ip = {
|
|
address0 = serverIP;
|
|
};
|
|
boot = {
|
|
options = ownerExclusiveReadWriteMask;
|
|
};
|
|
storage0 = {
|
|
mount = "/mnt/media/${serverStorageDriveName}";
|
|
device = "/dev/disk/by-label/${serverStorageDriveName}";
|
|
options = readWritePermissions;
|
|
};
|
|
samba0 = {
|
|
mount = "/mnt/media/${serverName}";
|
|
device = "//${serverIP}";
|
|
options = sambaPermissions ++ fileModeAndDirMode ++ userIdForUser0;
|
|
};
|
|
};
|
|
|
|
# Synology
|
|
|
|
nas = let
|
|
user0 = "nick";
|
|
user1 = "garnet";
|
|
user0Name = "Nick";
|
|
user1Name = "Garnet";
|
|
nasName = "synology";
|
|
nasIP = "192.168.50.209";
|
|
in {
|
|
label = "Synology";
|
|
sync = "MWRGX2V-F5XKE5E-REP6ECT-OOPFBMF-22NHSMW-YFBU6MB-PLFUN63-R3MW2QX";
|
|
name = nasName;
|
|
ip = {
|
|
address0 = nasIP;
|
|
};
|
|
# Nick Home Folder
|
|
folder0 = {
|
|
mount = "/mnt/media/${nasName}/${user0}";
|
|
device = "//${nasIP}/homes/${user0Name}";
|
|
options = sambaPermissions ++ userIdForUser0;
|
|
};
|
|
# Garnet Home Folder
|
|
folder1 = {
|
|
mount = "/mnt/media/${nasName}/${user1}";
|
|
device = "//${nasIP}/homes/${user1Name}";
|
|
options = sambaPermissions ++ userIdForUser1;
|
|
};
|
|
# Minecraft Worlds
|
|
folder2 = {
|
|
mount = "/home/${user1}/.local/share/PrismLauncher/instances/1.21/.minecraft/saves";
|
|
device = "//${nasIP}/homes/${user1Name}/Minecraft";
|
|
options = sambaPermissions ++ userIdForUser1;
|
|
};
|
|
};
|
|
|
|
# Pixel 9
|
|
|
|
phone = {
|
|
name = "pixel";
|
|
sync = "RMDKNJY-BTX6FYF-G6SR332-WS6HARI-PF74SC6-VPBSGRQ-MKVQZEQ-KSIB6QV";
|
|
ip = {
|
|
address0 = "192.168.50.243";
|
|
};
|
|
};
|
|
|
|
# Printer
|
|
|
|
printer0 = {
|
|
label = "Canon-TR7620a";
|
|
ip = {
|
|
address0 = "";
|
|
};
|
|
};
|
|
|
|
printer1 = {
|
|
label = "Brother-HL-2170W";
|
|
ip = {
|
|
address0 = "192.168.50.195";
|
|
};
|
|
};
|
|
|
|
# Samsung S7 FE
|
|
|
|
tablet = {
|
|
name = "tablet";
|
|
sync = "I2ZSCZU-T4JMUJJ-XCUQ3MY-G5EUFZ5-KRG2DRY-XIBJZZM-FQW3UMY-CBCTUQU";
|
|
ip = {
|
|
address0 = "192.168.50.189";
|
|
};
|
|
};
|
|
};
|
|
}
|