dotfiles

My PC Dotfiles & Website
commit 8df3968e15a3af7882c8b47ed058d36fd0ceaea1
parent 7683e16a7b77e1949fbbbb132e2f48b58cb4ef8d
Author: maydayv7 <maydayv7@gmail.com>
Date:   Mon, 14 Apr 2025 15:53:42 +0530

feat: `fastfetch` and `hyprsunset`

Diffstat:

MREADME.md | 1-
Mfiles/README.md | 2+-
Mfiles/archive/Linux/Arch/zshrc | 2+-
Dfiles/fetch/config.conf | 563-------------------------------------------------------------------------------
Afiles/fetch/config.jsonc | 173+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mfiles/flake.nix | 2+-
Mfiles/hyprland/theme/waybar.css | 5+++++
Mfiles/touchegg/gestures.xml | 1-
Mflake.lock | 6+++---
Mmodules/gui/desktop/hyprland/apps/panel.nix | 2+-
Mmodules/gui/desktop/hyprland/apps/settings.nix | 3---
Mmodules/gui/desktop/hyprland/apps/text.nix | 1+
Mmodules/gui/desktop/hyprland/apps/utilities.nix | 33+++++++++++++++++++++++++++------
Mmodules/shell/bash.nix | 5+++--
Mmodules/shell/default.nix | 38++++++++++++++++++++------------------
Mscripts/hyprutils.nix | 6+-----
16 files changed, 237 insertions(+), 606 deletions(-)

