mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-07-06 16:12:33 +02:00
Compare commits
6 Commits
6c2a7563d3
...
76f2982167
| Author | SHA1 | Date | |
|---|---|---|---|
| 76f2982167 | |||
| 868c215895 | |||
| ceecbb858d | |||
| 9e45e35b7e | |||
| a195e1d2e9 | |||
| 3c13b64fec |
@@ -14,6 +14,11 @@
|
|||||||
signal-desktop # Messaging app
|
signal-desktop # Messaging app
|
||||||
librewolf # Backup browser
|
librewolf # Backup browser
|
||||||
|
|
||||||
|
# I love TUIs
|
||||||
caligula # User-friendly, lightweight TUI for disk imaging (ISO, USB BOOT)
|
caligula # User-friendly, lightweight TUI for disk imaging (ISO, USB BOOT)
|
||||||
|
browsh # A modern text-based browser that renders anything that a modern browser can; including HTML5, CSS3, JS, video and WebGL. It runs in a terminal and can be used remotely over SSH.
|
||||||
|
pastel # Command-line tool to generate, analyze, convert and manipulate colors
|
||||||
|
dysk # A terminal-based disk usage analyzer, similar to 'du' but with a more user-friendly interface and additional features.
|
||||||
|
wikiman # Offline search engine for manual pages
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,4 +19,5 @@
|
|||||||
jq
|
jq
|
||||||
just
|
just
|
||||||
nix-prefetch-github
|
nix-prefetch-github
|
||||||
|
rsync
|
||||||
])
|
])
|
||||||
|
|||||||
@@ -7,6 +7,10 @@
|
|||||||
name = "Nix 4 Cyber";
|
name = "Nix 4 Cyber";
|
||||||
url = "https://n4c.hadi.icu";
|
url = "https://n4c.hadi.icu";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "Infosec Notes - Anotherhadi";
|
||||||
|
url = "https://hadi.icu/notes";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "Cyberchef";
|
name = "Cyberchef";
|
||||||
url = "https://cyberchef.hadi.icu";
|
url = "https://cyberchef.hadi.icu";
|
||||||
@@ -31,6 +35,10 @@
|
|||||||
name = "Exploit-DB";
|
name = "Exploit-DB";
|
||||||
url = "https://exploit-db.com";
|
url = "https://exploit-db.com";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "Reverse Shell Generator";
|
||||||
|
url = "https://revshells.com";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
name = "GTFOBins";
|
name = "GTFOBins";
|
||||||
url = "https://gtfobins.org/";
|
url = "https://gtfobins.org/";
|
||||||
|
|||||||
@@ -52,12 +52,15 @@ in {
|
|||||||
s = "superfile";
|
s = "superfile";
|
||||||
spf = "superfile";
|
spf = "superfile";
|
||||||
|
|
||||||
|
spt = "spotatui";
|
||||||
|
|
||||||
vim = "nvim";
|
vim = "nvim";
|
||||||
vi = "nvim";
|
vi = "nvim";
|
||||||
v = "nvim";
|
v = "nvim";
|
||||||
c = "clear";
|
c = "clear";
|
||||||
clera = "clear";
|
clera = "clear";
|
||||||
celar = "clear";
|
celar = "clear";
|
||||||
|
claer = "clear";
|
||||||
e = "exit";
|
e = "exit";
|
||||||
cd = "z";
|
cd = "z";
|
||||||
ls = "eza --icons=always --no-quotes";
|
ls = "eza --icons=always --no-quotes";
|
||||||
|
|||||||
@@ -0,0 +1,104 @@
|
|||||||
|
# Spotatui is a terminal user interface for Spotify, written in Rust. It allows you to control your Spotify playback and manage your playlists directly from the terminal.
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
c = config.lib.stylix.colors;
|
||||||
|
rgb = base: "${c."${base}-rgb-r"}, ${c."${base}-rgb-g"}, ${c."${base}-rgb-b"}";
|
||||||
|
in {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
spotatui
|
||||||
|
];
|
||||||
|
|
||||||
|
home.file.".config/spotatui/config.yml".text = ''
|
||||||
|
keybindings:
|
||||||
|
back: q
|
||||||
|
next_page: ctrl-d
|
||||||
|
previous_page: ctrl-u
|
||||||
|
jump_to_start: ctrl-a
|
||||||
|
jump_to_end: ctrl-e
|
||||||
|
jump_to_album: a
|
||||||
|
jump_to_artist_album: A
|
||||||
|
jump_to_context: o
|
||||||
|
manage_devices: d
|
||||||
|
decrease_volume: '-'
|
||||||
|
increase_volume: +
|
||||||
|
toggle_playback: space
|
||||||
|
seek_backwards: <
|
||||||
|
seek_forwards: '>'
|
||||||
|
next_track: n
|
||||||
|
previous_track: p
|
||||||
|
force_previous_track: P
|
||||||
|
help: '?'
|
||||||
|
shuffle: ctrl-s
|
||||||
|
repeat: ctrl-r
|
||||||
|
search: /
|
||||||
|
submit: enter
|
||||||
|
copy_song_url: c
|
||||||
|
copy_album_url: C
|
||||||
|
audio_analysis: v
|
||||||
|
lyrics_view: B
|
||||||
|
cover_art_view: G
|
||||||
|
add_item_to_queue: z
|
||||||
|
show_queue: Q
|
||||||
|
open_settings: alt-,
|
||||||
|
save_settings: alt-s
|
||||||
|
listening_party: ctrl-p
|
||||||
|
like_track: F
|
||||||
|
behavior:
|
||||||
|
seek_milliseconds: 5000
|
||||||
|
volume_increment: 10
|
||||||
|
volume_percent: 100
|
||||||
|
tick_rate_milliseconds: 16
|
||||||
|
enable_text_emphasis: true
|
||||||
|
show_loading_indicator: true
|
||||||
|
enforce_wide_search_bar: true
|
||||||
|
enable_global_song_count: false
|
||||||
|
disable_mouse_inputs: false
|
||||||
|
enable_discord_rpc: false
|
||||||
|
discord_rpc_client_id: null
|
||||||
|
enable_announcements: false
|
||||||
|
announcement_feed_url: null
|
||||||
|
seen_announcement_ids:
|
||||||
|
- 2026-05-19-sonos-help-wanted
|
||||||
|
- 2026-02-27-major-refactor-complete
|
||||||
|
shuffle_enabled: false
|
||||||
|
liked_icon: ♥
|
||||||
|
shuffle_icon: 🔀
|
||||||
|
repeat_track_icon: 🔂
|
||||||
|
repeat_context_icon: 🔁
|
||||||
|
playing_icon: ▶
|
||||||
|
paused_icon: ⏸
|
||||||
|
set_window_title: true
|
||||||
|
visualizer_style: Equalizer
|
||||||
|
dismissed_announcements: []
|
||||||
|
relay_server_url: wss://spotatui-party.spotatui.workers.dev/ws
|
||||||
|
stop_after_current_track: false
|
||||||
|
sidebar_width_percent: 20
|
||||||
|
playbar_height_rows: 6
|
||||||
|
library_height_percent: 30
|
||||||
|
startup_behavior: continue
|
||||||
|
disable_auto_update: true
|
||||||
|
auto_update_delay: '0'
|
||||||
|
keepawake_enabled: true
|
||||||
|
theme:
|
||||||
|
preset: Custom
|
||||||
|
active: ${rgb "base0D"}
|
||||||
|
banner: ${rgb "base0C"}
|
||||||
|
error_border: ${rgb "base08"}
|
||||||
|
error_text: ${rgb "base08"}
|
||||||
|
hint: ${rgb "base0A"}
|
||||||
|
hovered: ${rgb "base0E"}
|
||||||
|
inactive: ${rgb "base03"}
|
||||||
|
playbar_background: Reset
|
||||||
|
playbar_progress: ${rgb "base0D"}
|
||||||
|
playbar_progress_text: ${rgb "base05"}
|
||||||
|
playbar_text: Reset
|
||||||
|
selected: ${rgb "base0D"}
|
||||||
|
text: Reset
|
||||||
|
background: Reset
|
||||||
|
header: Reset
|
||||||
|
highlighted_lyrics: ${rgb "base0B"}
|
||||||
|
'';
|
||||||
|
}
|
||||||
@@ -58,7 +58,13 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
# shell.json is managed by home-manager (read-only symlink) but caelestia
|
# shell.json is managed by home-manager (read-only symlink) but caelestia
|
||||||
# needs to write to it at runtime: replace the symlink with a mutable copy
|
# needs to write to it at runtime: replace the symlink with a mutable copy.
|
||||||
|
# The stale .hm-backup must be removed before linkGeneration so HM can
|
||||||
|
# back up the runtime-modified shell.json without hitting a conflict.
|
||||||
|
home.activation.caelestiaCleanBackup = lib.hm.dag.entryBefore ["linkGeneration"] ''
|
||||||
|
$DRY_RUN_CMD rm -f "$HOME/.config/caelestia/shell.json.hm-backup"
|
||||||
|
'';
|
||||||
|
|
||||||
home.activation.caelestiaWritableShellConfig = lib.hm.dag.entryAfter ["linkGeneration"] ''
|
home.activation.caelestiaWritableShellConfig = lib.hm.dag.entryAfter ["linkGeneration"] ''
|
||||||
if [ -L "$HOME/.config/caelestia/shell.json" ]; then
|
if [ -L "$HOME/.config/caelestia/shell.json" ]; then
|
||||||
$DRY_RUN_CMD cp --remove-destination \
|
$DRY_RUN_CMD cp --remove-destination \
|
||||||
|
|||||||
@@ -154,6 +154,21 @@
|
|||||||
enabled = true;
|
enabled = true;
|
||||||
dangerous = false;
|
dangerous = false;
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
name = "Run in background";
|
||||||
|
icon = "play_circle";
|
||||||
|
description = "Type and run any shell command in the background";
|
||||||
|
command = [
|
||||||
|
"ghostty"
|
||||||
|
"--title=run-bg"
|
||||||
|
"-e"
|
||||||
|
"bash"
|
||||||
|
"-c"
|
||||||
|
"printf 'Run: '; read -r cmd; [ -n \"$cmd\" ] && hyprctl dispatch exec \"$cmd\""
|
||||||
|
];
|
||||||
|
enabled = true;
|
||||||
|
dangerous = false;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
dragThreshold = 50;
|
dragThreshold = 50;
|
||||||
enableDangerousActions = false;
|
enableDangerousActions = false;
|
||||||
|
|||||||
@@ -134,6 +134,10 @@ in {
|
|||||||
"match:class protonvpn-app, float on"
|
"match:class protonvpn-app, float on"
|
||||||
"match:class protonvpn-app, center on"
|
"match:class protonvpn-app, center on"
|
||||||
"match:class protonvpn-app, size 500 400"
|
"match:class protonvpn-app, size 500 400"
|
||||||
|
|
||||||
|
"match:title run-bg, float on"
|
||||||
|
"match:title run-bg, center on"
|
||||||
|
"match:title run-bg, size 700 80"
|
||||||
];
|
];
|
||||||
|
|
||||||
misc = {
|
misc = {
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
../../home/programs/nightshift
|
../../home/programs/nightshift
|
||||||
../../home/programs/nix-utils
|
../../home/programs/nix-utils
|
||||||
../../home/programs/superfile
|
../../home/programs/superfile
|
||||||
|
../../home/programs/spotatui
|
||||||
|
|
||||||
../../home/programs/group/basic-apps.nix
|
../../home/programs/group/basic-apps.nix
|
||||||
../../home/programs/group/cybersecurity.nix
|
../../home/programs/group/cybersecurity.nix
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
../../home/programs/nightshift
|
../../home/programs/nightshift
|
||||||
../../home/programs/nix-utils
|
../../home/programs/nix-utils
|
||||||
../../home/programs/superfile
|
../../home/programs/superfile
|
||||||
|
../../home/programs/spotatui
|
||||||
|
|
||||||
../../home/programs/group/basic-apps.nix
|
../../home/programs/group/basic-apps.nix
|
||||||
../../home/programs/group/cybersecurity.nix
|
../../home/programs/group/cybersecurity.nix
|
||||||
|
|||||||
Reference in New Issue
Block a user