From cd7b35389e150a90634d2a34a906c1470adcd33b Mon Sep 17 00:00:00 2001 From: Hadi <112569860+anotherhadi@users.noreply.github.com> Date: Thu, 27 Jun 2024 09:49:24 +0000 Subject: [PATCH] update --- docs/TODO.md | 12 +-- hosts/modules/variables-configtest.nix | 132 +++++++++++++++++++++++++ 2 files changed, 138 insertions(+), 6 deletions(-) create mode 100644 hosts/modules/variables-configtest.nix diff --git a/docs/TODO.md b/docs/TODO.md index 574fba4..61c94c4 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -3,19 +3,19 @@ feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md)) - [ ] Nixy - - [ ] Installation script ([install.sh](./scripts/install.sh) to test on a fresh install) - - [ ] Variables-template with defaults + - [~] Installation script ([install.sh](./scripts/install.sh) to test on a fresh install) + - [~] Variables-template with defaults - [ ] Themes - [ ] Upload new wallpapers - [ ] macOS theme - - [ ] Tofi (Wofi, but terminal based) + - [~] Tofi (Wofi, but terminal based) - [ ] Add Vim Keybindings to KEYBINDINGS.md - [ ] Qutebrowser - - [ ] Bitwarden integration (I need this.) + - [~] Bitwarden integration (I need this.) - [ ] Waybar - - [ ] Caffeine status + - [~] Caffeine status - [ ] Night-shift status - [ ] Hyprland @@ -28,7 +28,7 @@ feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md)) - [ ] Nixvim - [ ] Markdown snippets - [ ] Markdown fold - - [ ] Markdown better table (maybe lsp?) + - [~] Markdown better table (maybe lsp?) - [ ] Autosave when zen-mode is open - [ ] Backup system for some folders ($home/dev, $home/pictures, ...) diff --git a/hosts/modules/variables-configtest.nix b/hosts/modules/variables-configtest.nix new file mode 100644 index 0000000..2ff90bc --- /dev/null +++ b/hosts/modules/variables-configtest.nix @@ -0,0 +1,132 @@ +{ lib, ... }: { + options = { + var = { + + hostname = lib.mkOption { + type = lib.types.string; + default = ""; + description = ""; + }; + + hostname = lib.mkOption { + type = lib.types.string; + default = "nixy"; + description = "Hostname"; + }; + + username = lib.mkOption { + type = lib.types.string; + default = "user"; + description = "Username"; + }; + + homeDirectory = lib.mkOption { + type = lib.types.string; + default = "/home/user"; + description = "Home directory (/home/user)"; + }; + + + configDirectory = lib.mkOption { + type = lib.types.string; + default = "/home/user/.config/nixos"; + description = "NixOS config directory (/home/user/.config/nixos)"; + }; + + keyboardLayout = lib.mkOption { + type = lib.types.string; + default = "en"; + description = "Keyboard layout (en/fr/...)"; + }; + + timeZone = lib.mkOption { + type = lib.types.string; + default = "America/New_York"; + description = "Time Zone"; + }; + + defaultLocale = lib.mkOption { + type = lib.types.string; + default = "en_US.UTF-8"; + description = "Default Locale"; + }; + + extraLocale = lib.mkOption { + type = lib.types.string; + default = "fr_FR.UTF-8"; + description = "Extra Locale"; + }; + + stateVersion = lib.mkOption { + type = lib.types.string; + default = "24.05"; + description = "State Version: Shouldn't be changed once set."; + }; + + autoUpgrade = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enable auto upgrades"; + }; + + autoGarbageCollector = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enable garbage collector"; + }; + + sops = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enable sops (You should set up sops for your own config)"; + }; + + obsidian = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enable obsidian.nvim (You should set up obsidian.nvim for your own config)"; + }; + + tailscale = lib.mkOption { + type = lib.types.bool; + default = false; + description = "Enable tailscale"; + }; + + git = { + username = lib.mkOption { + type = lib.types.string; + default = "user"; + description = "Git Username"; + }; + + email = lib.mkOption { + type = lib.types.string; + default = "youremail@gmail.com"; + description = "Git Email"; + }; + }; + + theme = { + wallpaper = lib.mkOption { + type = lib.types.string; + default = "magma.png"; + description = "Wallpaper (Should be in /home/user/wallpapers)"; + }; + + font = lib.mkOption { + type = lib.types.string; + default = "SFProDisplay Nerd Font"; + description = "Font"; + }; + + font-mono = lib.mkOption { + type = lib.types.string; + default = "FiraCode Nerd Font Mono"; + description = "Monospace Font"; + }; + }; + + }; + }; +}