dotfiles/config/devices/default.nix

66 lines
1.5 KiB
Nix
Raw Normal View History

2024-11-10 01:29:37 -06:00
let
configPath = ./config;
printerPath = configPath + /printers;
devicesFunctions = {
2025-01-08 19:06:14 -06:00
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"
];
dummy = [
];
2024-11-10 01:29:37 -06:00
};
deviceswithFunctions = builtins.listToAttrs (map (name: {
2025-01-08 19:06:14 -06:00
name = builtins.substring 0 (builtins.stringLength name - 4) name;
value = import (configPath + "/${name}") {
inherit
devicesFunctions
;
};
2024-11-10 01:29:37 -06:00
})
(builtins.filter (name:
builtins.match ".*\\.nix$" name != null) (builtins.attrNames
(builtins.readDir configPath))));
devicesPrinters = builtins.listToAttrs (map (name: {
2025-01-08 19:06:14 -06:00
name = builtins.substring 0 (builtins.stringLength name - 4) name;
value = import (printerPath + "/${name}") {
inherit
devicesFunctions
;
};
2024-11-10 01:29:37 -06:00
})
(builtins.filter (name:
builtins.match ".*\\.nix$" name != null) (builtins.attrNames
(builtins.readDir printerPath))));
devices = deviceswithFunctions // devicesPrinters;
in {
devices = devices;
}