mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-07-06 16:12:33 +02:00
It's moving
This commit is contained in:
@@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -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];
|
||||
}
|
||||
@@ -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,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 = [
|
||||
|
||||
@@ -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,9 +1,4 @@
|
||||
{
|
||||
pkgs-stable,
|
||||
pkgs-nur-hadi,
|
||||
inputs,
|
||||
...
|
||||
}: {
|
||||
{pkgs-stable, ...}: {
|
||||
home.packages = with pkgs-stable; [
|
||||
tty-solitaire
|
||||
bastet
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
desc = "Smart Find Files";
|
||||
}
|
||||
{
|
||||
key = "<leader>E";
|
||||
key = "<leader>e";
|
||||
mode = "n";
|
||||
silent = true;
|
||||
action = "<cmd>lua Snacks.explorer()<cr>";
|
||||
|
||||
@@ -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,5 +1,5 @@
|
||||
{
|
||||
wayland.windowManager.hyprland.settings.exec-once = [
|
||||
"protonvpn-app --start-minimized &"
|
||||
"protonvpn-app --start-minimized"
|
||||
];
|
||||
}
|
||||
|
||||
@@ -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"];
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
# Eza is a ls replacement
|
||||
{
|
||||
{pkgs-stable, ...}: {
|
||||
programs.eza = {
|
||||
enable = true;
|
||||
package = pkgs-stable.eza;
|
||||
icons = "auto";
|
||||
|
||||
extraOptions = [
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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 [
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
# Zoxide is a cd replacement
|
||||
{
|
||||
{pkgs-stable, ...}: {
|
||||
programs.zoxide = {
|
||||
enable = true;
|
||||
package = pkgs-stable.zoxide;
|
||||
enableZshIntegration = true;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
];
|
||||
|
||||
|
||||
@@ -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";
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user