PortValhalla/scripts/Common/Scripts/config.fish

59 lines
1.3 KiB
Fish
Raw Normal View History

2024-07-09 00:22:12 +00:00
#!/bin/env fish
function isConfigured -S
2024-09-08 15:09:01 +00:00
set -q CONFIG_NAME
end
function getProfiles -S
source "$(status dirname)/eval-flake.fish";
evalFlake "" "" --apply "builtins.attrNames" --json
end
2024-07-09 00:22:12 +00:00
function getConfig -S -a property
2024-09-08 15:09:01 +00:00
source "$(status dirname)/eval-flake.fish"
evalFlake "$CONFIG_NAME" "$property" $argv[2..]
2024-07-09 00:22:12 +00:00
end
2024-07-15 10:10:06 +00:00
2024-09-22 15:50:05 +00:00
function getOSConfigRoot
echo "valhalla.linux"
end
function getOSConfig -S -a property
getConfig "$(getOSConfigRoot).$property" $argv[2..]
end
function getAttributes -S -a property
getConfig "$property" --apply "builtins.attrNames" --json
end
function getUsers -S
2024-09-22 15:50:05 +00:00
getAttributes "$(getOSConfigRoot).users"
end
function getUserConfig -S -a name property
getOSConfig "users.$name.$property" $argv[3..]
end
function isSet -S -a property
not test "$(getConfig "$property" --json)" = "null"
end
2024-09-22 15:50:05 +00:00
function isOSSet -S -a property
isSet "$(getOSConfigRoot).$property"
end
function isUserSet -S -a name property
isOSSet "users.$name.$property"
end
function isEnabled -S -a property
getConfig "$property" --json | jq --exit-status > /dev/null
end
2024-09-22 15:50:05 +00:00
function isOSEnabled -S -a property
isEnabled "$(getOSConfigRoot).$property"
end
2024-07-15 10:10:06 +00:00
function collectionActive -S -a name
2024-09-22 15:50:05 +00:00
[ "$(getOSConfig "software.$name" --json)" = "true" ]
2024-07-15 10:10:06 +00:00
end