35 Commits

Author SHA1 Message Date
Hadi 11391ae56c feat: new zsh config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-12 20:31:52 +02:00
Hadi a8f39b1729 change theme
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-09 21:20:44 +02:00
Hadi a704d3a7d2 remove spicetify
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-09 21:20:37 +02:00
Hadi f72d6ab55c remove docker from dev pkgs
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-09 21:12:21 +02:00
Hadi 2890b49b82 pin docker version
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-09 21:10:28 +02:00
Hadi b8f30fbe4e edit yazi config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-09 20:50:05 +02:00
Hadi cc7f352ced add sheets, pom & slides
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-09 20:24:21 +02:00
Hadi 24081abaf0 Change themes
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-09 20:19:27 +02:00
Hadi 4addb1bd33 add chafa to nvim
Signed-off-by: Hadi <hadi@example.com>
2026-06-09 15:51:49 +02:00
Hadi c27c0550fb Edit dashboard, colors & add yazi
Signed-off-by: Hadi <hadi@example.com>
2026-06-09 15:19:37 +02:00
Hadi 1333132eef remove full border
Signed-off-by: Hadi <hadi@example.com>
2026-06-09 15:19:07 +02:00
Hadi 1e83efd78a Execute shell commands, surrounds.nvim, ...
Signed-off-by: Hadi <hadi@example.com>
2026-06-09 13:59:52 +02:00
Hadi 2f89759ca7 edit yazi config
Signed-off-by: Hadi <hadi@example.com>
2026-06-09 13:29:26 +02:00
Hadi 79351e46a1 add chafa
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-08 20:51:27 +02:00
Hadi 3f37a26162 add gh & gh-dash
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-08 20:28:40 +02:00
Hadi e9fbdcb870 add yazi plugins
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-08 20:04:48 +02:00
Hadi e5d494607f impala -> wifitui
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-08 20:04:22 +02:00
Hadi d4e4a8f9f7 remove deadcode
Signed-off-by: Hadi <hadi@example.com>
2026-06-08 15:18:48 +02:00
Hadi 7f54f94974 nur-anotherhadi
Signed-off-by: Hadi <hadi@example.com>
2026-06-08 14:47:28 +02:00
Hadi 148b093eb4 add yazi, wiremix, impala, ..
Signed-off-by: Hadi <hadi@example.com>
2026-06-05 11:43:09 +02:00
Hadi dd3ad203fa update & add packages
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-04 22:29:02 +02:00
Hadi 76f2982167 run in background
Signed-off-by: Hadi <hadi@example.com>
2026-06-04 16:35:15 +02:00
Hadi 868c215895 add TUIs
Signed-off-by: Hadi <hadi@example.com>
2026-06-04 16:20:41 +02:00
Hadi ceecbb858d init spotatui
Signed-off-by: Hadi <hadi@example.com>
2026-06-04 16:12:55 +02:00
Hadi 9e45e35b7e Merge branch 'main' of github.com:anotherhadi/nixy 2026-06-04 11:12:07 +02:00
Hadi 6c2a7563d3 disable rounded_frame
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-01 22:23:04 +02:00
Hadi 783e8fb9ff woops
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-01 22:22:50 +02:00
Hadi 2878142360 change tuigreet config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-01 20:36:40 +02:00
Hadi 93c36aa3ef Merge branch 'main' of github.com:anotherhadi/nixy 2026-06-01 20:36:18 +02:00
Hadi a195e1d2e9 add clear alias
Signed-off-by: Hadi <hadi@example.com>
2026-06-01 16:08:35 +02:00
Hadi 3c13b64fec add bookmark
Signed-off-by: Hadi <hadi@example.com>
2026-06-01 16:08:31 +02:00
Hadi afc1928f5a Change tuigreet bin
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-30 23:32:47 +02:00
Hadi 87c258312c fix keyboards
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-30 22:02:32 +02:00
Hadi 03f6cd7fe8 remove hardtime.nvim
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-30 20:25:15 +02:00
Hadi 57db0eaaf6 getting back to tuigreet
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-30 20:25:08 +02:00
45 changed files with 843 additions and 1025 deletions
Generated
+242 -591
View File
File diff suppressed because it is too large Load Diff
+5 -11
View File
@@ -13,9 +13,9 @@
stylix.url = "github:danth/stylix"; stylix.url = "github:danth/stylix";
sops-nix.url = "github:Mic92/sops-nix"; sops-nix.url = "github:Mic92/sops-nix";
nvf.url = "github:notashelf/nvf"; nvf.url = "github:notashelf/nvf";
bun2nix.url = "github:nix-community/bun2nix"; notashelf-tuigreet.url = "github:NotAShelf/tuigreet";
usbguard-tui.url = "github:anotherhadi/usbguard-tui"; helium-browser.url = "github:oxcl/nix-flake-helium-browser";
jwt-tui.url = "github:anotherhadi/jwt-tui"; nur-anotherhadi.url = "github:anotherhadi/nur-packages";
nix-index-database = { nix-index-database = {
url = "github:nix-community/nix-index-database"; url = "github:nix-community/nix-index-database";
@@ -33,20 +33,13 @@
url = "github:caelestia-dots/cli"; url = "github:caelestia-dots/cli";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
# Server # Server
# FIXME: Deleted repo for now
# eleakxir.url = "github:anotherhadi/eleakxir";
nixarr.url = "github:rasmus-kirk/nixarr"; nixarr.url = "github:rasmus-kirk/nixarr";
default-creds.url = "github:anotherhadi/default-creds"; default-creds.url = "github:anotherhadi/default-creds";
blog.url = "github:anotherhadi/blog"; blog.url = "github:anotherhadi/blog";
awesome-wallpapers.url = "github:anotherhadi/awesome-wallpapers"; awesome-wallpapers.url = "github:anotherhadi/awesome-wallpapers";
iknowyou.url = "github:anotherhadi/iknowyou"; iknowyou.url = "github:anotherhadi/iknowyou";
spilltea.url = "github:anotherhadi/spilltea";
helium-browser.url = "github:oxcl/nix-flake-helium-browser";
}; };
outputs = inputs @ { outputs = inputs @ {
@@ -64,6 +57,7 @@
pkgs pkgs
; ;
pkgs-stable = nixpkgs-stable.legacyPackages.${system}; pkgs-stable = nixpkgs-stable.legacyPackages.${system};
pkgs-nur-hadi = inputs.nur-anotherhadi.packages.${system};
}; };
merge = nixpkgs.lib.foldl nixpkgs.lib.recursiveUpdate {}; merge = nixpkgs.lib.foldl nixpkgs.lib.recursiveUpdate {};
in in
-2
View File
@@ -14,8 +14,6 @@ in {
home.sessionVariables = { home.sessionVariables = {
TERMINAL = "ghostty"; TERMINAL = "ghostty";
TERM = "ghostty"; TERM = "ghostty";
XMODIFIERS = "@im=none";
GTK_IM_MODULE = "simple";
}; };
programs.ghostty = { programs.ghostty = {
+28 -2
View File
@@ -1,4 +1,9 @@
{pkgs-stable, ...}: { {
pkgs,
pkgs-stable,
pkgs-nur-hadi,
...
}: {
home.packages = with pkgs-stable; [ home.packages = with pkgs-stable; [
vlc # Video player vlc # Video player
obsidian # Note taking app obsidian # Note taking app
@@ -10,10 +15,31 @@
pinta # Image editor pinta # Image editor
switcheroo # Convert images between different formats switcheroo # Convert images between different formats
onlyoffice-desktopeditors # Office suite onlyoffice-desktopeditors # Office suite
blanket # Listen to different sounds
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. 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
sttr # Minimalist "cyberchef" like. Cross-platform, cli app to perform various operations on string
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
pkgs.wifitui # TUI for managing wifi
pkgs-nur-hadi.usbguard-tui # TUI for managing USBGuard rules
pkgs-nur-hadi.sheets # Terminal based spreadsheet tool
# I love CLIs
httpie # Command-line HTTP client, a user-friendly cURL replacement
gh # GitHub
gh-dash # A terminal dashboard for GitHub
figlet # Transform text into ASCII art
pastel # Command-line tool to generate, analyze, convert and manipulate colors
imagemagick # Image manipulation tool
chafa # Image to ANSI/Unicode converter and more.
]; ];
} }
+34 -25
View File
@@ -1,39 +1,48 @@
{ {
pkgs, pkgs,
pkgs-stable, pkgs-stable,
inputs, pkgs-nur-hadi,
system,
}: }:
(with pkgs-stable; [ (with pkgs-stable; [
httpie # Web
trufflehog dirb
sttr ffuf
wireshark katana
nmap whatweb
john
# Hashes
hashcat hashcat
metasploit
haiti haiti
hydra hydra
john
# Databases
mariadb
redis
sqlmap
nosqli
# Network
inetutils
termshark # wireshark in TUI
dnsrecon dnsrecon
whois whois
dig dig
nosqli nmap
jwt-cli
nuclei
caido
gobuster
dirb
ffuf
sqlmap
katana
inetutils
samba samba
# Misc
metasploit
nuclei
openvpn openvpn
mariadb
redis # Secrets
trufflehog
# Forensics
binwalk
])
++ (with pkgs-nur-hadi; [
spilltea
jwt-tui
]) ])
++ [
inputs.spilltea.packages.${system}.default
inputs.jwt-tui.packages.${system}.default
]
+3 -4
View File
@@ -1,12 +1,11 @@
{ {
inputs,
pkgs-stable,
pkgs, pkgs,
pkgs-stable,
pkgs-nur-hadi,
... ...
}: { }: {
home.packages = import ./cybersecurity-packages.nix { home.packages = import ./cybersecurity-packages.nix {
inherit pkgs pkgs-stable inputs; inherit pkgs pkgs-stable pkgs-nur-hadi;
system = pkgs.stdenv.hostPlatform.system;
}; };
systemd.user.tmpfiles.rules = [ systemd.user.tmpfiles.rules = [
+2 -7
View File
@@ -1,22 +1,17 @@
{ {
pkgs, pkgs,
pkgs-stable, pkgs-stable,
inputs,
system,
}: }:
(with pkgs; [ (with pkgs; [
go go
bun
nodejs
claude-code claude-code
inputs.bun2nix.packages.${system}.default
]) ])
++ (with pkgs-stable; [ ++ (with pkgs-stable; [
nodejs
air air
duckdb duckdb
docker
python3 python3
jq jq
just
nix-prefetch-github nix-prefetch-github
rsync
]) ])
+1 -5
View File
@@ -1,11 +1,7 @@
{ {
pkgs, pkgs,
pkgs-stable, pkgs-stable,
inputs,
... ...
}: { }: {
home.packages = import ./dev-packages.nix { home.packages = import ./dev-packages.nix {inherit pkgs pkgs-stable;};
inherit pkgs pkgs-stable inputs;
system = pkgs.stdenv.hostPlatform.system;
};
} }
+3 -2
View File
@@ -2,11 +2,12 @@
inputs, inputs,
pkgs, pkgs,
pkgs-stable, pkgs-stable,
pkgs-nur-hadi,
system, system,
... ...
}: let }: let
devPackages = import ./dev-packages.nix {inherit pkgs pkgs-stable inputs system;}; devPackages = import ./dev-packages.nix {inherit pkgs pkgs-stable;};
cyberPackages = import ./cybersecurity-packages.nix {inherit pkgs pkgs-stable inputs system;}; cyberPackages = import ./cybersecurity-packages.nix {inherit pkgs pkgs-stable pkgs-nur-hadi;};
in { in {
packages.${system} = { packages.${system} = {
dev = pkgs.buildEnv { dev = pkgs.buildEnv {
+1 -1
View File
@@ -1,5 +1,6 @@
{ {
pkgs-stable, pkgs-stable,
pkgs-nur-hadi,
inputs, inputs,
... ...
}: { }: {
@@ -11,6 +12,5 @@
pipes pipes
cmatrix cmatrix
fastfetch fastfetch
inputs.usbguard-tui.packages.${pkgs-stable.stdenv.hostPlatform.system}.default
]; ];
} }
@@ -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/";
+1
View File
@@ -66,6 +66,7 @@
.helium.browser.layout = 3 | .helium.browser.layout = 3 |
.helium.browser.minimal_location_bar = true | .helium.browser.minimal_location_bar = true |
.helium.browser.show_dynamic_new_tab_button = false | .helium.browser.show_dynamic_new_tab_button = false |
.helium.browser.rounded_frame = false |
.bookmark_bar.show_tab_groups = false | .bookmark_bar.show_tab_groups = false |
.extensions.settings[$id] = { .extensions.settings[$id] = {
"active_permissions": {"api": [], "explicit_host": [], "manifest_permissions": [], "scriptable_host": []}, "active_permissions": {"api": [], "explicit_host": [], "manifest_permissions": [], "scriptable_host": []},
+13 -1
View File
@@ -1,12 +1,24 @@
{ {
inputs, inputs,
pkgs, pkgs,
config,
... ...
}: { }: let
c = config.lib.stylix.colors;
in {
imports = [inputs.nvf.homeManagerModules.default]; imports = [inputs.nvf.homeManagerModules.default];
programs.nvf = { programs.nvf = {
enable = true; enable = true;
settings = { settings = {
vim.luaConfigRC.hl-overrides = ''
local function apply_hl()
vim.api.nvim_set_hl(0, "MiniStarterHeader", { fg = "#${c.base0D}", bold = true })
vim.api.nvim_set_hl(0, "SnacksPickerBorder", { fg = "#${c.base0D}" })
vim.api.nvim_set_hl(0, "SnacksPickerTitle", { fg = "#${c.base0D}", bold = true })
end
apply_hl()
vim.api.nvim_create_autocmd("ColorScheme", { pattern = "*", callback = apply_hl })
'';
imports = [ imports = [
./options.nix ./options.nix
./languages.nix ./languages.nix
+47
View File
@@ -1,6 +1,7 @@
{ {
vim = { vim = {
globals.mapleader = " "; globals.mapleader = " ";
keymaps = [ keymaps = [
{ {
key = "s"; key = "s";
@@ -144,6 +145,52 @@
desc = "Todo (Trouble)"; desc = "Todo (Trouble)";
} }
# Shell
{
key = "<leader>!";
mode = "n";
silent = true;
lua = true;
desc = "Insert command output";
action = ''
function()
local cmd = vim.fn.input("Command: ")
if cmd == "" then return end
local lines = vim.fn.systemlist(cmd)
while #lines > 0 and lines[#lines] == "" do
table.remove(lines)
end
if #lines == 0 then return end
vim.api.nvim_put(lines, "l", true, true)
end
'';
}
{
key = "<leader>!";
mode = "v";
silent = true;
lua = true;
desc = "Run command with selection";
action = ''
function()
local start_line = vim.fn.line("'<")
local end_line = vim.fn.line("'>")
local lines = vim.api.nvim_buf_get_lines(0, start_line - 1, end_line, false)
local input_text = table.concat(lines, "\n")
local cmd = vim.fn.input("$ ")
if cmd == "" then return end
local result = vim.fn.system({"bash", "-c", cmd}, input_text)
local output = vim.split(result, "\n", { plain = true })
if output[#output] == "" then table.remove(output) end
if #output == 0 then return end
vim.api.nvim_buf_set_lines(0, start_line - 1, end_line, false, output)
end
'';
}
# QOL # QOL
{ {
key = ">"; key = ">";
+1
View File
@@ -24,6 +24,7 @@
autotagHtml = true; autotagHtml = true;
context.enable = true; context.enable = true;
highlight.enable = true; highlight.enable = true;
textobjects.enable = true;
}; };
lsp = { lsp = {
enable = true; enable = true;
+54 -2
View File
@@ -1,4 +1,4 @@
{ {lib, ...}: {
vim.luaConfigRC.mini-clue = '' vim.luaConfigRC.mini-clue = ''
local miniclue = require('mini.clue') local miniclue = require('mini.clue')
miniclue.setup({ miniclue.setup({
@@ -27,6 +27,9 @@
{ mode = 'n', keys = '<Leader>u', desc = '+ui' }, { mode = 'n', keys = '<Leader>u', desc = '+ui' },
{ mode = 'n', keys = '<Leader>l', desc = '+lsp' }, { mode = 'n', keys = '<Leader>l', desc = '+lsp' },
{ mode = 'n', keys = '<Leader>x', desc = '+trouble' }, { mode = 'n', keys = '<Leader>x', desc = '+trouble' },
{ mode = 'n', keys = '<Leader>!', desc = 'shell' },
{ mode = 'v', keys = '<Leader>!', desc = 'shell' },
{ mode = 'n', keys = '<Leader>e', desc = 'yazi' },
}, },
window = { delay = 300 }, window = { delay = 300 },
}) })
@@ -34,7 +37,55 @@
vim.mini = { vim.mini = {
ai.enable = true; ai.enable = true;
starter.enable = true; starter = {
enable = true;
setupOpts = {
header = ''
'';
footer = "";
items = [
{
name = "files";
action = lib.mkLuaInline "function() Snacks.picker.files() end";
section = "";
}
{
name = "directories";
action = lib.mkLuaInline "function() Snacks.explorer() end";
section = "";
}
{
name = "tmp";
action = lib.mkLuaInline ''
function()
local uuid = vim.fn.system("uuidgen"):match("(%S+)")
vim.cmd("edit /tmp/" .. uuid .. ".md")
end
'';
section = "";
}
{
name = "recent";
action = lib.mkLuaInline "function() Snacks.picker.recent() end";
section = "";
}
];
};
};
comment.enable = true; comment.enable = true;
icons.enable = true; icons.enable = true;
indentscope.enable = true; indentscope.enable = true;
@@ -44,5 +95,6 @@
jump2d.enable = true; jump2d.enable = true;
statusline.enable = true; statusline.enable = true;
clue.enable = true; clue.enable = true;
surround.enable = true;
}; };
} }
+1 -1
View File
@@ -18,7 +18,7 @@
desc = "Smart Find Files"; desc = "Smart Find Files";
} }
{ {
key = "<leader>e"; key = "<leader>E";
mode = "n"; mode = "n";
silent = true; silent = true;
action = "<cmd>lua Snacks.explorer()<cr>"; action = "<cmd>lua Snacks.explorer()<cr>";
+4
View File
@@ -5,6 +5,10 @@
vim.keymap.del("n", "<leader>tdt") vim.keymap.del("n", "<leader>tdt")
''; '';
undoFile.enable = true; undoFile.enable = true;
utility.yazi-nvim = {
enable = true;
mappings.openYazi = "<leader>e";
};
notes.todo-comments.enable = true; notes.todo-comments.enable = true;
assistant.copilot = { assistant.copilot = {
enable = true; enable = true;
+42 -37
View File
@@ -4,14 +4,10 @@
lib, lib,
config, config,
... ...
}: let }: {
fetch = config.theme.fetch; # neofetch, nerdfetch, pfetch
in {
home.packages = with pkgs; [ home.packages = with pkgs; [
bat bat
ripgrep ripgrep
tldr
witr
]; ];
# Add go binaries to the PATH # Add go binaries to the PATH
@@ -49,31 +45,23 @@ in {
''; '';
shellAliases = { shellAliases = {
s = "superfile"; # Change default
spf = "superfile";
vim = "nvim"; vim = "nvim";
vi = "nvim"; vi = "nvim";
v = "nvim";
c = "clear";
clera = "clear";
celar = "clear";
e = "exit";
cd = "z"; cd = "z";
ls = "eza --icons=always --no-quotes"; ls = "eza --icons=always --no-quotes";
tree = "eza --icons=always --tree --no-quotes"; tree = "eza --icons=always --tree --no-quotes";
sl = "ls";
open = "${pkgs.xdg-utils}/bin/xdg-open";
cat = "bat --theme=base16 --color=always --paging=never --tabs=2 --wrap=never --plain"; cat = "bat --theme=base16 --color=always --paging=never --tabs=2 --wrap=never --plain";
mkdir = "mkdir -p"; mkdir = "mkdir -p";
obsidian-no-gpu = "env ELECTRON_OZONE_PLATFORM_HINT=auto obsidian --ozone-platform=x11"; # Shortcuts
wireguard-import = "nmcli connection import type wireguard file"; spt = "spotatui";
v = "nvim";
c = "clear";
e = "exit";
open = "${pkgs.xdg-utils}/bin/xdg-open";
notes = "nvim ~/notes/index.md --cmd 'cd ~/notes' -c ':lua Snacks.picker.smart()'"; notes = "nvim ~/notes/index.md --cmd 'cd ~/notes' -c ':lua Snacks.picker.smart()'";
note = "notes";
tmp = "nvim /tmp/$(date | sed 's/ //g;s/\\.//g').md";
nix-shell = "nix-shell --command zsh"; nix-shell = "nix-shell --command zsh";
# git # git
@@ -90,31 +78,41 @@ in {
gbr = "git branch"; gbr = "git branch";
grs = "git reset HEAD~1"; grs = "git reset HEAD~1";
grh = "git reset --hard HEAD~1"; grh = "git reset --hard HEAD~1";
gaa = "git add ."; gaa = "git add .";
gcm = "git commit -m"; gcm = "git commit -m";
# Typo
clera = "clear";
celar = "clear";
claer = "clear";
sl = "ls";
}; };
initContent = initContent =
# bash # bash
'' ''
bindkey -e bindkey -e
${
if fetch == "neofetch"
then pkgs.neofetch + "/bin/neofetch"
else if fetch == "nerdfetch"
then "nerdfetch"
else if fetch == "pfetch"
then "echo; ${pkgs.pfetch}/bin/pfetch"
else ""
}
function n4c() { # Open command in VIM
category=''${1:-all} autoload -Uz edit-command-line
shift zle -N edit-command-line
args=''${*} bindkey '^X' edit-command-line
nix develop "github:nix4cyber/n4c#''${category}" ''${args} -c zsh
} # Suffix Aliases
alias -s {nix,md,txt,json,yml,yaml,go}=nvim
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)
alias -g G="| grep"
alias -g L="| less"
alias -g V="| nvim"
alias -g H="| head"
alias -g T="| tail"
alias -g JQ="| jq"
alias -g C="| wl-copy"
alias -g NE="2>/dev/null"
alias -g ND=">/dev/null"
alias -g NUL=">/dev/null 2>1"
# search history based on what's typed in the prompt # search history based on what's typed in the prompt
autoload -U history-search-end autoload -U history-search-end
@@ -155,7 +153,7 @@ in {
# Colors # Colors
zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS} zstyle ':completion:*' list-colors ''${(s.:.)LS_COLORS}
# case insensitive tab completion # Case insensitive tab completion
zstyle ':completion:*:*:cd:*' tag-order local-directories directory-stack path-directories zstyle ':completion:*:*:cd:*' tag-order local-directories directory-stack path-directories
zstyle ':completion:*:*:cd:*:directory-stack' menu yes select zstyle ':completion:*:*:cd:*:directory-stack' menu yes select
zstyle ':completion:*:-tilde-:*' group-order 'named-directories' 'path-directories' 'users' 'expand' zstyle ':completion:*:-tilde-:*' group-order 'named-directories' 'path-directories' 'users' 'expand'
@@ -171,6 +169,13 @@ in {
zstyle ':completion:complete:*:options' sort false zstyle ':completion:complete:*:options' sort false
zstyle ':completion:files' sort false zstyle ':completion:files' sort false
autoload zmv
hash -d dl=~/Downloads
hash -d ni=~/.config/nixos
hash -d de=~/dev
hash -d cy=~/Cyber
${lib.optionalString config.services.gpg-agent.enable '' ${lib.optionalString config.services.gpg-agent.enable ''
gnupg_path=$(ls $XDG_RUNTIME_DIR/gnupg) gnupg_path=$(ls $XDG_RUNTIME_DIR/gnupg)
export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gnupg/$gnupg_path/S.gpg-agent.ssh" export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/gnupg/$gnupg_path/S.gpg-agent.ssh"
-43
View File
@@ -1,43 +0,0 @@
# Spicetify is a spotify client customizer
{
pkgs,
pkgs-stable,
config,
lib,
inputs,
...
}: let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.stdenv.hostPlatform.system};
accent = "${config.lib.stylix.colors.base0D}";
background = "${config.lib.stylix.colors.base00}";
in {
imports = [inputs.spicetify-nix.homeManagerModules.default];
stylix.targets.spicetify.enable = false;
programs.spicetify = {
enable = true;
spotifyPackage = pkgs-stable.spotify;
theme = lib.mkForce spicePkgs.themes.dribbblish;
colorScheme = "custom";
customColorScheme = {
button = accent;
button-active = accent;
tab-active = accent;
player = background;
main = background;
sidebar = background;
};
enabledExtensions = with spicePkgs.extensions; [
playlistIcons
historyShortcut
hidePodcasts
adblock
fullAppDisplay
keyboardShortcut
];
};
}
+104
View File
@@ -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"}
'';
}
-38
View File
@@ -1,38 +0,0 @@
{config, ...}: {
xdg.userDirs = {
enable = true;
setSessionVariables = true;
createDirectories = true;
desktop = "${config.home.homeDirectory}/Desktop";
download = "${config.home.homeDirectory}/Downloads";
pictures = "${config.home.homeDirectory}/Pictures";
music = null;
documents = null;
videos = null;
templates = null;
publicShare = null;
};
programs.superfile = {
enable = true;
firstUseCheck = false;
pinnedFolders = [
{
name = "dev";
location = "/home/hadrien/dev";
}
{
name = "nixos";
location = "/home/hadrien/.config/nixos";
}
{
name = "trash";
location = "/home/hadrien/.local/share/Trash/files";
}
];
settings = {
transparent_background = true;
ignore_missing_fields = true;
};
};
}
-2
View File
@@ -35,8 +35,6 @@ in {
package = pkgs.papirus-icon-theme; package = pkgs.papirus-icon-theme;
}; };
gtk4.theme = null;
# bookmarks for the side pane # bookmarks for the side pane
gtk3.bookmarks = [ gtk3.bookmarks = [
"file:///home/${user}/Downloads Downloads" "file:///home/${user}/Downloads Downloads"
+129
View File
@@ -0,0 +1,129 @@
{pkgs, ...}: {
programs.yazi = {
enable = true;
shellWrapperName = "y";
plugins = {
git = {
package = pkgs.yaziPlugins.git;
setup = true;
};
ouch = pkgs.yaziPlugins.ouch;
piper = pkgs.yaziPlugins.piper;
convert = pkgs.yaziPlugins.convert;
"jump-to-char" = pkgs.yaziPlugins."jump-to-char";
"wl-clipboard" = pkgs.yaziPlugins."wl-clipboard";
"batch-rename-gui" = pkgs.yaziPlugins.mkYaziPlugin {
pname = "batch-rename-gui.yazi";
version = "0-unstable-2025-07-08";
src = pkgs.fetchFromGitHub {
owner = "pakhromov";
repo = "batch-rename-gui.yazi";
rev = "5c2d5aa349948b6ab405a171541faab44751f6a5";
hash = "sha256-3RviPY3WOyYi5GWXWRYMWp6VLxCe5cuJX7Kb7AyWxLE=";
};
};
};
settings.mgr.ratio = [0 4 3];
settings.plugin = {
prepend_fetchers = [
{
url = "*";
run = "git";
group = "git";
}
{
url = "*/";
run = "git";
group = "git";
}
];
prepend_previewers = [
{
url = "*.md";
run = ''piper -- CLICOLOR_FORCE=1 glow -w=$w -s=dark "$1"'';
}
];
prepend_openers = [
{
url = "*.{zip,tar,gz,bz2,xz,7z,rar}";
run = "ouch";
}
];
};
keymap.mgr.prepend_keymap = [
{
on = ["C"];
run = "plugin ouch";
desc = "Compress";
}
{
on = ["X"];
run = "plugin ouch --args=extract";
desc = "Extract";
}
{
on = ["c" "p"];
run = "plugin convert -- --extension='png'";
desc = "Convert to PNG";
}
{
on = ["c" "j"];
run = "plugin convert -- --extension='jpg'";
desc = "Convert to JPG";
}
{
on = ["c" "w"];
run = "plugin convert -- --extension='webp'";
desc = "Convert to WebP";
}
{
on = ["M"];
run = ''shell 'exiftool "$@" | less' --block'';
desc = "Show metadata";
}
{
on = ["T"];
run = "plugin toggle-parent";
desc = "Toggle parent pane";
}
{
on = ["F"];
run = "plugin jump-to-char";
desc = "Jump to char";
}
{
on = ["Y"];
run = "plugin wl-clipboard";
desc = "Copy to clipboard (Wayland)";
}
{
on = ["B"];
run = "plugin batch-rename-gui";
desc = "Batch rename";
}
];
};
home.packages = with pkgs; [glow ouch hexyl exiftool fzf wl-clipboard];
xdg.configFile."yazi/plugins/toggle-parent.yazi/main.lua".text = ''
--- @sync entry
local RESTORE_WIDTH = 1
return {
entry = function(st, job)
local r = rt.mgr.ratio
if r.parent == 0 then
rt.mgr.ratio = { st.width or RESTORE_WIDTH, r.current, r.preview }
else
st.width = r.parent
rt.mgr.ratio = { 0, r.current, r.preview }
end
ya.emit("app:resize", {})
end
}
'';
}
+3 -3
View File
@@ -3,7 +3,7 @@
config, config,
... ...
}: let }: let
rounding = config.theme.rounding + config.theme.gaps-out; inherit (config.theme) bar-rounding bar-thickness;
inherit (config.stylix) fonts; inherit (config.stylix) fonts;
in { in {
home.packages = with pkgs; [ home.packages = with pkgs; [
@@ -43,8 +43,8 @@ in {
}; };
dashboard.showOnHover = false; dashboard.showOnHover = false;
border = { border = {
inherit rounding; rounding = bar-rounding;
thickness = 8; thickness = bar-thickness;
}; };
}; };
} }
+7 -1
View File
@@ -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 \
+15
View File
@@ -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;
+4
View File
@@ -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 = {
+1 -1
View File
@@ -8,7 +8,7 @@
../../nixos/home-manager.nix ../../nixos/home-manager.nix
../../nixos/nix.nix ../../nixos/nix.nix
../../nixos/systemd-boot.nix ../../nixos/systemd-boot.nix
../../nixos/sddm.nix ../../nixos/tuigreet.nix
../../nixos/users.nix ../../nixos/users.nix
../../nixos/utils.nix ../../nixos/utils.nix
../../nixos/hyprland.nix ../../nixos/hyprland.nix
+2 -2
View File
@@ -10,12 +10,12 @@
../../home/programs/git ../../home/programs/git
../../home/programs/git/lazygit.nix ../../home/programs/git/lazygit.nix
../../home/programs/git/signing.nix # CHANGEME: Change the key or remove this file ../../home/programs/git/signing.nix # CHANGEME: Change the key or remove this file
../../home/programs/spicetify
../../home/programs/thunar ../../home/programs/thunar
../../home/programs/nixy ../../home/programs/nixy
../../home/programs/nightshift ../../home/programs/nightshift
../../home/programs/nix-utils ../../home/programs/nix-utils
../../home/programs/superfile ../../home/programs/spotatui
../../home/programs/yazi
../../home/programs/group/basic-apps.nix ../../home/programs/group/basic-apps.nix
../../home/programs/group/cybersecurity.nix ../../home/programs/group/cybersecurity.nix
+1 -2
View File
@@ -5,7 +5,7 @@
}: { }: {
imports = [ imports = [
# Choose your theme here: # Choose your theme here:
../../themes/darkviolet.nix ../../themes/nixy.nix
]; ];
config.var = { config.var = {
@@ -15,7 +15,6 @@
keyboardLayout = "fr"; keyboardLayout = "fr";
location = "Paris";
timeZone = "Europe/Paris"; timeZone = "Europe/Paris";
defaultLocale = "en_US.UTF-8"; defaultLocale = "en_US.UTF-8";
extraLocale = "fr_FR.UTF-8"; extraLocale = "fr_FR.UTF-8";
-1
View File
@@ -10,7 +10,6 @@ nixpkgs.lib.nixosSystem {
inputs.stylix.nixosModules.stylix inputs.stylix.nixosModules.stylix
inputs.sops-nix.nixosModules.sops inputs.sops-nix.nixosModules.sops
inputs.nixarr.nixosModules.default inputs.nixarr.nixosModules.default
# inputs.eleakxir.nixosModules.eleakxir
inputs.nix-index-database.nixosModules.default inputs.nix-index-database.nixosModules.default
inputs.default-creds.nixosModules.default inputs.default-creds.nixosModules.default
./configuration.nix ./configuration.nix
+1 -1
View File
@@ -10,7 +10,7 @@
../../home/programs/git/lazygit.nix ../../home/programs/git/lazygit.nix
../../home/programs/nixy ../../home/programs/nixy
../../home/programs/nix-utils ../../home/programs/nix-utils
../../home/programs/superfile ../../home/programs/yazi
../../home/programs/group/dev.nix ../../home/programs/group/dev.nix
]; ];
+1 -2
View File
@@ -5,7 +5,7 @@
}: { }: {
imports = [ imports = [
# Choose your theme here: # Choose your theme here:
../../themes/rose-pine.nix ../../themes/nixy.nix
]; ];
config.var = { config.var = {
@@ -15,7 +15,6 @@
keyboardLayout = "fr"; keyboardLayout = "fr";
location = "Paris";
timeZone = "Europe/Paris"; timeZone = "Europe/Paris";
defaultLocale = "en_US.UTF-8"; defaultLocale = "en_US.UTF-8";
extraLocale = "fr_FR.UTF-8"; extraLocale = "fr_FR.UTF-8";
+1 -1
View File
@@ -7,7 +7,7 @@
../../nixos/home-manager.nix ../../nixos/home-manager.nix
../../nixos/nix.nix ../../nixos/nix.nix
../../nixos/systemd-boot.nix ../../nixos/systemd-boot.nix
../../nixos/sddm.nix ../../nixos/tuigreet.nix
../../nixos/usbguard.nix ../../nixos/usbguard.nix
../../nixos/users.nix ../../nixos/users.nix
../../nixos/utils.nix ../../nixos/utils.nix
+2 -2
View File
@@ -8,12 +8,12 @@
../../home/programs/shell ../../home/programs/shell
../../home/programs/git ../../home/programs/git
../../home/programs/git/lazygit.nix ../../home/programs/git/lazygit.nix
../../home/programs/spicetify
../../home/programs/thunar ../../home/programs/thunar
../../home/programs/nixy ../../home/programs/nixy
../../home/programs/nightshift ../../home/programs/nightshift
../../home/programs/nix-utils ../../home/programs/nix-utils
../../home/programs/superfile ../../home/programs/spotatui
../../home/programs/yazi
../../home/programs/group/basic-apps.nix ../../home/programs/group/basic-apps.nix
../../home/programs/group/cybersecurity.nix ../../home/programs/group/cybersecurity.nix
+1 -2
View File
@@ -5,7 +5,7 @@
}: { }: {
imports = [ imports = [
# Choose your theme here: # Choose your theme here:
../../themes/darkviolet.nix ../../themes/nixy.nix
]; ];
config.var = { config.var = {
@@ -15,7 +15,6 @@
keyboardLayout = "fr"; keyboardLayout = "fr";
location = "Paris";
timeZone = "Europe/Paris"; timeZone = "Europe/Paris";
defaultLocale = "en_US.UTF-8"; defaultLocale = "en_US.UTF-8";
extraLocale = "fr_FR.UTF-8"; extraLocale = "fr_FR.UTF-8";
+2 -2
View File
@@ -1,5 +1,5 @@
# Docker is a containerization platform that allows you to run applications in isolated environments called containers. {config, pkgs, ...}: {
{config, ...}: {
virtualisation.docker.enable = true; virtualisation.docker.enable = true;
virtualisation.docker.package = pkgs.docker_29;
users.users."${config.var.username}".extraGroups = ["docker"]; users.users."${config.var.username}".extraGroups = ["docker"];
} }
+1
View File
@@ -14,6 +14,7 @@
system = pkgs.stdenv.hostPlatform.system; system = pkgs.stdenv.hostPlatform.system;
config.allowUnfree = true; config.allowUnfree = true;
}; };
pkgs-nur-hadi = inputs.nur-anotherhadi.packages.${pkgs.stdenv.hostPlatform.system};
}; };
}; };
} }
-59
View File
@@ -1,59 +0,0 @@
# SDDM is a display manager for X11 and Wayland
{
pkgs,
inputs,
config,
...
}: let
foreground = config.theme.textColorOnWallpaper;
sddm-astronaut = pkgs.sddm-astronaut.override {
embeddedTheme = "pixel_sakura";
themeConfig = {
HeaderTextColor = "#${foreground}";
DateTextColor = "#${foreground}";
TimeTextColor = "#${foreground}";
LoginFieldTextColor = "#${foreground}";
PasswordFieldTextColor = "#${foreground}";
UserIconColor = "#${foreground}";
PasswordIconColor = "#${foreground}";
WarningColor = "#${foreground}";
LoginButtonBackgroundColor = "#${foreground}";
SystemButtonsIconsColor = "#${foreground}";
SessionButtonTextColor = "#${foreground}";
VirtualKeyboardButtonTextColor = "#${foreground}";
DropdownBackgroundColor = "#${foreground}";
HighlightBackgroundColor = "#${foreground}";
Background =
if "sakura_pixelart_light_static.png" == config.stylix.image
then
pkgs.fetchurl {
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/sakura_pixelart_light_animated.gif";
sha256 = "sha256-qySDskjmFYt+ncslpbz0BfXiWm4hmFf5GPWF2NlTVB8=";
}
else if "cat-watching-the-star_pixelart_purple_static.png" == config.stylix.image
then
pkgs.fetchurl {
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/cat-watching-the-star_pixelart_purple_animated.gif";
sha256 = "";
}
else "${toString config.stylix.image}";
};
};
in {
services.displayManager = {
sddm = {
package = pkgs.kdePackages.sddm;
extraPackages = [sddm-astronaut];
enable = true;
wayland.enable = true;
theme = "sddm-astronaut-theme";
settings = {
Wayland.SessionDir = "${
inputs.hyprland.packages."${pkgs.stdenv.hostPlatform.system}".hyprland
}/share/wayland-sessions";
};
};
};
environment.systemPackages = [sddm-astronaut];
}
+62
View File
@@ -0,0 +1,62 @@
{
pkgs,
inputs,
config,
lib,
...
}: let
c = config.lib.stylix.colors;
tuigreet = inputs.notashelf-tuigreet.packages.${pkgs.stdenv.hostPlatform.system}.default;
theme = lib.concatStringsSep ";" [
"border=#${c.base0D}"
"text=#${c.base05}"
"prompt=#${c.base0D}"
"action=#${c.base0C}"
"button=#${c.base0D}"
"container=#${c.base00}"
"input=#${c.base02}"
];
tuigreet-launch = pkgs.writeShellScript "tuigreet-launch" ''
exec ${tuigreet}/bin/tuigreet \
--time \
--time-format '%H:%M %A %d %B' \
--sessions /run/current-system/sw/share/wayland-sessions \
--remember \
--remember-user-session \
--asterisks \
--greeting 'Welcome' \
--container-padding 2 \
--theme '${theme}' \
--power-shutdown 'systemctl poweroff' \
--power-reboot 'systemctl reboot'
'';
in {
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${tuigreet-launch}";
user = "greeter";
};
};
};
# this is a life saver.
# literally no documentation about this anywhere.
# might be good to write about this...
# https://www.reddit.com/r/NixOS/comments/u0cdpi/tuigreet_with_xmonad_how/
systemd.services.greetd.serviceConfig = {
Type = "idle";
StandardInput = "tty";
StandardOutput = "tty";
StandardError = "journal"; # Without this errors will spam on screen
# Without these bootlogs will spam on screen
TTYReset = true;
TTYVHangup = true;
TTYVTDisallocate = true;
};
environment.systemPackages = [tuigreet];
}
+5
View File
@@ -33,6 +33,11 @@ in {
timeZone = timeZone; timeZone = timeZone;
}; };
i18n.defaultLocale = defaultLocale; i18n.defaultLocale = defaultLocale;
i18n.inputMethod = {
enable = true;
type = "fcitx5";
fcitx5.addons = with pkgs; [fcitx5-gtk];
};
i18n.extraLocaleSettings = { i18n.extraLocaleSettings = {
LC_ADDRESS = extraLocale; LC_ADDRESS = extraLocale;
LC_IDENTIFICATION = extraLocale; LC_IDENTIFICATION = extraLocale;
+11 -10
View File
@@ -7,16 +7,17 @@
options.theme = lib.mkOption { options.theme = lib.mkOption {
type = lib.types.attrs; type = lib.types.attrs;
default = { default = {
rounding = 25; rounding = 20;
gaps-in = 10; bar-rounding = 20 + 10;
gaps-out = 10 * 2; bar-thickness = 0;
active-opacity = 0.99; gaps-in = 8;
inactive-opacity = 0.97; gaps-out = 8 * 2;
active-opacity = 0.96;
inactive-opacity = 0.92;
blur = true; blur = true;
border-size = 2; border-size = 2;
animation-speed = "medium"; # "fast" | "medium" | "slow" animation-speed = "medium"; # "fast" | "medium" | "slow"
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none" fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
textColorOnWallpaper = config.lib.stylix.colors.base00; # Color of the text displayed on the wallpaper (Lockscreen, display manager, ...)
}; };
description = "Theme configuration options"; description = "Theme configuration options";
}; };
@@ -26,8 +27,8 @@
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes # See https://tinted-theming.github.io/tinted-gallery/ for more schemes
base16Scheme = { base16Scheme = {
base00 = "110F12"; # Default Background base00 = "0A0A0C"; # Default Background
base01 = "1C1920"; # Lighter Background (Used for status bars, line number and folding marks) base01 = "110F12"; # Lighter Background (Used for status bars, line number and folding marks)
base02 = "2D2A36"; # Selection Background base02 = "2D2A36"; # Selection Background
base03 = "514D63"; # Comments, Invisibles, Line Highlighting base03 = "514D63"; # Comments, Invisibles, Line Highlighting
base04 = "8E8AA0"; # Dark Foreground (Used for status bars) base04 = "8E8AA0"; # Dark Foreground (Used for status bars)
@@ -74,8 +75,8 @@
polarity = "dark"; polarity = "dark";
image = pkgs.fetchurl { image = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/white-snow-and-a-tree_light.png"; url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/black-moutains-and-a-city.png";
sha256 = "sha256-HKqDY/iCcV++WwNuNIWZEyXuxYuGWG+krn2vPTe58HQ="; sha256 = "sha256-RTTA3Lf+hnPpo9hwS075kbnIouz12ul2GKO3EIgP6AU=";
}; };
}; };
} }
-81
View File
@@ -1,81 +0,0 @@
{
lib,
pkgs,
config,
...
}: {
options.theme = lib.mkOption {
type = lib.types.attrs;
default = {
rounding = 30;
gaps-in = 12;
gaps-out = 12 * 2;
active-opacity = 0.96;
inactive-opacity = 0.94;
blur = true;
border-size = 4;
animation-speed = "fast"; # "fast" | "medium" | "slow"
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
textColorOnWallpaper = config.lib.stylix.colors.base00; # Color of the text displayed on the wallpaper (Lockscreen, display manager, ...)
};
description = "Theme configuration options";
};
config.stylix = {
enable = true;
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
base16Scheme = {
base00 = "151320"; # Default Background
base01 = "1f1d2e"; # Lighter Background (Used for status bars, line number and folding marks)
base02 = "26233a"; # Selection Background
base03 = "6e6a86"; # Comments, Invisibles, Line Highlighting
base04 = "908caa"; # Dark Foreground (Used for status bars)
base05 = "e0def4"; # Default Foreground, Caret, Delimiters, Operators
base06 = "e0def4"; # Light Foreground (Not often used)
base07 = "524f67"; # Light Background (Not often used)
base08 = "eb6f92"; # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
base09 = "f6c177"; # Integers, Boolean, Constants, XML Attributes, Markup Link Url
base0A = "ebbcba"; # Classes, Markup Bold, Search Text Background
base0B = "31748f"; # Strings, Inherited Class, Markup Code, Diff Inserted
base0C = "9ccfd8"; # Support, Regular Expressions, Escape Characters, Markup Quotes
base0D = "c4a7e7"; # Functions, Methods, Attribute IDs, Headings, Accent color
base0E = "f6c177"; # Keywords, Storage, Selector, Markup Italic, Diff Changed
base0F = "524f67"; # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
};
cursor = {
name = "BreezeX-RosePine-Linux";
package = pkgs.rose-pine-cursor;
size = 20;
};
fonts = {
monospace = {
package = pkgs.maple-mono.NF;
name = "Maple Mono NF";
};
sansSerif = {
package = pkgs.source-sans-pro;
name = "Source Sans Pro";
};
serif = config.stylix.fonts.sansSerif;
emoji = {
package = pkgs.noto-fonts-color-emoji;
name = "Noto Color Emoji";
};
sizes = {
applications = 13;
desktop = 13;
popups = 13;
terminal = 13;
};
};
polarity = "dark";
image = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/pink-clouds.png";
sha256 = "sha256-IvINf62mg9rKjml4sh8hl/j7UHrQQlbm6QnZTaI+TRk=";
};
};
}
-81
View File
@@ -1,81 +0,0 @@
{
lib,
pkgs,
config,
...
}: {
options.theme = lib.mkOption {
type = lib.types.attrs;
default = {
rounding = 30;
gaps-in = 12;
gaps-out = 12 * 2;
active-opacity = 0.99;
inactive-opacity = 0.98;
blur = false;
border-size = 4;
animation-speed = "medium"; # "fast" | "medium" | "slow"
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
textColorOnWallpaper = config.lib.stylix.colors.base00; # Color of the text displayed on the wallpaper (Lockscreen, display manager, ...)
};
description = "Theme configuration options";
};
config.stylix = {
enable = true;
# See https://tinted-theming.github.io/tinted-gallery/ for more schemes
base16Scheme = {
base00 = "090E13"; # Default Background
base01 = "12171E"; # Lighter Background (Used for status bars, line number and folding marks)
base02 = "393B44"; # Selection Background
base03 = "54546D"; # Comments, Invisibles, Line Highlighting
base04 = "A4A7A4"; # Dark Foreground (Used for status bars)
base05 = "C5C9C7"; # Default Foreground, Caret, Delimiters, Operators
base06 = "DCD7BA"; # Light Foreground (Not often used)
base07 = "C8C093"; # Light Background (Not often used)
base08 = "C4746E"; # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
base09 = "B6927B"; # Integers, Boolean, Constants, XML Attributes, Markup Link Url
base0A = "C4B28A"; # Classes, Markup Bold, Search Text Background
base0B = "8A9A7B"; # Strings, Inherited Class, Markup Code, Diff Inserted
base0C = "8EA4A2"; # Support, Regular Expressions, Escape Characters, Markup Quotes
base0D = "8BA4B0"; # Functions, Methods, Attribute IDs, Headings, Accent color
base0E = "A292A3"; # Keywords, Storage, Selector, Markup Italic, Diff Changed
base0F = "B98D7B"; # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
};
cursor = {
name = "BreezeX-RosePine-Linux";
package = pkgs.rose-pine-cursor;
size = 20;
};
fonts = {
monospace = {
package = pkgs.maple-mono.NF;
name = "Maple Mono NF";
};
sansSerif = {
package = pkgs.source-sans-pro;
name = "Source Sans Pro";
};
serif = config.stylix.fonts.sansSerif;
emoji = {
package = pkgs.noto-fonts-color-emoji;
name = "Noto Color Emoji";
};
sizes = {
applications = 13;
desktop = 13;
popups = 13;
terminal = 13;
};
};
polarity = "dark";
image = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/anotherhadi/awesome-wallpapers/refs/heads/main/app/static/wallpapers/nepal.png";
sha256 = "sha256-0o2+B3+yA++PCyfNC+VqmaX959aKk3GuD7XpOq3SGcM=";
};
};
}