diff --git a/flake.nix b/flake.nix index 0229557..7961fe1 100644 --- a/flake.nix +++ b/flake.nix @@ -15,6 +15,7 @@ nixcord.url = "github:kaylorben/nixcord"; sops-nix.url = "github:Mic92/sops-nix"; nvf.url = "github:notashelf/nvf"; + default-creds.url = "github:anotherhadi/default-creds"; nix-index-database = { url = "github:nix-community/nix-index-database"; inputs.nixpkgs.follows = "nixpkgs"; @@ -84,6 +85,7 @@ inputs.nixarr.nixosModules.default inputs.eleakxir.nixosModules.eleakxir inputs.nix-index-database.nixosModules.default + inputs.default-creds.nixosModules.default ./hosts/server/configuration.nix ]; }; diff --git a/home/programs/fetch/default.nix b/home/programs/fetch/default.nix index e7550e3..ef92e43 100644 --- a/home/programs/fetch/default.nix +++ b/home/programs/fetch/default.nix @@ -1,2 +1,367 @@ -# Import all fetch scripts -{imports = [./neofetch ./nerdfetch];} +# Nerdfetch, a simple system info script written in bash +# Source: https://github.com/ThatOneCalculator/NerdFetch +{pkgs, ...}: let + nerdfetch = pkgs.writeShellScriptBin "nerdfetch" '' + ostype="$(uname)" + + version=8.1.1 + font=nerd + distrotype=none + osi="" + ki="" + ri="󰍛" + pi="󰏔" + ui="󰅶" + ci="" + + case $1 in + "-p") + font=phosphor + osi="" + ki="" + ri="" + pi="" + ui="" + ci="" + ;; + "-c") + font=cozette + ki="♥" + ri="" + pi="" + ui="" + ci="" + ;; + "-e") + font=emoji + osi="🐧" + ki="💓" + ri="🐐" + pi="📦" + ui="☕" + ci="🎨" + ;; + "-v") + echo "NerdFetch $version" + exit + ;; + "-h") + echo "Flags: + -c: Cozette font + -p: Phosphor font + -e: Emoji font + -v: Version" + exit + ;; + esac + + if command -v getprop 1>/dev/null; then + distrotype=android + fi + kernel="$(echo $(uname -r) | cut -d'-' -f1-1)" + case $ostype in + *"Linux"*) + if [ $distrotype = android ]; then + host="$(hostname)" + USER="$(whoami)" + os="Android $(getprop ro.build.version.release)" + case $font in + phosphor) osi="" ;; + emoji) osi="🤖" ;; + *) osi="󰀲" ;; + esac + else + host="$(cat /proc/sys/kernel/hostname)" + . /etc/os-release + if [ -f /bedrock/etc/bedrock-release ]; then + os="$(brl version)" + else + os="''${PRETTY_NAME}" + if [ $font = nerd ]; then + case $(echo $ID | sed 's/ .*//') in + debian) osi="" ;; + arch) osi="󰣇" ;; + endeavouros) osi="" ;; + fedora) osi="" ;; + gentoo) osi="" ;; + rhel) osi="" ;; + slackware) osi="" ;; + void) osi="" ;; + alpine) osi="" ;; + nixos) osi="󱄅" ;; + artix) osi="" ;; + exherbo) osi="󰆚" ;; + mageia) osi="" ;; + manjaro) osi="" ;; + opensuse) osi="" ;; + solus) osi="" ;; + ubuntu) osi="" ;; + mint) osi="󰣭" ;; + trisquel) osi="" ;; + puppy) osi="" ;; + coreos) osi="" ;; + mx) osi="" ;; + vanilla) osi="" ;; + pop_os) osi="" ;; + raspbian) osi="" ;; + deepin) osi="" ;; + almalinux) osi="" ;; + garuda) osi="" ;; + centos) osi="" ;; + rocky) osi="" ;; + esac + elif [ $font = cozette ]; then + case $(echo $ID | sed 's/ .*//') in + debian) osi="" ;; + arch) osi="" ;; + fedora) osi="" ;; + gentoo) osi="" ;; + slackware) osi="" ;; + void) osi="" ;; + alpine) osi="" ;; + nixos) osi="" ;; + mageia) osi="" ;; + manjaro) osi="" ;; + opensuse) osi="" ;; + ubuntu) osi="" ;; + mint) osi="" ;; + coreos) osi="" ;; + centos) osi="" ;; + esac + fi + fi + fi + shell=$(basename "$SHELL") + ;; + *"Darwin"*) + host="$(hostname -f | sed -e 's/^[^.]*\.//')" + mac_product="$(/usr/libexec/PlistBuddy -c "Print:ProductName" /System/Library/CoreServices/SystemVersion.plist)" + mac_version="$(/usr/libexec/PlistBuddy -c "Print:ProductVersion" /System/Library/CoreServices/SystemVersion.plist)" + os="''${mac_product} ''${mac_version}" + case $font in + nerd) osi="" ;; + phosphor) osi="" ;; + cozette) osi="" ;; + emoji) osi="🍎" ;; + esac + ;; + *"FreeBSD"*) + host="$(hostname)" + distrotype=bsd + os="FreeBSD $(freebsd-version | sed 's/-.*//')" + case $font in + nerd) osi="" ;; + phosphor) osi="" ;; + cozette) osi="" ;; + emoji) osi="😈" ;; + esac + ;; + *"OpenBSD"*) + host="$(hostname)" + distrotype=bsd + os="OpenBSD $(uname -r)" + case $font in + nerd) osi="" ;; + phosphor) osi="" ;; + cozette) osi="⌘" ;; + emoji) osi="🐡" ;; + esac + ;; + *"NetBSD"*) + host="$(hostname)" + distrotype=netbsd + os="NetBSD $(uname -r)" + case $font in + nerd) osi="󰉀" ;; + phosphor) osi="" ;; + cozette) osi="" ;; + emoji) osi="🚩" ;; + esac + ;; + *) + os="Unix-like" + host="host" + ;; + esac + + ## PACKAGE MANAGER AND PACKAGES DETECTION + + MANAGER=$(which nix-env pkg flatpak yum zypper dnf rpm dpkg-query brew port pacman xbps-query emerge cave apk kiss pmm /usr/sbin/slackpkg bulge birb yay paru pacstall cpm pmm eopkg getprop 2>/dev/null) + manager=$(basename "$MANAGER") + if [ $distrotype = netbsd ]; then + manager="pkg_info-netbsd" + fi + case $manager in + cpm) packages="$(cpm C)" ;; + flatpak) packages="$(flatpak list --app | wc -l)" ;; + brew) packages="$(printf '%s\n' "$(brew --cellar)/"* | wc -l)" ;; + port) packages="$(port installed | wc -l)" ;; + dpkg-query) packages="$(dpkg-query -f '${"binary:Package"}\n' -W | wc -l)" ;; + rpm) packages="$(rpm -qa --last | wc -l)" ;; + yum) packages="$(yum list installed | wc -l)" ;; + dnf) packages="$(dnf list installed | wc -l)" ;; + zypper) packages="$(zypper se | wc -l)" ;; + pacman) packages="$(pacman -Q | wc -l)" ;; + yay) packages="$(yay -Q | wc -l)" ;; + paru) packages="$(paru -Q | wc -l)" ;; + pacstall) packages="$(pacstall -L | wc -l)" ;; + kiss) packages="$(kiss list | wc -l)" ;; + emerge) packages="$(qlist -I | wc -l)" ;; + pkg) packages="$(pkg info | wc -l | tr -d ' ')" ;; + cave) packages="$(cave show installed-slots | wc -l)" ;; + xbps-query) packages="$(xbps-query -l | wc -l)" ;; + nix-env) packages="$(nix-store -q --requisites /run/current-system/sw | wc -l)" ;; + apk) packages="$(apk list --installed | wc -l)" ;; + pmm) packages="$(/bedrock/libexec/pmm pacman pmm -Q 2>/dev/null | wc -l)" ;; + eopkg) packages="$(eopkg li | wc -l)" ;; + /usr/sbin/slackpkg) packages="$(ls /var/log/packages | wc -l)" ;; + bulge) packages="$(bulge list | wc -l)" ;; + birb) packages="$(birb --list-installed | wc -l)" ;; + pkg_info) + packages="$(pkg_info -A | wc -l)" + manager="pkg" + ;; + pkg_info-netbsd) + packages="$(pkg_info -a | wc -l)" + manager="pkg" + ;; + *) + if [ $distrotype = android ]; then + packages="$(dpkg-query -f '${"binary:Package"}\n' -W | wc -l)" + manager="dpkg" + else + packages="$(ls /usr/bin | wc -l)" + manager="bin" + fi + ;; + esac + + packages="''${packages#"''${packages%%[![:space:]]*}"}" + manager=$(echo $manager | sed "s/-query//; s/\/usr\/.*\///") + + ## UPTIME DETECTION + + if [ $distrotype = android ]; then + uptime="$(echo $(uptime -p) | cut -c 4-)" + elif [ $distrotype = bsd ] || [ $distrotype = netbsd ]; then + uptime="$(uptime | sed -e 's/.* up //; s/, [0-9]* user.*//')" + else + case $ostype in + *"Linux"*) + IFS=. read -r s _ /dev/null 2>&1; then + mempercent="($(expr $(expr ''${mem_used} \* 100 / ''${mem_full}))%)" + fi + + ## DEFINE COLORS + + bold='' + black='' + red='' + green='' + yellow='' + blue='' + magenta='' + cyan='' + white='' + grey='' + reset='' + + ## USER VARIABLES -- YOU CAN CHANGE THESE + + lc="$reset$bold$magenta" # labels + nc="$reset$bold$magenta" # labels + hn="$reset$bold$magenta" # labels + ic="$reset$white" # info + c0="$reset$grey" # first color + c1="$reset$white" # second color + c2="$reset$yellow" # third color + + ## OUTPUT + + echo """ + ''${c0} ___ ''${nc}''${USER}''${grey}@''${reset}''${hn}''${host}''${reset} + ''${c0} (''${c1}.. ''${c0}\ ''${lc}''${osi} ''${ic}''${os}''${reset} + ''${c0} (''${c2}<> ''${c0}| ''${lc}''${ki} ''${ic}''${kernel}''${reset} + ''${c0} /''${c1}/ \\ ''${c0}\\ ''${lc}''${ri} ''${ic}''${RAM}''${memstat} ''${mempercent} + ''${c0} ( ''${c1}| | ''${c0}/| ''${lc}''${pi} ''${ic}''${packages} (''${manager})''${reset} + ''${c2} _''${c0}/\\ ''${c1}__)''${c0}/''${c2}_''${c0}) ''${lc}''${ui} ''${ic}''${uptime}''${reset} + ''${c2} \/''${c0}-____''${c2}\/''${reset} ''${lc}''${ci} ''${red}███''${green}███''${yellow}███''${blue}███''${magenta}███''${cyan}███''${reset} + """ + ''; +in {home.packages = [nerdfetch];} diff --git a/home/programs/fetch/neofetch/default.nix b/home/programs/fetch/neofetch/default.nix deleted file mode 100644 index c34f84c..0000000 --- a/home/programs/fetch/neofetch/default.nix +++ /dev/null @@ -1,148 +0,0 @@ -# Legacy -{pkgs, ...}: { - home.packages = with pkgs; [neofetch]; - - xdg.configFile."neofetch/ascii.txt".text = '' - ''${c6} - ⡏⠉⠉⠉⠉⠉⠉⠋⠉⠉⠉⠉⠉⠉⠋⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠙⠉⠉⠉⢹ - ⡇⢸⣿⡟⠛⢿⣷⠀⢸⣿⡟⠛⢿⣷⡄⢸⣿⡇⠀⢸⣿⡇⢸⣿⡇⠀⢸⣿⡇⢸ - ⡇⢸⣿⣧⣤⣾⠿⠀⢸⣿⣇⣀⣸⡿⠃⢸⣿⡇⠀⢸⣿⡇⢸⣿⣇⣀⣸⣿⡇⢸ - ⡇⢸⣿⡏⠉⢹⣿⡆⢸⣿⡟⠛⢻⣷⡄⢸⣿⡇⠀⢸⣿⡇⢸⣿⡏⠉⢹⣿⡇⢸ - ⡇⢸⣿⣧⣤⣼⡿⠃⢸⣿⡇⠀⢸⣿⡇⠸⣿⣧⣤⣼⡿⠁⢸⣿⡇⠀⢸⣿⡇⢸ - ⣇⣀⣀⣀⣀⣀⣀⣄⣀⣀⣀⣀⣀⣀⣀⣠⣀⡈⠉⣁⣀⣄⣀⣀⣀⣠⣀⣀⣀⣸ - ⣇⣿⠘⣿⣿⣿⡿⡿⣟⣟⢟⢟⢝⠵⡝⣿⡿⢂⣼⣿⣷⣌⠩⡫⡻⣝⠹⢿⣿⣷ - ⡆⣿⣆⠱⣝⡵⣝⢅⠙⣿⢕⢕⢕⢕⢝⣥⢒⠅⣿⣿⣿⡿⣳⣌⠪⡪⣡⢑⢝⣇ - ⡆⣿⣿⣦⠹⣳⣳⣕⢅⠈⢗⢕⢕⢕⢕⢕⢈⢆⠟⠋⠉⠁⠉⠉⠁⠈⠼⢐⢕⢽ - ⡗⢰⣶⣶⣦⣝⢝⢕⢕⠅⡆⢕⢕⢕⢕⢕⣴⠏⣠⡶⠛⡉⡉⡛⢶⣦⡀⠐⣕⢕ - ⡝⡄⢻⢟⣿⣿⣷⣕⣕⣅⣿⣔⣕⣵⣵⣿⣿⢠⣿⢠⣮⡈⣌⠨⠅⠹⣷⡀⢱⢕ - ⡝⡵⠟⠈⢀⣀⣀⡀⠉⢿⣿⣿⣿⣿⣿⣿⣿⣼⣿⢈⡋⠴⢿⡟⣡⡇⣿⡇⡀⢕ - ⡝⠁⣠⣾⠟⡉⡉⡉⠻⣦⣻⣿⣿⣿⣿⣿⣿⣿⣿⣧⠸⣿⣦⣥⣿⡇⡿⣰⢗⢄ - ⠁⢰⣿⡏⣴⣌⠈⣌⠡⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣬⣉⣉⣁⣄⢖⢕⢕⢕ - ⡀⢻⣿⡇⢙⠁⠴⢿⡟⣡⡆⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣵⣵⣿ - ⡻⣄⣻⣿⣌⠘⢿⣷⣥⣿⠇⣿⣿⣿⣿⣿⣿⠛⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ - ⣷⢄⠻⣿⣟⠿⠦⠍⠉⣡⣾⣿⣿⣿⣿⣿⣿⢸⣿⣦⠙⣿⣿⣿⣿⣿⣿⣿⣿⠟ - ⡕⡑⣑⣈⣻⢗⢟⢞⢝⣻⣿⣿⣿⣿⣿⣿⣿⠸⣿⠿⠃⣿⣿⣿⣿⣿⣿⡿⠁⣠ - ⡝⡵⡈⢟⢕⢕⢕⢕⣵⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣿⣿⣿⣿⠿⠋⣀⣈⠙ - ⡝⡵⡕⡀⠑⠳⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⢉⡠⡲⡫⡪⡪⡣ - ''; - - xdg.configFile."neofetch/config.conf".text = '' - # From: https://github.com/Chick2D/neofetch-themes/ - # Made by https://github.com/Dan1jel - - print_info() { - prin "\n" - info "\n \n OS" distro - info "\n \n Host" model - info "\n \n Kernel" kernel - info "\n \n Uptime" uptime - info "\n \n Packages" packages - info "\n \n Shell" shell - info "\n \n Resolution" resolution - info "\n \n DE" de - info "\n \n WM" wm - info "\n \n WM Theme" wm_theme - info "\n \n Theme" theme - info "\n \n Icons" icons - info "\n \n Terminal" term - info "\n \n Terminal Font" term_font - info "\n \n CPU" cpu - info "\n \n GPU" gpu - info "\n \n Memory" memory - info "\n \n Disk" disk - info "\n \n Battery" battery - info "\n \n Font" font - info "\n \n Song" song - [[ "$player" ]] && prin "\n \n Music Player" "$player" - info "\n \n Local IP" local_ip - prin "\n" - - # prin "\n \n ''${cl0}──''${cl1}────''${cl2}────''${cl3}────''${cl4}────''${cl5}────''${cl6}────''${cl7}──" - prin "\n \n \n \n \n \n ''${cl0}⬤ \n \n ''${cl1}⬤ \n \n ''${cl2}⬤ \n \n ''${cl3}⬤ \n \n ''${cl4}⬤ \n \n ''${cl5}⬤ \n \n ''${cl6}⬤ \n \n ''${cl7}⬤" - } - - reset="\033[0m" - gray="\033[1;90m" - red="\033[1;31m" - green="\033[1;32m" - yellow="\033[1;33m" - blue="\033[1;34m" - magenta="\033[1;35m" - cyan="\033[1;36m" - white="\033[1;37m" - - cl0="''${gray}" - cl1="''${red}" - cl2="''${green}" - cl3="''${yellow}" - cl4="''${blue}" - cl5="''${magenta}" - cl6="''${cyan}" - cl7="''${white}" - - title_fqdn="off" - kernel_shorthand="on" - distro_shorthand="off" - os_arch="off" - uptime_shorthand="on" - memory_percent="off" - memory_unit="mib" - package_managers="on" - shell_path="off" - shell_version="on" - speed_type="bios_limit" - speed_shorthand="off" - cpu_brand="on" - cpu_speed="on" - cpu_cores="logical" - cpu_temp="off" - gpu_brand="on" - gpu_type="all" - refresh_rate="off" - gtk_shorthand="off" - gtk2="on" - gtk3="on" - de_version="on" - disk_show=('/storage/emulated' '/' '/server') - disk_subtitle="none" - disk_percent="on" - music_player="auto" - song_format="%artist% - %album% - %title%" - song_shorthand="off" - mpc_args=() - bold="on" - underline_enabled="on" - underline_char="-" - separator=":" - block_range=(0 15) - color_blocks="on" - block_width=3 - block_height=1 - col_offset="auto" - bar_char_elapsed="-" - bar_char_total="=" - bar_border="on" - bar_length=15 - bar_color_elapsed="distro" - bar_color_total="distro" - cpu_display="off" - memory_display="off" - battery_display="off" - disk_display="off" - image_backend="ascii" - image_source="$HOME/.config/neofetch/ascii.txt" - ascii_distro="auto" - ascii_colors=(distro) - ascii_bold="on" - image_loop="off" - thumbnail_dir="''${XDG_CACHE_HOME:-''${HOME}/.cache}/thumbnails/neofetch" - crop_mode="normal" - crop_offset="center" - image_size="auto" - gap=2 - yoffset=0 - xoffset=0 - background_color= - stdout="off" - ''; -} diff --git a/home/programs/fetch/nerdfetch/default.nix b/home/programs/fetch/nerdfetch/default.nix deleted file mode 100644 index ef92e43..0000000 --- a/home/programs/fetch/nerdfetch/default.nix +++ /dev/null @@ -1,367 +0,0 @@ -# Nerdfetch, a simple system info script written in bash -# Source: https://github.com/ThatOneCalculator/NerdFetch -{pkgs, ...}: let - nerdfetch = pkgs.writeShellScriptBin "nerdfetch" '' - ostype="$(uname)" - - version=8.1.1 - font=nerd - distrotype=none - osi="" - ki="" - ri="󰍛" - pi="󰏔" - ui="󰅶" - ci="" - - case $1 in - "-p") - font=phosphor - osi="" - ki="" - ri="" - pi="" - ui="" - ci="" - ;; - "-c") - font=cozette - ki="♥" - ri="" - pi="" - ui="" - ci="" - ;; - "-e") - font=emoji - osi="🐧" - ki="💓" - ri="🐐" - pi="📦" - ui="☕" - ci="🎨" - ;; - "-v") - echo "NerdFetch $version" - exit - ;; - "-h") - echo "Flags: - -c: Cozette font - -p: Phosphor font - -e: Emoji font - -v: Version" - exit - ;; - esac - - if command -v getprop 1>/dev/null; then - distrotype=android - fi - kernel="$(echo $(uname -r) | cut -d'-' -f1-1)" - case $ostype in - *"Linux"*) - if [ $distrotype = android ]; then - host="$(hostname)" - USER="$(whoami)" - os="Android $(getprop ro.build.version.release)" - case $font in - phosphor) osi="" ;; - emoji) osi="🤖" ;; - *) osi="󰀲" ;; - esac - else - host="$(cat /proc/sys/kernel/hostname)" - . /etc/os-release - if [ -f /bedrock/etc/bedrock-release ]; then - os="$(brl version)" - else - os="''${PRETTY_NAME}" - if [ $font = nerd ]; then - case $(echo $ID | sed 's/ .*//') in - debian) osi="" ;; - arch) osi="󰣇" ;; - endeavouros) osi="" ;; - fedora) osi="" ;; - gentoo) osi="" ;; - rhel) osi="" ;; - slackware) osi="" ;; - void) osi="" ;; - alpine) osi="" ;; - nixos) osi="󱄅" ;; - artix) osi="" ;; - exherbo) osi="󰆚" ;; - mageia) osi="" ;; - manjaro) osi="" ;; - opensuse) osi="" ;; - solus) osi="" ;; - ubuntu) osi="" ;; - mint) osi="󰣭" ;; - trisquel) osi="" ;; - puppy) osi="" ;; - coreos) osi="" ;; - mx) osi="" ;; - vanilla) osi="" ;; - pop_os) osi="" ;; - raspbian) osi="" ;; - deepin) osi="" ;; - almalinux) osi="" ;; - garuda) osi="" ;; - centos) osi="" ;; - rocky) osi="" ;; - esac - elif [ $font = cozette ]; then - case $(echo $ID | sed 's/ .*//') in - debian) osi="" ;; - arch) osi="" ;; - fedora) osi="" ;; - gentoo) osi="" ;; - slackware) osi="" ;; - void) osi="" ;; - alpine) osi="" ;; - nixos) osi="" ;; - mageia) osi="" ;; - manjaro) osi="" ;; - opensuse) osi="" ;; - ubuntu) osi="" ;; - mint) osi="" ;; - coreos) osi="" ;; - centos) osi="" ;; - esac - fi - fi - fi - shell=$(basename "$SHELL") - ;; - *"Darwin"*) - host="$(hostname -f | sed -e 's/^[^.]*\.//')" - mac_product="$(/usr/libexec/PlistBuddy -c "Print:ProductName" /System/Library/CoreServices/SystemVersion.plist)" - mac_version="$(/usr/libexec/PlistBuddy -c "Print:ProductVersion" /System/Library/CoreServices/SystemVersion.plist)" - os="''${mac_product} ''${mac_version}" - case $font in - nerd) osi="" ;; - phosphor) osi="" ;; - cozette) osi="" ;; - emoji) osi="🍎" ;; - esac - ;; - *"FreeBSD"*) - host="$(hostname)" - distrotype=bsd - os="FreeBSD $(freebsd-version | sed 's/-.*//')" - case $font in - nerd) osi="" ;; - phosphor) osi="" ;; - cozette) osi="" ;; - emoji) osi="😈" ;; - esac - ;; - *"OpenBSD"*) - host="$(hostname)" - distrotype=bsd - os="OpenBSD $(uname -r)" - case $font in - nerd) osi="" ;; - phosphor) osi="" ;; - cozette) osi="⌘" ;; - emoji) osi="🐡" ;; - esac - ;; - *"NetBSD"*) - host="$(hostname)" - distrotype=netbsd - os="NetBSD $(uname -r)" - case $font in - nerd) osi="󰉀" ;; - phosphor) osi="" ;; - cozette) osi="" ;; - emoji) osi="🚩" ;; - esac - ;; - *) - os="Unix-like" - host="host" - ;; - esac - - ## PACKAGE MANAGER AND PACKAGES DETECTION - - MANAGER=$(which nix-env pkg flatpak yum zypper dnf rpm dpkg-query brew port pacman xbps-query emerge cave apk kiss pmm /usr/sbin/slackpkg bulge birb yay paru pacstall cpm pmm eopkg getprop 2>/dev/null) - manager=$(basename "$MANAGER") - if [ $distrotype = netbsd ]; then - manager="pkg_info-netbsd" - fi - case $manager in - cpm) packages="$(cpm C)" ;; - flatpak) packages="$(flatpak list --app | wc -l)" ;; - brew) packages="$(printf '%s\n' "$(brew --cellar)/"* | wc -l)" ;; - port) packages="$(port installed | wc -l)" ;; - dpkg-query) packages="$(dpkg-query -f '${"binary:Package"}\n' -W | wc -l)" ;; - rpm) packages="$(rpm -qa --last | wc -l)" ;; - yum) packages="$(yum list installed | wc -l)" ;; - dnf) packages="$(dnf list installed | wc -l)" ;; - zypper) packages="$(zypper se | wc -l)" ;; - pacman) packages="$(pacman -Q | wc -l)" ;; - yay) packages="$(yay -Q | wc -l)" ;; - paru) packages="$(paru -Q | wc -l)" ;; - pacstall) packages="$(pacstall -L | wc -l)" ;; - kiss) packages="$(kiss list | wc -l)" ;; - emerge) packages="$(qlist -I | wc -l)" ;; - pkg) packages="$(pkg info | wc -l | tr -d ' ')" ;; - cave) packages="$(cave show installed-slots | wc -l)" ;; - xbps-query) packages="$(xbps-query -l | wc -l)" ;; - nix-env) packages="$(nix-store -q --requisites /run/current-system/sw | wc -l)" ;; - apk) packages="$(apk list --installed | wc -l)" ;; - pmm) packages="$(/bedrock/libexec/pmm pacman pmm -Q 2>/dev/null | wc -l)" ;; - eopkg) packages="$(eopkg li | wc -l)" ;; - /usr/sbin/slackpkg) packages="$(ls /var/log/packages | wc -l)" ;; - bulge) packages="$(bulge list | wc -l)" ;; - birb) packages="$(birb --list-installed | wc -l)" ;; - pkg_info) - packages="$(pkg_info -A | wc -l)" - manager="pkg" - ;; - pkg_info-netbsd) - packages="$(pkg_info -a | wc -l)" - manager="pkg" - ;; - *) - if [ $distrotype = android ]; then - packages="$(dpkg-query -f '${"binary:Package"}\n' -W | wc -l)" - manager="dpkg" - else - packages="$(ls /usr/bin | wc -l)" - manager="bin" - fi - ;; - esac - - packages="''${packages#"''${packages%%[![:space:]]*}"}" - manager=$(echo $manager | sed "s/-query//; s/\/usr\/.*\///") - - ## UPTIME DETECTION - - if [ $distrotype = android ]; then - uptime="$(echo $(uptime -p) | cut -c 4-)" - elif [ $distrotype = bsd ] || [ $distrotype = netbsd ]; then - uptime="$(uptime | sed -e 's/.* up //; s/, [0-9]* user.*//')" - else - case $ostype in - *"Linux"*) - IFS=. read -r s _ /dev/null 2>&1; then - mempercent="($(expr $(expr ''${mem_used} \* 100 / ''${mem_full}))%)" - fi - - ## DEFINE COLORS - - bold='' - black='' - red='' - green='' - yellow='' - blue='' - magenta='' - cyan='' - white='' - grey='' - reset='' - - ## USER VARIABLES -- YOU CAN CHANGE THESE - - lc="$reset$bold$magenta" # labels - nc="$reset$bold$magenta" # labels - hn="$reset$bold$magenta" # labels - ic="$reset$white" # info - c0="$reset$grey" # first color - c1="$reset$white" # second color - c2="$reset$yellow" # third color - - ## OUTPUT - - echo """ - ''${c0} ___ ''${nc}''${USER}''${grey}@''${reset}''${hn}''${host}''${reset} - ''${c0} (''${c1}.. ''${c0}\ ''${lc}''${osi} ''${ic}''${os}''${reset} - ''${c0} (''${c2}<> ''${c0}| ''${lc}''${ki} ''${ic}''${kernel}''${reset} - ''${c0} /''${c1}/ \\ ''${c0}\\ ''${lc}''${ri} ''${ic}''${RAM}''${memstat} ''${mempercent} - ''${c0} ( ''${c1}| | ''${c0}/| ''${lc}''${pi} ''${ic}''${packages} (''${manager})''${reset} - ''${c2} _''${c0}/\\ ''${c1}__)''${c0}/''${c2}_''${c0}) ''${lc}''${ui} ''${ic}''${uptime}''${reset} - ''${c2} \/''${c0}-____''${c2}\/''${reset} ''${lc}''${ci} ''${red}███''${green}███''${yellow}███''${blue}███''${magenta}███''${cyan}███''${reset} - """ - ''; -in {home.packages = [nerdfetch];} diff --git a/hosts/server/configuration.nix b/hosts/server/configuration.nix index 5db08e7..b76823d 100644 --- a/hosts/server/configuration.nix +++ b/hosts/server/configuration.nix @@ -24,6 +24,7 @@ ../../server-modules/nginx.nix ../../server-modules/fail2ban.nix ../../server-modules/freshrss.nix + ../../server-modules/default-creds.nix # You should let those lines as is ./hardware-configuration.nix diff --git a/server-modules/default-creds.nix b/server-modules/default-creds.nix new file mode 100644 index 0000000..3f59d33 --- /dev/null +++ b/server-modules/default-creds.nix @@ -0,0 +1,8 @@ +{config, ...}: { + services.default-creds = { + enable = true; + port = 8087; + }; + + services.cloudflared.tunnels."f7c8f777-a36c-4b9a-b6e3-6a112bd43e73".ingress."default-creds.hadi.diy" = "http://localhost:${toString config.services.default-creds.port}"; +}