diff --git a/README.md b/README.md @@ -32,7 +32,6 @@ This [repository](https://github.com/maydayv7/dotfiles) contains the configurati <details> <summary>Theming</summary> -- [Hyfetch](https://github.com/hykilpikonna/hyfetch): Snazzy CLI System Information Tool - [Powerlevel10K](https://github.com/romkatv/powerlevel10k) Theme: ZSH Theme for the fancy-looking prompt with immense customization capabilities - [Arc Theme](https://github.com/jnsh/arc-theme): Flat GTK theme with transparent elements for various desktop shells, window managers and applications - [Bibata Cursor](https://github.com/ful1e5/Bibata_Cursor): Compact and material designed cursor set diff --git a/files/README.md b/files/README.md @@ -6,7 +6,7 @@ The `files` directory is used to store all my plain-text program configuration f - [`ascii`](./ascii) - Personal Collection of beautiful Ascii Art - [`colors`](./colors) - Base16 Color Schemes -- [`fetch`](./fetch) - `hyfetch` CLI Theming +- [`fetch`](./fetch) - `fastfetch` CLI Theming - [`geany`](./geany) - Configuration for Geany Text Editor - [`git`](./git) - Configuration for `git` Version Control - [`gnome`](./gnome) - Configuration Files for GNOME Desktop diff --git a/files/archive/Linux/Arch/zshrc b/files/archive/Linux/Arch/zshrc @@ -38,4 +38,4 @@ alias c="bat" alias l="eza -b -h -l -F --octal-permissions --icons --time-style iso" alias grep="grep --color" alias edit="sudo $EDITOR" -alias sike="neowofetch --ascii_distro arch" +alias sike="neofetch --ascii_distro arch" diff --git a/files/fetch/config.conf b/files/fetch/config.conf @@ -1,563 +0,0 @@ -# ################################################################## # -# My Epic Neofetch Config # -# Wiki: https://github.com/dylanaraps/neofetch/wiki/Customizing-Info # -# ################################################################## # - -print_info() { - prin "Software Information" - info " " distro - info " " kernel - info " " packages - info " " de - info " " theme - info " " icons - info " " term_font - - info underline - prin "Hardware Information" - info " " model - info " " cpu - info "﬙ " gpu - info " " disk - info " " resolution - info "⊗ " uptime - info battery - - info cols -} - -## Title ## -## Hide/Show fully-qualified Domain Name -# -# Default: 'off' -# Values: 'on', 'off' -# Flag: --title_fqdn -title_fqdn="off" - -## Kernel ## -## Shorten the Output of the Kernel Function -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --kernel_shorthand -kernel_shorthand="off" - -## Distro ## -## Shorten the Output of the Distro Function -# -# Default: 'off' -# Values: 'on', 'tiny', 'off' -# Flag: --distro_shorthand -distro_shorthand="off" - -## Show/Hide OS Architecture -# Show 'x86_64', 'x86' and etc in 'Distro:' output. -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --os_arch -os_arch="off" - -## Uptime ## -## Shorten the Output of the Uptime Function -# -# Default: 'on' -# Values: 'on', 'tiny', 'off' -# Flag: --uptime_shorthand -uptime_shorthand="tiny" - -## Memory ## -## Show Percentage in Output -# -# Default: 'off' -# Values: 'on', 'off' -# Flag: --memory_percent -memory_percent="off" - -## Change Unit -# -# Default: 'mib' -# Values: 'kib', 'mib', 'gib' -# Flag: --memory_unit -memory_unit="gib" - -## Packages ## -## Show/Hide Package Manager -# -# Default: 'tiny' -# Values: 'on', 'tiny' 'off' -# Flag: --package_managers -package_managers="tiny" - -## Shell ## -## Show the path to $SHELL -# -# Default: 'off' -# Values: 'on', 'off' -# Flag: --shell_path -shell_path="off" - -## Show $SHELL version -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --shell_version -shell_version="on" - -## CPU ## -## Speed Type -# -# Default: 'bios_limit' -# Values: 'scaling_cur_freq', 'scaling_min_freq', 'scaling_max_freq', 'bios_limit'. -# Flag: --speed_type -speed_type="bios_limit" - -## Speed Shorthand -# -# Default: 'off' -# Values: 'on', 'off'. -# Flag: --speed_shorthand -speed_shorthand="off" - -## Enable/Disable Brand in Output -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --cpu_brand -cpu_brand="on" - -## Speed -# Hide/Show CPU Speed -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --cpu_speed -cpu_speed="on" - -## Cores -# Display CPU Cores in Output -# -# Default: 'logical' -# Values: 'logical', 'physical', 'off' -# Flag: --cpu_cores -cpu_cores="logical" - -## Temperature -# Hide/Show CPU Temperature -# -# Default: 'off' -# Values: 'C', 'F', 'off' -# Flag: --cpu_temp -cpu_temp="off" - -## GPU ## -## Enable/Disable Brand -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --gpu_brand -gpu_brand="on" - -## Preferred GPU -# -# Default: 'all' -# Values: 'all', 'dedicated', 'integrated' -# Flag: --gpu_type -gpu_type="all" - -## Resolution -# Display Refresh Rate -# -# Default: 'off' -# Values: 'on', 'off' -# Flag: --refresh_rate -refresh_rate="off" - -## GTK+ Theme / Icons / Font ## -## Shorten Output -# -# Default: 'off' -# Values: 'on', 'off' -# Flag: --gtk_shorthand -gtk_shorthand="off" - -## Enable/Disable GTK+2 Theme / Icons / Font -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --gtk2 -gtk2="off" - -## Enable/Disable GTK+3 Theme / Icons / Font -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --gtk3 -gtk3="on" - -## IP Address ## -## Website to Ping -# -# Default: 'http://ident.me' -# Values: 'url' -# Flag: --ip_host -public_ip_host="http://ident.me" - -## Timeout -# -# Default: '2' -# Values: 'int' -# Flag: --ip_timeout -public_ip_timeout=2 - -## Desktop Environment ## -# Show Desktop Environment version -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --de_version -de_version="on" - -## Disk ## -## Preferred Disks -# The values can be any /dev/sdXX, Mount Point or Directory -# -# Default: '/' -# Values: '/', '/dev/sdXX', '/path/to/drive'. -# Flag: --disk_show -disk_show=('/') - -## Subtitles -# What to append to the Disk Subtitle -# -# Default: 'mount' -# Values: 'mount', 'name', 'dir', 'none' -# Flag: --disk_subtitle -disk_subtitle="mount" - -## Percentage -# Show/Hide Disk Percent -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --disk_percent -disk_percent="on" - -## Song ## -# Preferred Music Player -# -# Default: 'auto' -# Values: 'auto', 'player-name' -# Flag: --music_player -# -# Available values for 'player-name': -# -# amarok -# audacious -# banshee -# bluemindo -# clementine -# cmus -# deadbeef -# deepin-music -# dragon -# elisa -# exaile -# gnome-music -# gmusicbrowser -# gogglesmm -# guayadeque -# io.elementary.music -# iTunes -# juk -# lollypop -# mocp -# mopidy -# mpd -# muine -# netease-cloud-music -# olivia -# playerctl -# pogo -# pragha -# qmmp -# quodlibet -# rhythmbox -# sayonara -# smplayer -# spotify -# strawberry -# tauonmb -# tomahawk -# vlc -# xmms2d -# xnoise -# yarock -music_player="auto" - -## Information Format -# -# Default: '%artist% - %album% - %title%' -# Values: '%artist%', '%album%', '%title%' -# Flag: --song_format -song_format="%artist% - %album% - %title%" - -# Print Information on separate lines -# -# Default: 'off' -# Values: 'on', 'off' -# Flag: --song_shorthand -song_shorthand="off" - -# 'mpc' Arguments -# -# Default: '' -# Example: mpc_args=(-h HOST -P PASSWORD) -mpc_args=() - -## Text ## -## Colors -# -# Default: 'distro' -# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' -# Flag: --colors -# -# Each number represents a different part of the text in -# this order: 'title', '@', 'underline', 'subtitle', 'colon', 'info' -colors=(4 7 7 4 7 6) - -## Options -## Toggle Bold Text -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --bold -bold="on" - -## Enable/Disable Underline -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --underline -underline_enabled="on" - -## Underline Character -# -# Default: '-' -# Values: 'string' -# Flag: --underline_char -underline_char="-" - -## Information Separator -# Replace the default separator with the specified string. -# -# Default: ':' -# Flag: --separator -# -# Example: -# separator="->": 'Shell-> bash' -# separator=" =": 'WM = dwm' -separator=":" - -## Color Blocks ## -## Range -# The range of Colors to Print -# -# Default: '0', '15' -# Values: 'num' -# Flag: --block_range -block_range=(0 15) - -## Toggle -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --color_blocks -color_blocks="on" - -## Width (in spaces) -# -# Default: '3' -# Values: 'num' -# Flag: --block_width -block_width=3 - -## Height (in lines) -# -# Default: '1' -# Values: 'num' -# Flag: --block_height -block_height=1 - -## Color Alignment -# -# Default: 'auto' -# Values: 'auto', 'num' -# Flag: --col_offset -# -# Number specifies how far from the left side of the terminal (in spaces) to -# begin printing the columns, in case you want to e.g. center them under your -# text -col_offset="auto" - -## Progress Bars ## -## Characters -# -# Default: '-', '=' -# Values: 'string', 'string' -# Flag: --bar_char -bar_char_elapsed="-" -bar_char_total="=" - -## Toggle Border -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --bar_border -bar_border="on" - -## Length (in spaces) -# Number of characters long to make the Bars -# -# Default: '15' -# Values: 'num' -# Flag: --bar_length -bar_length=15 - -## Colors -# When set to distro, uses your distro's logo colors. -# -# Default: 'distro', 'distro' -# Values: 'distro', 'num' -# Flag: --bar_colors -bar_color_elapsed="distro" -bar_color_total="distro" - -## Information Display -# Display a Bar with the Information -# -# Default: 'off' -# Values: 'bar', 'infobar', 'barinfo', 'off' -# Flags: --cpu_display -# --memory_display -# --battery_display -# --disk_display -cpu_display="off" -memory_display="off" -battery_display="barinfo" -disk_display="off" - -## Backend Settings ## -## Image Backend -# -# Default: 'ascii' -# Values: 'ascii', 'caca', 'chafa', 'jp2a', 'iterm2', 'off', -# 'pot', 'termpix', 'pixterm', 'tycat', 'w3m', 'kitty' -# Flag: --backend -image_backend="ascii" - -## Image Source -# Which Image or Ascii File to Display -# -# Default: 'auto' -# Values: 'auto', 'ascii', 'wallpaper', '/path/to/img', '/path/to/ascii', '/path/to/dir/' -# 'command output (neofetch --ascii "$(fortune | cowsay -W 30)")' -# Flag: --source -image_source="auto" - -## Ascii Options ## -## Distro -# Which Distro's Ascii Art to Display -# -# Default: 'auto' -# Values: 'auto', 'distro_name' -# Flag: --ascii_distro -ascii_distro="auto" - -## Colors -# -# Default: 'distro' -# Values: 'distro', 'num' 'num' 'num' 'num' 'num' 'num' -# Flag: --ascii_colors -ascii_colors=(7 6) - -## Bold Ascii Logo -# Whether or not to Bold the Ascii Logo -# -# Default: 'on' -# Values: 'on', 'off' -# Flag: --ascii_bold -ascii_bold="on" - -## Image Options ## -## Loop -# Setting this to on will make 'neofetch' Redraw the Image Constantly until -# Ctrl+C is pressed. This fixes Display Issues in some Terminals -# -# Default: 'off' -# Values: 'on', 'off' -# Flag: --loop -image_loop="off" - -## Thumbnail Directory -# -# Default: '~/.cache/thumbnails/neofetch' -# Values: 'dir' -thumbnail_dir="${XDG_CACHE_HOME:-${HOME}/.cache}/thumbnails/neofetch" - -## Crop Mode -# -# Default: 'normal' -# Values: 'normal', 'fit', 'fill' -# Flag: --crop_mode -crop_mode="normal" - -## Crop Offset -# -# Default: 'center' -# Values: 'northwest', 'north', 'northeast', 'west', 'center' -# 'east', 'southwest', 'south', 'southeast' -# Flag: --crop_offset -crop_offset="center" - -## Image Size -# The Image is Half the Terminal Width by default -# -# Default: 'auto' -# Values: 'auto', '00px', '00%', 'none' -# Flags: --image_size -# --size -image_size="auto" - -## Gap between Image and Text -# -# Default: '3' -# Values: 'num', '-num' -# Flag: --gap -gap=3 - -## Image Offsets -# Only works with the 'w3m' Backend -# -# Default: '0' -# Values: 'px' -# Flags: --xoffset -# --yoffset -yoffset=0 -xoffset=0 - -## Background Color -# Only works with the 'w3m' Backend -# -# Default: '' -# Values: 'color', 'blue' -# Flag: --bg_color -background_color= - -## Miscellaneous ## -## 'stdout' Mode -# Turns off all Colors and disables Image Backend (ASCII/Image) -# Useful for Piping into another command -# Default: 'off' -# Values: 'on', 'off' -stdout="off" diff --git a/files/fetch/config.jsonc b/files/fetch/config.jsonc @@ -0,0 +1,173 @@ +{ + "$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json", + "logo": { + "type": "auto", + "padding": { + "top": 6, + "left": 3 + }, + "color": { + "1": "blue", + "2": "white" + } + }, + "display": { + "separator": " : " + }, + "modules": [ + { + "type": "title", + "format": "{#1} {user-name} ✠ {host-name} {#}" + }, + { + "type": "colors", + "symbol": "circle" + }, + "break", + { + "type": "custom", + "format": "┌──────────────────────────── {#1}Hardware{#} ────────────────────────────┐" + }, + { + "type": "host", + "key": " ", + "keyColor": "cyan" + }, + { + "type": "cpu", + "key": " ", + "keyColor": "cyan", + "showPeCoreCount": true + }, + { + "type": "gpu", + "key": " ﬙", + "keyColor": "cyan", + "driverSpecific": true + }, + { + "type": "display", + "key": " ", + "keyColor": "cyan" + }, + { + "type": "memory", + "key": " ", + "keyColor": "green" + }, + { + "type": "disk", + "key": " ", + "keyColor": "green" + }, + { + "type": "custom", + "format": "└──────────────────────────────────────────────────────────────────┘" + }, + "break", + { + "type": "custom", + "format": "┌──────────────────────────── {#1}Software{#} ────────────────────────────┐" + }, + { + "type": "os", + "key": " ", + "keyColor": "yellow" + }, + { + "type": "kernel", + "key": " ", + "keyColor": "yellow" + }, + { + "type": "bios", + "key": " ", + "keyColor": "yellow" + }, + { + "type": "packages", + "key": " 󰏖", + "keyColor": "yellow" + }, + { + "type": "shell", + "key": " ", + "keyColor": "blue" + }, + { + "type": "de", + "key": " ", + "keyColor": "blue" + }, + { + "type": "wm", + "key": " ", + "keyColor": "blue" + }, + { + "type": "lm", + "key": " ", + "keyColor": "blue" + }, + { + "type": "wmtheme", + "key": " 󰉼", + "keyColor": "blue" + }, + { + "type": "terminal", + "key": " ", + "keyColor": "blue" + }, + { + "type": "terminalfont", + "key": " ", + "keyColor": "light_red" + }, + { + "type": "theme", + "key": " ", + "keyColor": "light_red" + }, + { + "type": "icons", + "key": " ", + "keyColor": "light_red" + }, + { + "type": "cursor", + "key": " ", + "keyColor": "light_red" + }, + { + "type": "custom", + "format": "└──────────────────────────────────────────────────────────────────┘" + }, + "break", + { + "type": "custom", + "format": "┌────────────────────────────── {#1}Time{#} ──────────────────────────────┐" + }, + { + "type": "command", + "key": " ", + "keyColor": "magenta", + "text": "birth_install=$(stat -c %W /); current=$(date +%s); time_progression=$((current - birth_install)); days_difference=$((time_progression / 86400)); echo $days_difference days" + }, + { + "type": "uptime", + "key": " ⊗", + "keyColor": "magenta" + }, + { + "type": "datetime", + "key": " ", + "keyColor": "magenta" + }, + { + "type": "custom", + "format": "└──────────────────────────────────────────────────────────────────┘" + }, + "break" + ] +} diff --git a/files/flake.nix b/files/flake.nix @@ -37,7 +37,7 @@ }; # Hyfetch - fetch = readFile ./fetch/config.conf; + fetch = readFile ./fetch/config.jsonc; # Geany Text Editor geany = map.files { diff --git a/files/hyprland/theme/waybar.css b/files/hyprland/theme/waybar.css @@ -88,6 +88,7 @@ tooltip { #keyboard-state { color: @base05; opacity: 0.8; + border: 2px solid @base04; } #network { @@ -108,6 +109,9 @@ tooltip { #wireplumber.muted { background-color: @base06; } +#mpris { + color: @base05; +} #backlight { background-color: @base0E; @@ -173,6 +177,7 @@ tooltip { #custom-power, #custom-temperature, #custom-weather, +#idle_inhibitor, #keyboard-state, #mpris, #network, diff --git a/files/touchegg/gestures.xml b/files/touchegg/gestures.xml @@ -13,7 +13,6 @@ <!-- Global animation Colors - Specify Hex Code or use 'auto' --> <property name="color">5294E2</property> <property name="borderColor">383C4A</property> diff --git a/flake.lock b/flake.lock @@ -527,11 +527,11 @@ ] }, "locked": { - "lastModified": 1744307861, - "narHash": "sha256-c4i69OsEMi3e5+HuWrwgcx9sOsn1Z1hxLlyiQOiWJi8=", + "lastModified": 1744400600, + "narHash": "sha256-qYhUgA98mhq1QK13r9qVY+sG1ri6FBgyp+GApX6wS20=", "owner": "nix-community", "repo": "home-manager", - "rev": "140a7df916f6257c755b8663fb27ed79e81c8e89", + "rev": "b74b22bb6167e8dff083ec6988c98798bf8954d3", "type": "github" }, "original": { diff --git a/modules/gui/desktop/hyprland/apps/panel.nix b/modules/gui/desktop/hyprland/apps/panel.nix @@ -219,7 +219,7 @@ dynamic-len = 20; dynamic-order = ["title" "artist" "length"]; dynamic-separator = " - "; - format = " {player} - {dynamic}"; + format = " {player}"; format-paused = "󰏤 <i>{player}</i>"; format-stopped = ""; tooltip-format-stopped = "Not Playing"; diff --git a/modules/gui/desktop/hyprland/apps/settings.nix b/modules/gui/desktop/hyprland/apps/settings.nix @@ -71,9 +71,6 @@ in { # Desktop Icons "pcmanfm-qt --desktop" - - # Display Temperature - "hyprsunset -i" ]); ## Shortcuts diff --git a/modules/gui/desktop/hyprland/apps/text.nix b/modules/gui/desktop/hyprland/apps/text.nix @@ -32,6 +32,7 @@ enable = true; allowDuplicates = false; historySize = 150; + imageDisplay.type = "kitty"; theme = with config.lib.stylix.colors; { useCustomTheme = true; DimmedDesc = "#${base07}"; diff --git a/modules/gui/desktop/hyprland/apps/utilities.nix b/modules/gui/desktop/hyprland/apps/utilities.nix @@ -78,12 +78,33 @@ in { user = { persist.directories = [".config/nwg-displays"]; homeConfig = { - # Wallpaper Daemon - services.hyprpaper = { - enable = true; - settings = { - ipc = false; - splash = true; + services = { + # Wallpaper Daemon + hyprpaper = { + enable = true; + settings = { + ipc = false; + splash = true; + }; + }; + + # Display Temperature + hyprsunset = { + enable = true; + extraArgs = ["--identity"]; + transitions = { + sunrise = { + calendar = "*-*-* 07:00:00"; + requests = [ + ["temperature" "6000"] + ["identity"] + ]; + }; + sunset = { + calendar = "*-*-* 19:00:00"; + requests = [["temperature" "4000"]]; + }; + }; }; }; diff --git a/modules/shell/bash.nix b/modules/shell/bash.nix @@ -45,8 +45,9 @@ in { return $old_exit_status } - if [ "$TERM" != "linux" ]; then - PROMPT_COMMAND="_update_ps1;$PROMPT_COMMAND" + if [ "$TERM" != "linux" ] + then + PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND" fi ''; diff --git a/modules/shell/default.nix b/modules/shell/default.nix @@ -28,20 +28,25 @@ in { } (mkIf config.shell.utilities { - # Utilities - environment.systemPackages = with pkgs; [ - bat - browsh - btop - eza - fd - hstr - hyfetch - lolcat - micro - tree - yazi - ]; + environment = { + # Utilities + systemPackages = with pkgs; [ + bat + browsh + btop + eza + fastfetch + fd + hstr + lolcat + micro + tree + yazi + ]; + + # Fetch + etc."fastfetch/config.jsonc".text = fetch; + }; ## Program Configuration services.lorri.enable = true; # Faster 'nix shell' @@ -125,9 +130,6 @@ in { }; }; - # Fetch - home.file.".config/neofetch/config.conf".text = fetch; - # Command Aliases home.shellAliases = { hi = "echo 'Hi there. How are you?'"; @@ -140,7 +142,7 @@ in { grep = "grep --color"; colors = "${scripts.colors}"; edit = "sudo $EDITOR"; - sike = "neowofetch"; + sike = "fastfetch"; }; }; }; diff --git a/scripts/hyprutils.nix b/scripts/hyprutils.nix @@ -65,9 +65,9 @@ in dunst zenity + hyprland hyprshade hyprsunset - hyprland custom.hyprshellevents alsa-utils @@ -153,10 +153,6 @@ in esac ;; "temperature") - if [[ ! $(pgrep hyprsunset) ]] - then - hyprsunset -i & - fi temperature_notification() { temperature=$(hyprctl hyprsunset temperature) notify temperature -i "display" " $temperature K"