feat(config): Clean up, add themes options
This commit is contained in:
@@ -17,17 +17,20 @@
|
||||
|
||||
# Ideas
|
||||
- [X] function to collect new configs -> Not smart because templates
|
||||
- [X] config options for users and groups
|
||||
- [ ] Templates foreach (array of arrays or something like it)
|
||||
- [ ] Improved base GTK theme
|
||||
- [ ] config options for users and groups -> Omitted for now
|
||||
- [ ] Wallpaper settings for other WM than hyprland
|
||||
- [ ] presets for things like desktops (like Hyprland)
|
||||
- [ ] config options for the template rendering
|
||||
- [ ] config options for themes
|
||||
- [ ] grub config
|
||||
- [ ] Dynamic selection of more configs (i.e. require syntax)
|
||||
- [X] Dynamic selection of more configs (i.e. require syntax)
|
||||
- [ ] Conditional require
|
||||
- [X] Own config syntax? -> just use yaml
|
||||
- [ ] Autocompletion
|
||||
- [ ] Basic arch install how? -> Probably manual (or semi-automatic)
|
||||
- [ ] Mounts?
|
||||
- [ ] Conditional require
|
||||
|
||||
|
||||
# REGEX
|
||||
@@ -38,3 +41,44 @@ TODO: Improve the below (especially file can be shortened with positive lookahea
|
||||
- Full URL: `^(https?):\\/\\/(([a-z0-9-]+)((?=\\.))\\.)+[a-z]+(?=\\/)\\/([\\w\\-?.=]+(?=\\/[\\w\\-?.=])\\/)*([\\w\\-?&.=\\/]+(?=[\\w\\-.=\\/]$))`
|
||||
- UNIX username and groups: `^[a-zA-Z0-9\\-._]{2,19}(?=[a-zA-Z0-9]$)`
|
||||
- Git SSH: `([a-zA-Z0-9\\-._]+(?=[a-zA-Z0-9])[a-zA-Z0-9])@(([a-z0-9\\-]+(?=\\.))\\.)+[a-z]+(?=:):([a-zA-Z0-9\\-._]+(?=\\/)\\/)+([a-zA-Z0-9\\-._]+(?=[a-zA-Z0-9]$))`
|
||||
|
||||
|
||||
## User config schema
|
||||
This may or may not ever be a thing
|
||||
```json
|
||||
"users": {
|
||||
"type": "array",
|
||||
"description": "Users to add, including groups. Users will be diffed and removed if they are removed from here. No files are deleted",
|
||||
"items": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"username": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-zA-Z0-9\\-._]{2,19}(?=[a-zA-Z0-9]$)"
|
||||
},
|
||||
"groups": {
|
||||
"type": "array",
|
||||
"description": "The groups to add the user to. Groups are created if they don't exist. User's own group doesn't have to be listed explicitly",
|
||||
"items": {
|
||||
"type": "string",
|
||||
"pattern": "^[a-zA-Z0-9\\-._]{2,19}(?=[a-zA-Z0-9]$)"
|
||||
}
|
||||
},
|
||||
"sudo_user": {
|
||||
"type": "boolean",
|
||||
"default": false,
|
||||
"description": "Whether a user can use sudo or not. Same as appending them to the `wheel` group"
|
||||
},
|
||||
"home_dir": {
|
||||
"type": "boolean",
|
||||
"description": "Whether to create a home directory for the user or not",
|
||||
"default": false
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"username"
|
||||
],
|
||||
"additionalProperties": false
|
||||
}
|
||||
},
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user