mirror of
https://gitlab.com/upRootNutrition/dotfiles.git
synced 2025-06-16 10:05:13 -05:00
feat: init
This commit is contained in:
commit
96c6f790fc
804 changed files with 33411 additions and 0 deletions
36
modules/config/devices/config/ceres.nix
Executable file
36
modules/config/devices/config/ceres.nix
Executable file
|
@ -0,0 +1,36 @@
|
|||
{ devicesFunctions }:
|
||||
let
|
||||
inherit (devicesFunctions)
|
||||
fileModeAndDirMode
|
||||
ownerExclusiveReadWriteMask
|
||||
readWritePermissions
|
||||
sambaPermissions
|
||||
userIdForUser0
|
||||
ceresIP
|
||||
;
|
||||
ceresName = "ceres";
|
||||
ceresStorageDriveName = "NAS1";
|
||||
in
|
||||
{
|
||||
label = "Ceres";
|
||||
name = ceresName;
|
||||
sync = {
|
||||
address0 = "";
|
||||
};
|
||||
ip = {
|
||||
address0 = ceresIP;
|
||||
};
|
||||
boot = {
|
||||
options = ownerExclusiveReadWriteMask;
|
||||
};
|
||||
storage0 = {
|
||||
mount = "/mnt/media/${ceresStorageDriveName}";
|
||||
device = "/dev/disk/by-label/${ceresStorageDriveName}";
|
||||
options = readWritePermissions;
|
||||
};
|
||||
samba0 = {
|
||||
mount = "/mnt/media/${ceresName}";
|
||||
device = "//${ceresIP}";
|
||||
options = sambaPermissions ++ fileModeAndDirMode ++ userIdForUser0;
|
||||
};
|
||||
}
|
20
modules/config/devices/config/charon.nix
Executable file
20
modules/config/devices/config/charon.nix
Executable file
|
@ -0,0 +1,20 @@
|
|||
{ devicesFunctions }:
|
||||
let
|
||||
inherit (devicesFunctions)
|
||||
ownerExclusiveReadWriteMask
|
||||
charonIP
|
||||
;
|
||||
in
|
||||
{
|
||||
label = "Charon";
|
||||
name = "charon";
|
||||
sync = {
|
||||
address0 = "";
|
||||
};
|
||||
ip = {
|
||||
address0 = charonIP;
|
||||
};
|
||||
boot = {
|
||||
options = ownerExclusiveReadWriteMask;
|
||||
};
|
||||
}
|
20
modules/config/devices/config/deimos.nix
Executable file
20
modules/config/devices/config/deimos.nix
Executable file
|
@ -0,0 +1,20 @@
|
|||
{ devicesFunctions }:
|
||||
let
|
||||
inherit (devicesFunctions)
|
||||
ownerWriteOthersReadMask
|
||||
deimosIP
|
||||
;
|
||||
in
|
||||
{
|
||||
label = "Deimos";
|
||||
name = "deimos";
|
||||
sync = {
|
||||
address0 = deimosIP;
|
||||
};
|
||||
ip = {
|
||||
address0 = deimosIP;
|
||||
};
|
||||
boot = {
|
||||
options = ownerWriteOthersReadMask;
|
||||
};
|
||||
}
|
31
modules/config/devices/config/mars.nix
Executable file
31
modules/config/devices/config/mars.nix
Executable file
|
@ -0,0 +1,31 @@
|
|||
{ devicesFunctions }:
|
||||
let
|
||||
inherit (devicesFunctions)
|
||||
ownerWriteOthersReadMask
|
||||
readWritePermissions
|
||||
marsIP
|
||||
;
|
||||
in
|
||||
{
|
||||
label = "Mars";
|
||||
name = "mars";
|
||||
sync = {
|
||||
address0 = "";
|
||||
};
|
||||
ip = {
|
||||
address0 = marsIP;
|
||||
};
|
||||
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;
|
||||
};
|
||||
}
|
18
modules/config/devices/config/phone.nix
Executable file
18
modules/config/devices/config/phone.nix
Executable file
|
@ -0,0 +1,18 @@
|
|||
{ devicesFunctions }:
|
||||
let
|
||||
inherit (devicesFunctions)
|
||||
phoneIP
|
||||
dummy
|
||||
;
|
||||
in
|
||||
{
|
||||
name = "pixel";
|
||||
label = dummy;
|
||||
sync = {
|
||||
address0 = "RMDKNJY-BTX6FYF-G6SR332-WS6HARI-PF74SC6-VPBSGRQ-MKVQZEQ-KSIB6QV"; # User0
|
||||
address1 = "RUKSHY4-UCBYRVG-CVYFCMU-M3NLA3Q-JINRF5V-YPR5W32-TEIBJN6-DNQRCAR"; # User2
|
||||
};
|
||||
ip = {
|
||||
address0 = phoneIP;
|
||||
};
|
||||
}
|
13
modules/config/devices/config/printers/printer0.nix
Executable file
13
modules/config/devices/config/printers/printer0.nix
Executable file
|
@ -0,0 +1,13 @@
|
|||
{ devicesFunctions }:
|
||||
let
|
||||
inherit (devicesFunctions)
|
||||
dummy
|
||||
;
|
||||
in
|
||||
{
|
||||
name = dummy;
|
||||
label = "Canon-TR7620a";
|
||||
ip = {
|
||||
address0 = "";
|
||||
};
|
||||
}
|
14
modules/config/devices/config/printers/printer1.nix
Executable file
14
modules/config/devices/config/printers/printer1.nix
Executable file
|
@ -0,0 +1,14 @@
|
|||
{ devicesFunctions }:
|
||||
let
|
||||
inherit (devicesFunctions)
|
||||
brotherIP
|
||||
dummy
|
||||
;
|
||||
in
|
||||
{
|
||||
name = dummy;
|
||||
label = "Brother-HL-2170W";
|
||||
ip = {
|
||||
address0 = brotherIP;
|
||||
};
|
||||
}
|
53
modules/config/devices/config/synology.nix
Executable file
53
modules/config/devices/config/synology.nix
Executable file
|
@ -0,0 +1,53 @@
|
|||
{ devicesFunctions }:
|
||||
let
|
||||
inherit (devicesFunctions)
|
||||
sambaPermissions
|
||||
userIdForUser0
|
||||
userIdForUser1
|
||||
userIdForUser3
|
||||
synologyIP
|
||||
;
|
||||
|
||||
user0 = "nick";
|
||||
user1 = "garnet";
|
||||
user3 = "streaming";
|
||||
user0Name = "Nick";
|
||||
user1Name = "Garnet";
|
||||
user3Name = "Streaming";
|
||||
synologyName = "synology";
|
||||
in
|
||||
{
|
||||
label = "Synology";
|
||||
sync = {
|
||||
address0 = "MWRGX2V-F5XKE5E-REP6ECT-OOPFBMF-22NHSMW-YFBU6MB-PLFUN63-R3MW2QX"; # User0
|
||||
address1 = ""; # User2
|
||||
};
|
||||
name = synologyName;
|
||||
ip = {
|
||||
address0 = synologyIP;
|
||||
};
|
||||
# Nick Home Folder
|
||||
folder0 = {
|
||||
mount = "/mnt/media/${synologyName}/${user0}";
|
||||
device = "//${synologyIP}/homes/${user0Name}";
|
||||
options = sambaPermissions ++ userIdForUser0;
|
||||
};
|
||||
# Garnet Home Folder
|
||||
folder1 = {
|
||||
mount = "/mnt/media/${synologyName}/${user1}";
|
||||
device = "//${synologyIP}/homes/${user1Name}";
|
||||
options = sambaPermissions ++ userIdForUser1;
|
||||
};
|
||||
# Minecraft Worlds
|
||||
folder2 = {
|
||||
mount = "/home/${user1}/.local/share/PrismLauncher/instances/1.21/.minecraft/saves";
|
||||
device = "//${synologyIP}/homes/${user1Name}/Minecraft";
|
||||
options = sambaPermissions ++ userIdForUser1;
|
||||
};
|
||||
# Streaming Folder
|
||||
folder3 = {
|
||||
mount = "/mnt/media/${synologyName}/${user3}";
|
||||
device = "//${synologyIP}/homes/${user0Name}";
|
||||
options = sambaPermissions ++ userIdForUser3;
|
||||
};
|
||||
}
|
33
modules/config/devices/config/venus.nix
Executable file
33
modules/config/devices/config/venus.nix
Executable file
|
@ -0,0 +1,33 @@
|
|||
{ devicesFunctions }:
|
||||
let
|
||||
inherit (devicesFunctions)
|
||||
readWritePermissions
|
||||
venusIP
|
||||
;
|
||||
drivePath = "/run/media";
|
||||
byLabel = "/dev/disk/by-label";
|
||||
|
||||
in
|
||||
{
|
||||
label = "Venus";
|
||||
name = "venus";
|
||||
ip = {
|
||||
address0 = venusIP;
|
||||
};
|
||||
boot = {
|
||||
options = [
|
||||
"fmask=0022"
|
||||
"dmask=0022"
|
||||
];
|
||||
};
|
||||
storage0 = {
|
||||
mount = "${drivePath}/games";
|
||||
device = "${byLabel}/Games";
|
||||
options = readWritePermissions;
|
||||
};
|
||||
storage1 = {
|
||||
mount = "${drivePath}/entertainment";
|
||||
device = "${byLabel}/Entertainment";
|
||||
options = readWritePermissions;
|
||||
};
|
||||
}
|
87
modules/config/devices/default.nix
Executable file
87
modules/config/devices/default.nix
Executable file
|
@ -0,0 +1,87 @@
|
|||
let
|
||||
configPath = ./config;
|
||||
printerPath = configPath + /printers;
|
||||
|
||||
devicesFunctions = {
|
||||
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"
|
||||
];
|
||||
userIdForUser3 = [
|
||||
"uid=1002"
|
||||
];
|
||||
dummy = [
|
||||
];
|
||||
ceresIP = "192.168.50.140";
|
||||
charonIP = "192.168.50.42";
|
||||
deimosIP = "192.168.50.142";
|
||||
marsIP = "192.168.50.196";
|
||||
phoneIP = "192.168.50.243";
|
||||
synologyIP = "192.168.50.209";
|
||||
venusIP = "192.168.58.104";
|
||||
brotherIP = "192.168.50.195";
|
||||
};
|
||||
|
||||
deviceswithFunctions = builtins.listToAttrs (
|
||||
map
|
||||
(name: {
|
||||
name = builtins.substring 0 (builtins.stringLength name - 4) name;
|
||||
value = import (configPath + "/${name}") {
|
||||
inherit
|
||||
devicesFunctions
|
||||
;
|
||||
};
|
||||
})
|
||||
(
|
||||
builtins.filter (name: builtins.match ".*\\.nix$" name != null) (
|
||||
builtins.attrNames (builtins.readDir configPath)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
devicesPrinters = builtins.listToAttrs (
|
||||
map
|
||||
(name: {
|
||||
name = builtins.substring 0 (builtins.stringLength name - 4) name;
|
||||
value = import (printerPath + "/${name}") {
|
||||
inherit
|
||||
devicesFunctions
|
||||
;
|
||||
};
|
||||
})
|
||||
(
|
||||
builtins.filter (name: builtins.match ".*\\.nix$" name != null) (
|
||||
builtins.attrNames (builtins.readDir printerPath)
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
devices = deviceswithFunctions // devicesPrinters;
|
||||
in
|
||||
{
|
||||
devices = devices;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue