It's moving

This commit is contained in:
Hadi
2026-06-29 17:48:21 +02:00
parent 082de49ca4
commit cdffe66d72
62 changed files with 953 additions and 2147 deletions
+85
View File
@@ -0,0 +1,85 @@
{pkgs, ...}: let
waybar-toggle = pkgs.writeShellScriptBin "waybar-toggle" ''
if pidof waybar > /dev/null; then
pkill waybar
else
hyprctl dispatch exec waybar
fi
'';
in {
home.packages = [waybar-toggle];
xdg.desktopEntries = {
focus-toggle = {
name = "Focus Mode";
exec = "focus-toggle";
icon = "do-not-disturb-symbolic";
comment = "Toggle focus mode";
categories = ["System"];
terminal = false;
};
nightshift-toggle = {
name = "Night Shift";
exec = "nightshift-toggle";
icon = "night-light-symbolic";
comment = "Toggle night shift";
categories = ["System"];
terminal = false;
};
mic-mute = {
name = "Mute Microphone";
exec = "swayosd-client --input-volume mute-toggle";
icon = "microphone-sensitivity-muted-symbolic";
comment = "Toggle microphone mute";
categories = ["System"];
terminal = false;
};
lock = {
name = "Lock";
exec = "hyprlock";
icon = "system-lock-screen-symbolic";
comment = "Lock the screen";
categories = ["System"];
terminal = false;
};
reboot = {
name = "Reboot";
exec = "systemctl reboot";
icon = "system-restart-symbolic";
comment = "Restart the system";
categories = ["System"];
terminal = false;
};
shutdown = {
name = "Shutdown";
exec = "systemctl poweroff";
icon = "system-shutdown-symbolic";
comment = "Power off the system";
categories = ["System"];
terminal = false;
};
hibernate = {
name = "Hibernate";
exec = "systemctl hibernate";
icon = "drive-harddisk-symbolic";
comment = "Hibernate the system";
categories = ["System"];
terminal = false;
};
waybar-toggle = {
name = "Toggle Waybar";
exec = "waybar-toggle";
icon = "panel-applets-symbolic";
comment = "Show or hide the status bar";
categories = ["System"];
terminal = false;
};
};
}
+25
View File
@@ -0,0 +1,25 @@
{pkgs, ...}: let
focus-toggle =
pkgs.writeShellScriptBin "focus-toggle"
# bash
''
if test -f /tmp/hypr-focus-mode; then
rm /tmp/hypr-focus-mode
hyprctl reload
hyprctl dispatch exec waybar
swayosd-client --custom-message "Focus Mode Off" --custom-icon "do-not-disturb-symbolic"
else
touch /tmp/hypr-focus-mode
pkill waybar || true
hyprctl keyword animations:enabled false
hyprctl keyword general:gaps_in 0
hyprctl keyword general:gaps_out 0
hyprctl keyword decoration:active_opacity 1
hyprctl keyword decoration:inactive_opacity 1
hyprctl keyword decoration:rounding 0
swayosd-client --custom-message "Focus Mode On" --custom-icon "do-not-disturb-symbolic"
fi
'';
in {
home.packages = [focus-toggle];
}
+4 -4
View File
@@ -1,7 +1,6 @@
{
pkgs,
pkgs-stable,
pkgs-nur-hadi,
...
}: {
home.packages = with pkgs-stable; [
@@ -20,7 +19,6 @@
# I love TUIs
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. It runs in a terminal and can be used remotely over SSH
dysk # A terminal-based disk usage analyzer
wikiman # Offline search engine for manual pages (arch wiki, tldr)
tealdeer # Fast tldr client
@@ -28,9 +26,11 @@
wiremix # Simple TUI mixer for PipeWire
slides # A terminal-based presentation tool that allows you to create and deliver presentations directly from the command line
pom # Pomodoro timer in your terminal
tabiew # A terminal-based CSV viewer and manipulator
jless # A pager for JSON
pkgs.wifitui # TUI for managing wifi
pkgs-nur-hadi.usbguard-tui # TUI for managing USBGuard rules
pkgs-nur-hadi.sheets # Terminal based spreadsheet tool
pkgs.nur.repos.anotherhadi.usbguard-tui # TUI for managing USBGuard rules
pkgs.nur.repos.anotherhadi.sheets # Terminal based spreadsheet tool
# I love CLIs
httpie # Command-line HTTP client, a user-friendly cURL replacement
@@ -1,7 +1,6 @@
{
pkgs,
pkgs-stable,
pkgs-nur-hadi,
}:
(with pkgs-stable; [
# Web
@@ -25,7 +24,6 @@
# Network
inetutils
termshark # wireshark in TUI
dnsrecon
whois
dig
nmap
@@ -42,7 +40,8 @@
# Forensics
binwalk
])
++ (with pkgs-nur-hadi; [
++ [ pkgs.dnsrecon ]
++ (with pkgs.nur.repos.anotherhadi; [
spilltea
jwt-tui
])
+1 -2
View File
@@ -1,11 +1,10 @@
{
pkgs,
pkgs-stable,
pkgs-nur-hadi,
...
}: {
home.packages = import ./cybersecurity-packages.nix {
inherit pkgs pkgs-stable pkgs-nur-hadi;
inherit pkgs pkgs-stable;
};
systemd.user.tmpfiles.rules = [
+1 -2
View File
@@ -2,12 +2,11 @@
inputs,
pkgs,
pkgs-stable,
pkgs-nur-hadi,
system,
...
}: let
devPackages = import ./dev-packages.nix {inherit pkgs pkgs-stable;};
cyberPackages = import ./cybersecurity-packages.nix {inherit pkgs pkgs-stable pkgs-nur-hadi;};
cyberPackages = import ./cybersecurity-packages.nix {inherit pkgs pkgs-stable;};
in {
packages.${system} = {
dev = pkgs.buildEnv {
+1 -6
View File
@@ -1,9 +1,4 @@
{
pkgs-stable,
pkgs-nur-hadi,
inputs,
...
}: {
{pkgs-stable, ...}: {
home.packages = with pkgs-stable; [
tty-solitaire
bastet
+3 -3
View File
@@ -3,12 +3,12 @@
pkgs.writeShellScriptBin "nightshift-toggle"
# bash
''
if pidof "hyprsunset"; then
if pidof "hyprsunset" > /dev/null; then
pkill hyprsunset
${pkgs.libnotify}/bin/notify-send "Night Shift Disabled" "Returning to full spectrum light. Filter disabled."
swayosd-client --custom-message "Night Shift Off" --custom-icon "night-light-symbolic"
else
${pkgs.hyprsunset}/bin/hyprsunset -t 4500 &
${pkgs.libnotify}/bin/notify-send "Night Shift Activated" "Welcome to the warm side. Blue light filtering is now active."
swayosd-client --custom-message "Night Shift On" --custom-icon "night-light-symbolic"
fi
'';
in {
+5 -1
View File
@@ -1,12 +1,16 @@
{
inputs,
pkgs,
config,
...
}: let
c = config.lib.stylix.colors;
in {
imports = [inputs.nvf.homeManagerModules.default];
home.sessionVariables = {
EDITOR = "nvim";
};
programs.nvf = {
enable = true;
settings = {
+1 -1
View File
@@ -18,7 +18,7 @@
desc = "Smart Find Files";
}
{
key = "<leader>E";
key = "<leader>e";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.explorer()<cr>";
-8
View File
@@ -5,15 +5,7 @@
vim.keymap.del("n", "<leader>tdt")
'';
undoFile.enable = true;
utility.yazi-nvim = {
enable = true;
mappings.openYazi = "<leader>e";
};
notes.todo-comments.enable = true;
assistant.copilot = {
enable = true;
cmp.enable = true;
};
autocomplete = {
nvim-cmp = {
+1 -1
View File
@@ -1,5 +1,5 @@
{
wayland.windowManager.hyprland.settings.exec-once = [
"protonvpn-app --start-minimized &"
"protonvpn-app --start-minimized"
];
}
+3 -3
View File
@@ -1,9 +1,9 @@
{
pkgs,
pkgs-stable,
config,
...
}: {
home.packages = with pkgs; [
home.packages = with pkgs-stable; [
proton-vpn
proton-pass
proton-authenticator
@@ -13,7 +13,7 @@
xdg.desktopEntries = {
"Proton Authenticator" = {
name = "Proton Authenticator";
exec = "env WEBKIT_DISABLE_COMPOSITING_MODE=1 ${pkgs.proton-authenticator}/bin/proton-authenticator";
exec = "env WEBKIT_DISABLE_COMPOSITING_MODE=1 ${pkgs-stable.proton-authenticator}/bin/proton-authenticator";
icon = "proton-authenticator";
type = "Application";
categories = ["Utility"];
+6 -2
View File
@@ -1,6 +1,10 @@
{
{pkgs-stable, ...}: {
programs.direnv = {
enable = true;
nix-direnv.enable = true;
package = pkgs-stable.direnv;
nix-direnv = {
enable = true;
package = pkgs-stable.nix-direnv;
};
};
}
+2 -1
View File
@@ -1,7 +1,8 @@
# Eza is a ls replacement
{
{pkgs-stable, ...}: {
programs.eza = {
enable = true;
package = pkgs-stable.eza;
icons = "auto";
extraOptions = [
+2
View File
@@ -1,5 +1,6 @@
# Fzf is a general-purpose command-line fuzzy finder.
{
pkgs-stable,
config,
lib,
...
@@ -10,6 +11,7 @@
in {
programs.fzf = {
enable = true;
package = pkgs-stable.fzf;
enableZshIntegration = true;
colors = lib.mkForce {
"fg+" = accent;
+2
View File
@@ -1,5 +1,6 @@
# starship is a minimal, fast, and extremely customizable prompt for any shell!
{
pkgs-stable,
config,
lib,
...
@@ -9,6 +10,7 @@
in {
programs.starship = {
enable = true;
package = pkgs-stable.starship;
settings = {
add_newline = true;
format = lib.concatStrings [
+2 -1
View File
@@ -1,7 +1,8 @@
# Zoxide is a cd replacement
{
{pkgs-stable, ...}: {
programs.zoxide = {
enable = true;
package = pkgs-stable.zoxide;
enableZshIntegration = true;
};
}
+11 -9
View File
@@ -1,20 +1,20 @@
# My shell configuration
{
pkgs,
pkgs-stable,
lib,
config,
...
}: {
home.packages = with pkgs; [
home.packages = with pkgs-stable; [
bat
ripgrep
];
# Add go binaries to the PATH
home.sessionPath = ["$HOME/go/bin"];
home.sessionVariables = {
COLORTERM = "truecolor";
home = {
sessionPath = ["$HOME/go/bin"];
sessionVariables = {
COLORTERM = "truecolor";
};
};
programs.zsh = {
@@ -59,7 +59,7 @@
v = "nvim";
c = "clear";
e = "exit";
open = "${pkgs.xdg-utils}/bin/xdg-open";
open = "${pkgs-stable.xdg-utils}/bin/xdg-open";
notes = "nvim ~/notes/index.md --cmd 'cd ~/notes' -c ':lua Snacks.picker.smart()'";
nix-shell = "nix-shell --command zsh";
@@ -99,7 +99,9 @@
bindkey '^X' edit-command-line
# Suffix Aliases
alias -s {nix,md,txt,json,yml,yaml,go}=nvim
alias -s {nix,md,txt,yml,yaml,go}=nvim
alias -s {json,jsonl}=jless
alias -s {csv,tsv,parquet,pqt,arrow,db,sqlite,xls,xlsx,xlsm,xlsb,fwf}=tw
alias -s {png,jpg,jpeg,gif,pdf}=xdg-open
# 3. Global Aliases (Remplacés n'importe où dans la commande, pas seulement au début)
+2 -2
View File
@@ -1,13 +1,13 @@
# 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,
pkgs-stable,
...
}: 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; [
home.packages = with pkgs-stable; [
spotatui
];
+9 -11
View File
@@ -1,6 +1,5 @@
# Thunar is a file explorer
{
pkgs,
pkgs-stable,
config,
lib,
@@ -11,17 +10,16 @@ in {
# ctrl + m to toggle the menubar
home.packages =
(with pkgs-stable; [
xfce.thunar
xfce.xfconf
xfce.tumbler
xfce.thunar-archive-plugin
xfce.thunar-volman
xfce.thunar-media-tags-plugin
thunar
xfconf
tumbler
thunar-archive-plugin
thunar-volman
thunar-media-tags-plugin
p7zip
xarchiver
])
++ (with pkgs; [
# Icon themes: keep on global pkgs to avoid conflicts with other modules
++ (with pkgs-stable; [
papirus-icon-theme
material-icons
material-design-icons
@@ -32,7 +30,7 @@ in {
enable = true;
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
package = pkgs-stable.papirus-icon-theme;
};
# bookmarks for the side pane
@@ -47,7 +45,7 @@ in {
qt.enable = true;
home.sessionVariables = {
XDG_ICON_DIR = "${pkgs.papirus-icon-theme}/share/icons/Papirus";
XDG_ICON_DIR = "${pkgs-stable.papirus-icon-theme}/share/icons/Papirus";
QS_ICON_THEME = "Papirus";
QT_STYLE_OVERRIDE = lib.mkForce "Fusion";
};
+2 -2
View File
@@ -1,4 +1,4 @@
{pkgs, ...}: {
{pkgs, pkgs-stable, ...}: {
programs.yazi = {
enable = true;
shellWrapperName = "y";
@@ -108,7 +108,7 @@
];
};
home.packages = with pkgs; [glow ouch hexyl exiftool fzf wl-clipboard];
home.packages = with pkgs-stable; [glow ouch hexyl exiftool wl-clipboard];
xdg.configFile."yazi/plugins/toggle-parent.yazi/main.lua".text = ''
--- @sync entry