From 5414f496716af414effa08c7ae891e2a36dfc5b3 Mon Sep 17 00:00:00 2001 From: Hadi <112569860+anotherhadi@users.noreply.github.com> Date: Wed, 19 Jun 2024 21:01:01 +0200 Subject: [PATCH] Update --- docs/APPS.md | 19 +++++++++++-- docs/SCRIPTS.md | 1 - docs/TODO.md | 4 +-- home/scripts/default.nix | 1 + home/scripts/nixy/default.nix | 50 +++++++++++++++++++++++++++++++++++ home/scripts/tofi/default.nix | 38 ++++++++++++++++++++++++++ secrets/server.yaml | 7 +++-- 7 files changed, 113 insertions(+), 7 deletions(-) create mode 100644 home/scripts/tofi/default.nix diff --git a/docs/APPS.md b/docs/APPS.md index 7a3bdea..b831d98 100644 --- a/docs/APPS.md +++ b/docs/APPS.md @@ -1,8 +1,10 @@ -# APPS +# Apps and services *non-exhaustive list* -| Category | Software | +## Laptop + +| Category | Name | |----------------|---------------| | WM | Hyprland | | | hyprlock | @@ -31,3 +33,16 @@ | | neofetch | | | cava | | | ... | + +## Server + +| Name | +|------------| +| Nextcloud | +| Tailscale | +| AdGuard Home | +| Cloudflare DynDNS | +| Ntfy.sh | +| Vaultwarden | +| Nginx | +| Unifi Controler | diff --git a/docs/SCRIPTS.md b/docs/SCRIPTS.md index c040801..2e6b1e7 100644 --- a/docs/SCRIPTS.md +++ b/docs/SCRIPTS.md @@ -2,7 +2,6 @@ ## Nix/NixOs shortcuts -- `nixy-edit` - `nixy-rebuild` - `nixy-update` - `nixy-gc` # garbage collection diff --git a/docs/TODO.md b/docs/TODO.md index 8a226b3..f25eff8 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -15,8 +15,8 @@ feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md)) - [ ] Telescope shortcut for file content - [ ] Markdown snippets - [ ] Make whichkey better -- [ ] Automount USB Key (And notify-send when it's done) - [ ] Backup system for some folders ($home/dev, $home/pictures, ...) - [ ] Exclude file pattern (nodes modules, ...) - [ ] Nextcloud exclude file pattern (nodes modules, ...) -- [ ] Usb security for laptop & server, variable in variables.nix, disable for guest +- [ ] Automount USB Key (And notify-send when it's done) + - [ ] Usb security for laptop & server, variable in variables.nix, disable for guest diff --git a/home/scripts/default.nix b/home/scripts/default.nix index ba52667..9a13c83 100644 --- a/home/scripts/default.nix +++ b/home/scripts/default.nix @@ -11,5 +11,6 @@ ./system ./compress ./misc + ./tofi ]; } diff --git a/home/scripts/nixy/default.nix b/home/scripts/nixy/default.nix index df201f1..11d5015 100644 --- a/home/scripts/nixy/default.nix +++ b/home/scripts/nixy/default.nix @@ -1,6 +1,55 @@ { pkgs, config, ... }: let + + nixy = pkgs.writeShellScriptBin "nixy" '' + function exec() { + $@ + # hyprctl dispatch exec $@ + } + + function ui(){ + DEFAULT_ICON="󰘳" + + # "icon;name;command"[] + apps=( + ";Rebuild;nixy-rebuild" + ";Upgrade;nixy-upgrade" + ";Update;nixy-update" + ";Collect Garbage;nixy-gc" + ";Clean Boot Menu;nixy-cb" + ) + + # Apply default icons if empty: + for i in "''${!apps[@]}"; do + apps[i]=$(echo "''${apps[i]}" | sed 's/^;/'$DEFAULT_ICON';/') + done + + fzf_result=$(printf "%s\n" "''${apps[@]}" | awk -F ';' '{print $1" "$2}' | fzf) + [[ -z $fzf_result ]] && exit 0 + fzf_result=''${fzf_result/ /;} + line=$(printf "%s\n" "''${apps[@]}" | grep "$fzf_result") + command=$(echo "$line" | sed 's/^[^;]*;//;s/^[^;]*;//') + + exec "$command" + exit 0 + } + + [[ $1 == "" ]] && ui + + if [[ $1 == "rebuild" ]];then + nixy-rebuild + elif [[ $1 == "upgrade" ]];then + nixy-upgrade + elif [[ $1 == "update" ]];then + nixy-update + elif [[ $1 == "gc" ]];then + nixy-gc + elif [[ $1 == "cb" ]];then + nixy-cb + fi + ''; + nixy-rebuild = pkgs.writeShellScriptBin "nixy-rebuild" '' sudo nixos-rebuild switch --flake ${config.var.configDirectory}#nixy ''; @@ -23,6 +72,7 @@ let in { home.packages = with pkgs; [ + nixy nixy-rebuild nixy-upgrade nixy-update diff --git a/home/scripts/tofi/default.nix b/home/scripts/tofi/default.nix new file mode 100644 index 0000000..a0eda89 --- /dev/null +++ b/home/scripts/tofi/default.nix @@ -0,0 +1,38 @@ +{ pkgs, config, ... }: + +let + + tofi = pkgs.writeShellScriptBin "tofi" '' + function exec() { + $@ + # hyprctl dispatch exec $@ + } + + function ui(){ + DEFAULT_ICON="󰘳" + + # "icon;name;command"[] + apps=( + ";Nixy;nixy" + ";Nerdfont;nerdfont-fzf" + ) + + # Apply default icons if empty: + for i in "''${!apps[@]}"; do + apps[i]=$(echo "''${apps[i]}" | sed 's/^;/'$DEFAULT_ICON';/') + done + + fzf_result=$(printf "%s\n" "''${apps[@]}" | awk -F ';' '{print $1" "$2}' | fzf) + [[ -z $fzf_result ]] && exit 0 + fzf_result=''${fzf_result/ /;} + line=$(printf "%s\n" "''${apps[@]}" | grep "$fzf_result") + command=$(echo "$line" | sed 's/^[^;]*;//;s/^[^;]*;//') + + exec "$command" + exit 0 + } + + ui + ''; + +in { home.packages = with pkgs; [ tofi ]; } diff --git a/secrets/server.yaml b/secrets/server.yaml index d401b70..0b8dc66 100644 --- a/secrets/server.yaml +++ b/secrets/server.yaml @@ -1,5 +1,8 @@ sshconfig: ENC[AES256_GCM,data:4js0EtQXcazsMDoF3LFmEqvDSxviZFTLtmyd0XgS4PTcf7exHj586EqxJRMQuT318PyPH+KzYU5XV1OwnZl8c5G0ZSivj2AJewAPe0JtByqrBA6xEiozDGP8s8YezELZs2MebVHHWxzn+g/HsJM3QFoR3g==,iv:l1pS/K2GHNJ8aztgYGvtksP3QR4qqhIDRLiWg6dwGzc=,tag:adAmwETO0gmeC0jGGkFSmg==,type:str] github-key: ENC[AES256_GCM,data:6u7+Rq+FYhYvfHoCNeQ2zKHVzsw9gbsFcoEcEMHc5gDenLwjTBTvY5TroIY5X8SvDh656N8WsOTIYGqbRyNY1bnCsMt9Q6rlanIlc1BGp77bctztImp0KKbMctDDvG+6FVqvdmO5gwO1+lUB/uX4Sb6DeFGrizDyhoKZlTrA7GHnYh4prryimlSnlwzhXTtpqQ7fzyniNShXlJPgQfGB7Z3LJCmMEUs4CHVRuuIIgRm/wk5muhJmynKsuB8l0tSqVDaNQjTrxE95p021ivCiEHWULf6+Z31u5tTG+yps2y5kpSP08Op9mk1aB7Wrcg/vh52wWvedpTuqLSeJCzxbLWrmeMq8d9J402ZH8jgI2WfqgWHdHotODrD12n5nA5b6gnoQ7N793FuQPKu4YfMbCvZN5gdzNrfmAuAaSCTq1XTr4z8As81LIZxbj22uyRSEvZM6biqVZOIk7I0FZMN2BnWVZLYOoC+fyeedh/I1ZqYWuvswCUBowrVJ875eo+/+2JEcRiXIGcLFsuPsbw8R,iv:gv6qb91ZvkOIT6QuQZvLuotxGaBv1nK8ytagDWtiWBQ=,tag:2tXUNGiA/5xhxCXC5v4D3w==,type:str] +nextcloud-adminpass: ENC[AES256_GCM,data:skcJhRBDDAIqdrUkylqntJE7ErG+4jWAcw==,iv:gf49orzxxyr+CAYCHQwvHCE6IcaR3iCu4blfn/HFzlc=,tag:b7R4Y8GSKAqoZuUBLPj2AQ==,type:str] +cloudflare-apitoken: ENC[AES256_GCM,data:XggCQiUBxgB5Lnau2sQilCvVpyO/3COFAMcULd0We6Y2FnoqCbvbjw==,iv:qzcc8bUgCoMGTtjozN6gqqpVkfRi6Fk8wVxT7ZDL7Hk=,tag:eJT8BWH3QvgybYTlvCvRkA==,type:str] +tailscaled-authKey: ENC[AES256_GCM,data:wIFPKLoD2BDgBjBmOSx2a5okN8BWFdEqApXD4QeVA9uxXBSBhfPu+57dh4O0gTH77n0RgbhxJ/TCorTtNg==,iv:ue/MeYAhUcG69p2Vw5drGdGxkRC8ofzzE910nZd2JKk=,tag:xKjlIpi8WHWT57ryWtUnlg==,type:str] sops: kms: [] gcp_kms: [] @@ -15,8 +18,8 @@ sops: cmVxVC8rVDlWMUdZaGw3bmdOaWZGS1EKYahBlc8XpB5UdKZQkvxbLcKQ/xkFJjWo FSfQWnjhe/a7BJtJEcKZkjOQU0mYqlSu+uT2RA9diCQeRUJPRF+nAw== -----END AGE ENCRYPTED FILE----- - lastmodified: "2024-06-17T21:29:06Z" - mac: ENC[AES256_GCM,data:Qf8iaIs0aGxMxR1GjN40OOYDuTWZbPjbr4yo93rlXNyUvvSdr57NHMFX6jnMuTpYCqZ2gvjbrplN5FOP4f+EsPis6OPHO61S3WHBmsV4vhB0BZBKdKV2bQZERxxVQEBKE9KzaHmYvpWbFzHhTnv+/8notxFUjgVGdT0UQ/CMJVM=,iv:f+T4v9Igbn+O8VnCePPCGwGv66rPjslmPC8A3EP4ti8=,tag:XjYYVAMDhgdboypCyiUriQ==,type:str] + lastmodified: "2024-06-19T14:45:23Z" + mac: ENC[AES256_GCM,data:InKomAmOtqySIy0mOon9RDPud+dXQ43pBkwYiHOG9NijC1dyVfU5AJlbBwYVa23SUs98S7vATWD4WdnT9PmFor7WGQ4f34IV7Pp8GMcGFOw05sIyOorBVpbqQbNjBfZZotutoWTazKyJt1VqGukJISq6tRpcgeJt3VLgXmwyzCk=,iv:hBG/BQYHnEVwVGhQhJ+uRF5tmFVZU+I/vqQLmOUt9Ms=,tag:eg3si/p13onidlz0FDh0Lw==,type:str] pgp: [] unencrypted_suffix: _unencrypted version: 3.8.1