mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-06-17 02:25:12 -05:00
feat: init
This commit is contained in:
commit
c19ea940bd
320 changed files with 23845 additions and 0 deletions
184
config/device.nix
Executable file
184
config/device.nix
Executable file
|
@ -0,0 +1,184 @@
|
|||
let
|
||||
perms22 = ["fmask=0022" "dmask=0022"];
|
||||
perms77 = ["fmask=0077" "dmask=0077"];
|
||||
permsRW = ["rw"];
|
||||
permsSmb = ["rw" "gid=100" "vers=3.0" "x-systemd.automount" "x-systemd.requires=network-online.target"];
|
||||
permsFm = ["file_mode=0644" "dir_mode=0755"];
|
||||
uid0 = ["uid=1000"];
|
||||
uid1 = ["uid=1001"];
|
||||
in {
|
||||
device = {
|
||||
# Desktop
|
||||
desktop = {
|
||||
label = "Desktop";
|
||||
name = "desktop";
|
||||
sync = "";
|
||||
ip = {
|
||||
address0 = "192.168.50.196";
|
||||
};
|
||||
boot = {
|
||||
options = perms22;
|
||||
};
|
||||
storage0 = {
|
||||
mount = "/mnt/media/games";
|
||||
device = "/dev/disk/by-label/Games";
|
||||
options = permsRW;
|
||||
};
|
||||
storage1 = {
|
||||
mount = "/mnt/media/storage";
|
||||
device = "/dev/disk/by-label/Storage";
|
||||
options = permsRW;
|
||||
};
|
||||
};
|
||||
|
||||
# Laptop
|
||||
|
||||
laptop = {
|
||||
label = "Laptop";
|
||||
name = "laptop";
|
||||
sync = "";
|
||||
ip = {
|
||||
address0 = "192.168.50.142";
|
||||
};
|
||||
boot = {
|
||||
options = perms22;
|
||||
};
|
||||
};
|
||||
|
||||
# Server
|
||||
|
||||
server = let
|
||||
serverName = "server";
|
||||
serverIP = "192.168.50.140";
|
||||
in {
|
||||
label = "Server";
|
||||
name = serverName;
|
||||
ip = {
|
||||
address0 = serverIP;
|
||||
};
|
||||
boot = {
|
||||
options = perms77;
|
||||
};
|
||||
storage0 = let
|
||||
nasPath = "NAS1";
|
||||
in {
|
||||
mount = "/mnt/media/${nasPath}";
|
||||
device = "/dev/disk/by-label/${nasPath}";
|
||||
options = permsRW;
|
||||
};
|
||||
samba0 = let
|
||||
share0Name = "media";
|
||||
in {
|
||||
mount = "/mnt/media/${serverName}/${share0Name}";
|
||||
device = "//${serverIP}/${share0Name}";
|
||||
options = permsSmb ++ permsFm ++ uid0;
|
||||
};
|
||||
};
|
||||
|
||||
# Synology
|
||||
|
||||
nas = let
|
||||
user0 = "nick";
|
||||
user1 = "garnet";
|
||||
user2 = "fallaryn";
|
||||
user3 = "denise";
|
||||
user0Name = "Nick";
|
||||
user1Name = "Garnet";
|
||||
user2Name = "Fallaryn";
|
||||
user3Name = "Denise";
|
||||
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 = permsSmb ++ uid0;
|
||||
};
|
||||
# Garnet Home Folder
|
||||
folder1 = {
|
||||
mount = "/mnt/media/${nasName}/${user1}";
|
||||
device = "//${nasIP}/homes/${user1Name}";
|
||||
options = permsSmb ++ uid1;
|
||||
};
|
||||
# Fallaryn Home Folder
|
||||
folder2 = {
|
||||
mount = "/mnt/media/${nasName}/${user2}";
|
||||
device = "//${nasIP}/homes/${user2Name}";
|
||||
options = permsSmb ++ uid0;
|
||||
};
|
||||
# Denise Home Folder
|
||||
folder3 = {
|
||||
mount = "/mnt/media/${nasName}/${user3}";
|
||||
device = "//${nasIP}/homes/${user3Name}";
|
||||
options = permsSmb ++ uid0;
|
||||
};
|
||||
# Minecraft Worlds
|
||||
folder4 = {
|
||||
mount = "/home/${user1}/.local/share/PrismLauncher/instances/1.21/.minecraft/saves";
|
||||
device = "//${nasIP}/homes/${user1Name}/Minecraft";
|
||||
options = permsSmb ++ uid1;
|
||||
};
|
||||
};
|
||||
|
||||
# Fallaryn Desktop
|
||||
|
||||
fallaryn = {
|
||||
label = "fallaryn";
|
||||
name = "fallaryn";
|
||||
ip = {
|
||||
address0 = "";
|
||||
};
|
||||
boot = {
|
||||
options = perms22;
|
||||
};
|
||||
storage0 = {
|
||||
mount = "/run/media/games";
|
||||
device = "/dev/disk/by-label/Games";
|
||||
options = permsRW;
|
||||
};
|
||||
storage1 = {
|
||||
mount = "/run/media/entertainment";
|
||||
device = "/dev/disk/by-label/Entertainment";
|
||||
options = permsRW;
|
||||
};
|
||||
};
|
||||
|
||||
# Pixel 7 Pro
|
||||
|
||||
phone = {
|
||||
name = "pixel";
|
||||
sync = "AE65XCK-4FYDDBB-SMPCDQO-U3CZUHA-LAWTKZY-ZBUGVNI-ZRYACB2-FFNFVQF";
|
||||
ip = {
|
||||
address0 = "192.168.50.243";
|
||||
};
|
||||
};
|
||||
|
||||
# Samsung S7 FE
|
||||
|
||||
tablet = {
|
||||
name = "tablet";
|
||||
sync = "I2ZSCZU-T4JMUJJ-XCUQ3MY-G5EUFZ5-KRG2DRY-XIBJZZM-FQW3UMY-CBCTUQU";
|
||||
ip = {
|
||||
address0 = "192.168.50.189";
|
||||
};
|
||||
};
|
||||
|
||||
# No particular system
|
||||
|
||||
wildcard = {
|
||||
ip = {
|
||||
address0 = "127.0.0.1"; # Local
|
||||
address1 = "0.0.0.0"; # All
|
||||
address2 = "192.168.50.1"; # Router
|
||||
address3 = "192.168.50.0"; # Router
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue