lib.helpers:
lib.helpers.mkPub
Create a public key for a given host
Arguments
- [host] the host to create the public key for
- [key] this is a attrset with the key type and key
Type
mkPub :: (String -> AttrSet -> AttrSet) -> String -> AttrSet -> AttrSet
Example
mkPub "github.com" {
type = "rsa";
key = "AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==";
}
=> {
"github.com-rsa" = {
hostNames = [ "github.com" ];
publicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==";
};
}
lib.helpers.mkPubs
Create public keys for a given host
Arguments
- [host] the host to create the public keys for
- [keys] the list of keys to create
Type
mkPubs :: (String -> List) -> String -> List -> AttrSet
Example
mkPubs "github.com" [
{
type = "rsa";
key = "AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==";
}
{
type = "ed25519";
key = "AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl";
}
]
=> {
"github.com-ed25519" = {
hostNames = [ "github.com" ];
publicKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl";
};
"github.com-rsa" = {
hostNames = [ "github.com" ];
publicKey = "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==";
};
}
lib.helpers.giturl
Create git url aliases for a given domain
Arguments
- [domain] the domain to create the alias for
- [alias] the alias to use
- [user] the user to use, this defaults to "git"
- [port] the port to use, this is optional
Type
giturl :: (String -> String -> String -> Int) -> AttrSet
Example
giturl { domain = "github.com"; alias = "gh"; }
=> {
"https://github.com/".insteadOf = "gh:";
"ssh://git@github.com/".pushInsteadOf = "gh:";
}
lib.helpers.filterNixFiles
filter files for the .nix suffix
Arguments
- [k] they key, which is the file name
- [v] the value, which is the type of the file
Type
filterNixFiles :: String -> String -> Bool
Example
filterNixFiles "default.nix" "regular"
=> true
lib.helpers.importNixFiles
Import all file that filterNixFiles allows for
Arguments
- [path] the path to the directory
Type
importNixFiles :: String -> List
Example
importNixFiles ./.
=> [ {...} ]
lib.helpers.importNixFilesAndDirs
import all nix files and directories
Arguments
- [dir] the directory to search for nix files
Type
importNixFilesAndDirs :: String -> List
Example
importNixFilesAndDirs ./.
=> [ "flake.nix" ]
lib.helpers.boolToNum
return an int based on boolean value
Arguments
- [bool] the boolean value
Type
boolToNum :: Bool -> Int
Example
boolToNum true
=> 1
lib.helpers.containsStrings
a function that checks if a list contains a list of given strings
Arguments
- [list] the list to search in
- [targetStrings] the list of strings to search for
Type
containsStrings :: List -> List -> Bool
Example
containsStrings ["a" "b" "c"] ["a" "b"]
=> true
lib.helpers.indexOf
a function that returns the index of an element in a list
Arguments
- [list] the list to search in
- [elem] the element to search for
Type
indexOf :: List -> Any -> Int
Example
indexOf [1 2 3] 2
=> 1
lib.helpers.intListToStringList
convert a list of integers to a list of string
Arguments
- [list] the list of integers
Type
intListToStringList :: List -> List
Example
intListToStringList [1 2 3]
=> ["1" "2" "3"]