704 Commits

Author SHA1 Message Date
Hadi a7100f6ed5 fix shell path
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-14 00:15:12 +02:00
Hadi 828fe95bd4 Add "Hardened" in the readme
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-14 00:04:20 +02:00
Hadi be9ffa94c6 add obsidian to impermanence
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-14 00:01:34 +02:00
Hadi 7fd44889a5 update comments
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-13 23:53:14 +02:00
Hadi 3b32f061da Don't want to be lectured
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-13 23:49:27 +02:00
Hadi 2234f167ef set the password
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-13 23:47:08 +02:00
Hadi 07df6754de fix: waybar osd call
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-13 23:46:58 +02:00
Your Name 8e093d75ef Add disko with LUKS encryption and impermanence setup 2026-08-13 20:03:18 +00:00
Hadi ac0a706f1c Init impermanence
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-13 20:03:07 +02:00
Hadi b0a3843bcc Minimise the steam's games
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-13 17:33:41 +02:00
Hadi 6c5210cf66 add steam
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-13 14:57:34 +02:00
Hadi f704a5e9c4 Change pinned folders
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-08-13 14:42:07 +02:00
Hadi 0cef4320fd Waybar here i come (#58) 2026-08-13 13:55:30 +02:00
Hadi f1f22de7b7 feat: new zsh config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-12 20:31:52 +02:00
Hadi f73f992540 change theme
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-09 21:20:44 +02:00
Hadi d29e164c99 remove spicetify
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-09 21:20:37 +02:00
Hadi 9787f677de remove docker from dev pkgs
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-09 21:12:21 +02:00
Hadi 16eb64de6e pin docker version
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-09 21:10:28 +02:00
Hadi f3d9a4b428 edit yazi config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-09 20:50:05 +02:00
Hadi 30e14103d1 add sheets, pom & slides
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-09 20:24:21 +02:00
Hadi 23d7c0b460 Change themes
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-09 20:19:27 +02:00
Hadi 075f8c4a11 add chafa to nvim
Signed-off-by: Hadi <hadi@example.com>
2026-06-09 15:51:49 +02:00
Hadi 0c89a3d7e5 Edit dashboard, colors & add yazi
Signed-off-by: Hadi <hadi@example.com>
2026-06-09 15:19:37 +02:00
Hadi 9000ed8e28 remove full border
Signed-off-by: Hadi <hadi@example.com>
2026-06-09 15:19:07 +02:00
Hadi 9365de4822 Execute shell commands, surrounds.nvim, ...
Signed-off-by: Hadi <hadi@example.com>
2026-06-09 13:59:52 +02:00
Hadi 207c49fff8 edit yazi config
Signed-off-by: Hadi <hadi@example.com>
2026-06-09 13:29:26 +02:00
Hadi 120a6df4ed add chafa
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-08 20:51:27 +02:00
Hadi f036f367da add gh & gh-dash
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-08 20:28:40 +02:00
Hadi 6fc06f8616 add yazi plugins
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-08 20:04:48 +02:00
Hadi 9880cbeb0f impala -> wifitui
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-08 20:04:22 +02:00
Hadi bb6cb8c00e remove deadcode
Signed-off-by: Hadi <hadi@example.com>
2026-06-08 15:18:48 +02:00
Hadi beeb29276c nur-anotherhadi
Signed-off-by: Hadi <hadi@example.com>
2026-06-08 14:47:28 +02:00
Hadi a2aa6c3d08 add yazi, wiremix, impala, ..
Signed-off-by: Hadi <hadi@example.com>
2026-06-05 11:43:09 +02:00
Hadi 83b0a34256 update & add packages
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-04 22:29:02 +02:00
Hadi 1459743717 run in background
Signed-off-by: Hadi <hadi@example.com>
2026-06-04 16:35:15 +02:00
Hadi c76f503dcc add TUIs
Signed-off-by: Hadi <hadi@example.com>
2026-06-04 16:20:41 +02:00
Hadi 7931f68e41 init spotatui
Signed-off-by: Hadi <hadi@example.com>
2026-06-04 16:12:55 +02:00
Hadi 5f74119742 Merge branch 'main' of github.com:anotherhadi/nixy 2026-06-04 11:12:07 +02:00
Hadi e593974327 disable rounded_frame
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-01 22:23:04 +02:00
Hadi b245cfacf9 woops
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-01 22:22:50 +02:00
Hadi 38c00b16f1 change tuigreet config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-06-01 20:36:40 +02:00
Hadi 5a0bf2e2ac Merge branch 'main' of github.com:anotherhadi/nixy 2026-06-01 20:36:18 +02:00
Hadi 66758b8c24 add clear alias
Signed-off-by: Hadi <hadi@example.com>
2026-06-01 16:08:35 +02:00
Hadi 4c4035acf3 add bookmark
Signed-off-by: Hadi <hadi@example.com>
2026-06-01 16:08:31 +02:00
Hadi cced6d4f3a remove hardtime
Signed-off-by: Hadi <hadi@example.com>
2026-06-01 11:39:21 +02:00
Hadi 8aa58a2d0d Merge branch 'main' of github.com:anotherhadi/nixy 2026-06-01 10:02:40 +02:00
Hadi 94903f7b8a add apps
Signed-off-by: Hadi <hadi@example.com>
2026-06-01 10:02:28 +02:00
Hadi bf44f38fa0 Change tuigreet bin
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-30 23:32:47 +02:00
Hadi dbc68cdfc5 fix keyboards
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-30 22:02:32 +02:00
Hadi d25bc65534 remove hardtime.nvim
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-30 20:25:15 +02:00
Hadi 8d4f4cfd41 getting back to tuigreet
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-30 20:25:08 +02:00
Hadi ff31020187 Add ilovetui colors
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-29 20:08:20 +02:00
Hadi 93971606b9 use theme opacity
Signed-off-by: Hadi <hadi@example.com>
2026-05-28 11:58:35 +02:00
Hadi 092cf1cbd7 solve warnings
Signed-off-by: Hadi <hadi@example.com>
2026-05-28 11:50:53 +02:00
Hadi 37c6211cb8 windowrules for helium
Signed-off-by: Hadi <hadi@example.com>
2026-05-28 11:43:17 +02:00
Hadi 7793ac81c4 edit spf config
Signed-off-by: Hadi <hadi@example.com>
2026-05-28 10:10:56 +02:00
Hadi bc6dd4e7a2 add a new usb key
Signed-off-by: Hadi <hadi@example.com>
2026-05-28 09:22:49 +02:00
Hadi 517465799f transparent backgroud
Signed-off-by: Hadi <hadi@example.com>
2026-05-27 16:57:10 +02:00
Hadi e5dc149b99 add hardtime.nvim
Signed-off-by: Hadi <hadi@example.com>
2026-05-27 15:09:52 +02:00
Hadi bae9ba2206 add superfile
Signed-off-by: Hadi <hadi@example.com>
2026-05-27 15:02:23 +02:00
Hadi f578134eda add nvf bookmark
Signed-off-by: Hadi <hadi@example.com>
2026-05-27 15:02:18 +02:00
Hadi c082fd0e34 update flakes
Signed-off-by: Hadi <hadi@example.com>
2026-05-27 14:13:43 +02:00
Hadi 8e47d2bd42 edit packages list
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-26 20:45:40 +02:00
Hadi 1340916804 Edit helium configuration
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-26 20:38:27 +02:00
Hadi fd9d12cca9 Add JWT TUI
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-26 20:38:19 +02:00
Hadi 4695035189 from qutebrowser to helium..
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-26 01:18:23 +02:00
Hadi 460bbd13af add spilltea, sttr, httpie & trufflehog
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-22 09:20:58 +02:00
Hadi f34a6a5c46 add nix-prefetch-github
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-22 09:20:12 +02:00
Hadi 0edce83723 Add Sttr.nvim
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-22 09:20:06 +02:00
Hadi 5268761f93 remove useless shortcuts
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-21 13:21:36 +02:00
Hadi 3ba89fdc62 edit nvf config: use more mini & snacks
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-21 13:21:28 +02:00
Hadi e5def52943 cursor animations
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-21 11:04:40 +02:00
Hadi 4139a737a7 add direnv support
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-21 10:03:37 +02:00
Hadi ebaf1432ec add lua support
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-21 10:03:22 +02:00
Hadi 8cc20297ff update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-12 11:35:30 +02:00
Hadi dbf72b0908 USBGuard rules for work
Signed-off-by: Hadi <hadi@example.com>
2026-05-07 09:47:53 +02:00
Hadi 21490ddc4b Update LICENSE
Signed-off-by: Hadi <hadi@example.com>
2026-05-06 14:23:30 +02:00
Hadi 0a71c8a008 fix accent
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-05 21:46:16 +02:00
Hadi 8938762d5c edit usbguard rules
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-05 20:40:22 +02:00
Hadi 07e1790037 Moove greasemonkey's script to home.activation
Signed-off-by: Hadi <hadi@example.com>
2026-05-05 10:00:41 +02:00
Hadi 685e88700c Add usbguard-tui
Signed-off-by: Hadi <hadi@example.com>
2026-05-05 09:54:52 +02:00
Hadi 8a3de59ef8 Nix fmt
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-04 20:40:09 +02:00
Hadi d1438c47e7 Add usbguard service
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-04 19:51:01 +02:00
Hadi dee01e6445 Move monitor to host's home.nix file
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-05-04 19:50:35 +02:00
Hadi f4991fb791 add home manager module
Signed-off-by: Hadi <hadi@example.com>
2026-05-04 10:31:56 +02:00
Hadi 6df293c05a Merge branch 'main' of github.com:anotherhadi/nixy 2026-05-04 09:49:27 +02:00
Hadi a40fac04e5 update blog
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-29 22:44:05 +02:00
Hadi c800d3323f Add Security Headers
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-29 22:18:16 +02:00
Hadi 8cefd8452d Add error pages
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-29 19:43:59 +02:00
Hadi f18e8d4c54 change nvf flake.nix
Signed-off-by: Hadi <hadi@example.com>
2026-04-28 14:34:00 +02:00
Hadi 94e589447a Add inputs via module.args
Signed-off-by: Hadi <hadi@example.com>
2026-04-28 09:49:13 +02:00
Hadi 458f201632 nixy to home manager module
Signed-off-by: Hadi <hadi@example.com>
2026-04-28 09:45:47 +02:00
Hadi ac604883de Export nixy as a flake
Signed-off-by: Hadi <hadi@example.com>
2026-04-28 09:41:17 +02:00
github-actions 08759a72dc Update README.md (auto) 2026-04-27 19:14:25 +00:00
Hadi 489f625382 Refactor flakes
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-27 21:13:58 +02:00
Hadi f95f09b5fe Qutebrowser greasemonkey as flake now
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-27 20:31:47 +02:00
Hadi 632f7e1803 Change formater
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-25 15:35:57 +02:00
Hadi 96db5ae833 fix bug with caelestia conf being read-only
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-25 14:57:29 +02:00
Hadi 50dc8d01c3 Edit qutebrowser userscripts & overlay
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-25 14:56:21 +02:00
Hadi 4d79b06b74 edit ssh config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-25 13:36:29 +02:00
Hadi 86cf2bd722 update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-25 13:23:54 +02:00
Hadi 41858ae8d5 remove "privateBookmars"
Signed-off-by: Hadi <hadi@example.com>
2026-04-23 09:52:11 +02:00
Hadi 57c2968a5e update caelestia conf
Signed-off-by: Hadi <hadi@example.com>
2026-04-22 11:34:48 +02:00
Hadi f0c09c3419 Merge branch 'main' of github.com:anotherhadi/nixy 2026-04-22 10:38:12 +02:00
Hadi 61d22024c7 add secrets
Signed-off-by: Hadi <hadi@example.com>
2026-04-22 10:33:19 +02:00
Hadi 6eef87a5e7 move feedly
Signed-off-by: Hadi <hadi@example.com>
2026-04-22 10:33:10 +02:00
Hadi 81118d2a83 remove sesh
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-21 18:44:39 +02:00
Hadi a5fa4e68bf Add netrc
Signed-off-by: Hadi <hadi@example.com>
2026-04-21 15:21:55 +02:00
Hadi babbcabc7b create dirs
Signed-off-by: Hadi <hadi@example.com>
2026-04-20 16:51:37 +02:00
Hadi d16486c689 add Feedly to bookmarks
Signed-off-by: Hadi <hadi@example.com>
2026-04-20 14:21:49 +02:00
Hadi bbe597823d add list & tools
Signed-off-by: Hadi <hadi@example.com>
2026-04-20 14:21:44 +02:00
Hadi c06bdf9687 Init the work config v2
Signed-off-by: Hadi <hadi@example.com>
2026-04-20 14:05:09 +02:00
Hadi 0d1ff517fa Add tool & bookmark
Signed-off-by: Hadi <hadi@example.com>
2026-04-20 14:04:41 +02:00
Hadi a5ab8ddfd6 edit bookmarks
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-19 19:34:13 +02:00
Hadi 74720c3237 v5.0.0 2026-04-19 18:51:14 +02:00
Hadi 517ef11ec5 fix warning
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-19 18:50:55 +02:00
Hadi 0a42c2e42c Merge pull request #54 from Chiloute/fix-nvf-tailwind-install
nvf tailwind new install method
2026-04-19 18:48:30 +02:00
Hadi b6de70ee92 update
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-19 18:45:22 +02:00
Hadi 6e34c7d981 Edit qutebrowser config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-19 18:45:19 +02:00
Hadi e2a6572b3b Add Proton Mail & Calendar shortcuts
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-19 17:38:03 +02:00
Hadi 256af405aa new theme!
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-18 20:11:38 +02:00
Hadi 65a79ad825 tabs switching & shortcuts
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-18 01:25:06 +02:00
Hadi 2bca81d5b0 edit home src
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-18 01:13:04 +02:00
Hadi 3ae26a1824 qutebrowser configuration
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-18 01:12:46 +02:00
Hadi 449574d41a dead imports
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-18 01:03:57 +02:00
Hadi d42942539d Edit secrets & hostname
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-18 00:53:51 +02:00
Hadi 1f08634963 A lot of QOL changement, remove Zen, config Qutebrowser, update a lot of things
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-18 00:44:22 +02:00
pph acd53cf447 init qutebrowser
Signed-off-by: pph <pph@pph.pph>
2026-04-17 14:43:58 +02:00
pph cef215e013 move shortcuts
Signed-off-by: pph <pph@pph.pph>
2026-04-17 13:40:29 +02:00
pph 7bf5ea63cf edit groups
Signed-off-by: pph <pph@pph.pph>
2026-04-17 13:40:23 +02:00
pph 7c8bc1120d new bookmark
Signed-off-by: pph <pph@pph.pph>
2026-04-16 14:54:37 +02:00
Chiloute fcf899a3e4 nvf tailwind new install method
Signed-off-by: Chiloute <35150997+Chiloute@users.noreply.github.com>
2026-04-15 19:33:59 +02:00
Hadi d89f08628f nevermind
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-12 20:24:15 +02:00
Hadi 2981e825cc change from number to username + env var
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-12 19:24:24 +02:00
Hadi f2cc6f585c auto upgrades
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-12 19:02:46 +02:00
Hadi 4519deff2a edit keybinds
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-11 17:44:25 +02:00
Hadi e653e61f95 edit secrets
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-11 12:26:35 +02:00
Hadi 7e7af440b1 remove pins and change some keybinds
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-11 12:22:53 +02:00
Hadi 4dc3880ed5 Change from brave to zen
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-11 11:59:04 +02:00
Hadi edbdc57095 hardening
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-11 11:27:39 +02:00
Hadi 907f83f904 New way to deploy apps in my server
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-11 02:26:00 +02:00
Hadi 97a9b6d46a remove discord
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-11 01:34:02 +02:00
Hadi bd392e2d76 add claude-code to jack
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-10 22:57:18 +02:00
Hadi 74f9dbf41d add colors
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-10 22:57:09 +02:00
Hadi 79926862b3 edit gitignore
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-10 22:23:05 +02:00
Hadi d9260e41c5 update
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-07 22:48:29 +02:00
pph 4e03d67f47 Merge branch 'main' of github.com:anotherhadi/nixy 2026-04-07 13:42:51 +02:00
pph 81bcc90087 remove update nws
Signed-off-by: pph <pph@pph.pph>
2026-04-07 13:42:40 +02:00
Hadi b415d9b1c9 Merge branch 'main' of github.com:anotherhadi/nixy 2026-04-06 15:13:17 +02:00
Hadi a9c0efddbd Add variables for domain & tunnel id
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-06 15:13:10 +02:00
github-actions 0bd2ea12d7 Update README.md (auto) 2026-04-03 18:45:39 +00:00
Hadi 94a0ac4f37 change gitlab user
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-04-03 20:45:03 +02:00
Hadi de3b1f96c8 update blog config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-30 20:00:00 +02:00
Hadi 8fa48091c3 init swappy config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-30 18:30:34 +02:00
Hadi d991edf5ab Merge branch 'main' of github.com:anotherhadi/nixy 2026-03-30 18:30:19 +02:00
Hadi 4e28fc2e1c init gitea instance
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-30 18:30:14 +02:00
Hadi 5f6d420f44 rename
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-30 18:05:44 +02:00
Hadi cc8e4909e2 update secrets
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-30 18:05:22 +02:00
github-actions f0f66e9ff5 Update README.md (auto) 2026-03-30 15:11:28 +00:00
Hadi ddd0361dd1 update readme
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-30 17:10:18 +02:00
Hadi b0bdfe592e new secret
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-28 19:31:18 +01:00
Hadi 010499f7c8 Merge branch 'main' of github.com:anotherhadi/nixy 2026-03-28 18:59:06 +01:00
Hadi a9ef1dacd1 change gitlab secret
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-28 18:59:02 +01:00
Hadi 5e72e95231 update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-25 21:57:24 +01:00
Hadi 0f2e6fde66 update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-25 21:40:18 +01:00
Hadi 6e6129337e edit bookmarks
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-25 21:40:13 +01:00
Hadi 0deaf7c43a update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-25 20:53:09 +01:00
Hadi 1f8858b5c4 migration hadi.diy > hadi.icu
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-25 20:30:02 +01:00
Hadi d661a9f274 edit tunnels
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-25 18:51:17 +01:00
Hadi 418ff715ac change domain name
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-25 18:35:27 +01:00
Hadi f25379daee edit secrets
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-25 18:34:43 +01:00
Hadi 4090bc57d4 Remove eleakxir for now #53
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-24 22:57:28 +01:00
Hadi 179f9356ba Update default-creds
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-20 20:16:28 +01:00
pph fabc66d025 edit ghostty configuration
Signed-off-by: pph <pph@pph.pph>
2026-03-17 11:30:00 +01:00
Hadi 73da720c44 update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-16 23:49:16 +01:00
Hadi e18e3acbf3 +umami
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-16 23:27:43 +01:00
Hadi ae1d898ec8 Enable clipboard even in ssh
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-16 22:40:13 +01:00
Hadi f5bb810306 Update hyprland
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-16 21:17:40 +01:00
pph 38e417eaa9 update
Signed-off-by: pph <pph@pph.pph>
2026-03-16 14:25:11 +01:00
pph f29c186f9a Merge branch 'main' of github.com:anotherhadi/nixy 2026-03-16 09:45:05 +01:00
pph cb3427c23c edit secrets
Signed-off-by: pph <pph@pph.pph>
2026-03-16 09:44:54 +01:00
Hadi 27ca1425e6 init default-creds
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-14 21:16:01 +01:00
Hadi 71c6af5b40 remove Neofetch: deprecated
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-03-14 21:13:56 +01:00
pph 0d55e6df30 Edit keymaps & add dependencies
Signed-off-by: pph <pph@pph.pph>
2026-03-13 13:47:00 +01:00
pph 2751481d44 add nix-index-database
Signed-off-by: pph <pph@pph.pph>
2026-03-13 13:13:16 +01:00
pph dd82e1a54d fix type
Signed-off-by: pph <pph@pph.pph>
2026-03-12 09:35:33 +01:00
pph 8e99cff275 suppress float event from brave
Signed-off-by: pph <pph@pph.pph>
2026-03-11 17:02:15 +01:00
pph d886414d49 QOL vim option
Signed-off-by: pph <pph@pph.pph>
2026-03-11 17:02:02 +01:00
pph bd0d515fe9 let nixy take arguments
Signed-off-by: pph <pph@pph.pph>
2026-03-10 12:59:16 +01:00
pph e090847313 edit secret
Signed-off-by: pph <pph@pph.pph>
2026-03-09 13:41:38 +01:00
Hadi 3860731172 more stable nvidia version & fan control
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-28 22:37:32 +01:00
Hadi 2e174f948b add extension
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-28 22:26:24 +01:00
Hadi 84e9ad059e add amazon to bookmarks
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-24 21:59:24 +01:00
Hadi c33a1287d6 clamav: init
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-24 21:58:41 +01:00
Hadi 1b57252dd7 add firefox to cybersecurity
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-24 21:58:32 +01:00
Hadi 0eb1673b93 Update images path 2026-02-24 18:25:34 +01:00
pph 5310ffb0eb Add proton to work
Signed-off-by: pph <pph@pph.pph>
2026-02-23 10:59:59 +01:00
Hadi 09aa0d8b53 add bookmarks
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-20 20:57:32 +01:00
Hadi ab78a4f96d revert hyprland: current bug with external monitor
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-20 20:54:27 +01:00
Hadi c9e6f940fa DRM DEVICES now in host files
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-20 20:53:36 +01:00
Hadi 002a3fa8cc update
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-20 20:04:17 +01:00
Hadi bade12e797 fix brave fullscreen
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-20 19:05:31 +01:00
pph b469b470d1 Merge branch 'main' of github.com:anotherhadi/nixy 2026-02-20 15:28:06 +01:00
pph cc6a4a1420 Add monitor
Signed-off-by: pph <pph@pph.pph>
2026-02-20 15:27:54 +01:00
Hadi b640f51b9a Fix brave fullscreen
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-19 20:29:03 +01:00
Hadi b439a09368 add apps
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-18 21:44:57 +01:00
Hadi c4bc7a65fa lock instead of logout
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-18 21:44:48 +01:00
Hadi 4a30068d34 remove usefull keymaps
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-18 21:44:42 +01:00
Hadi f22616e26c quit without confirmation
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-18 21:44:36 +01:00
pph 54779b19e6 add python lsp
Signed-off-by: pph <pph@pph.pph>
2026-02-18 15:00:11 +01:00
pph e5af5ad4c1 add apps
Signed-off-by: pph <pph@pph.pph>
2026-02-18 15:00:07 +01:00
pph 1a2b83a4c3 change theme
Signed-off-by: pph <pph@pph.pph>
2026-02-18 15:00:02 +01:00
Hadi 4f01870115 Merge branch 'main' of github.com:anotherhadi/nixy 2026-02-16 22:48:16 +01:00
Hadi e3be677baa add freshrss
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-16 22:48:13 +01:00
Hadi 2f01d6eb1d add a shortcut for the dashboard
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-15 21:21:21 +01:00
Hadi bdf04d1332 add brave & brave incognito to which-key
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-15 20:36:52 +01:00
Hadi 9040a2e058 fix env variables
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-15 19:43:37 +01:00
Hadi d4929d2012 add binding to restart caelestia-shell
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-15 19:16:58 +01:00
Hadi 31ae503629 change theme
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-15 18:23:16 +01:00
Hadi f8a8987c02 add bookmarks
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-15 18:23:11 +01:00
Hadi 312c7c7342 new bindings! which-key like
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-15 17:36:49 +01:00
Hadi 093591c8e3 edit opacity
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-13 23:19:37 +01:00
pph 858d07d2e4 Don't show on hover the dashbaord
Signed-off-by: pph <pph@pph.pph>
2026-02-10 09:38:12 +01:00
pph ea37f50d93 fix thunar config overwrite
Signed-off-by: pph <pph@pph.pph>
2026-02-10 09:37:52 +01:00
Hadi f63a15737d new theme
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 21:49:14 +01:00
Hadi 1c4f9769c0 fix caelestia scheme change
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 21:49:07 +01:00
Hadi 3abe80a52d add cache to glance
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 20:37:54 +01:00
Hadi e9c65ba519 add brave settings
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 20:33:18 +01:00
Hadi 5800c9849f Add desktop entries for incognito & tor
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 19:53:44 +01:00
Hadi d4f33b6cd0 add QOL apps
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 19:52:40 +01:00
Hadi 87e367c848 +witr
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 19:16:04 +01:00
Hadi 9193709f2f done
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 13:27:44 +01:00
Hadi b218e4ee69 Kitty -> Ghostty
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 13:27:14 +01:00
Hadi 4be6cab204 Change default for text & add title
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 13:22:00 +01:00
Hadi d36258f0e5 add code mime files
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 13:16:42 +01:00
Hadi 9584ad7c36 update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 13:02:37 +01:00
Hadi be8abdf661 remove notifications from audio input/output change
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 12:46:58 +01:00
Hadi e9191589f4 change inactive border opacity
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 12:37:35 +01:00
Hadi 3ad0e29c7d remove blueman
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 12:31:29 +01:00
Hadi 6584e50a7e add more icons lib
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 12:31:06 +01:00
Hadi 5ca86f0772 fix icons
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 12:22:37 +01:00
Hadi c7cbf652c4 New mono font
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-07 12:22:25 +01:00
pph b0e1c01dda change ssh config
Signed-off-by: pph <pph@pph.pph>
2026-02-05 22:01:22 +01:00
pph bb7bcb73bc init new host
Signed-off-by: pph <pph@pph.pph>
2026-02-05 19:57:56 +01:00
Hadi 4c538c127f jellyfin on gpu
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-01 18:22:18 +01:00
Hadi 11ae0559eb glance rewrite
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-02-01 18:22:08 +01:00
Hadi 96b140df41 Merge branch 'main' of github.com:anotherhadi/nixy 2026-02-01 18:21:43 +01:00
Hadi f663cd7a47 update
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-30 16:49:58 +01:00
Hadi 6459e0b1b4 Firewall allow port 53: DNS requests
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-15 18:48:18 +01:00
Hadi 8acd1a6215 add comments
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-13 20:30:49 +01:00
Hadi a1bbaf5d22 Merge branch 'main' of github.com:anotherhadi/nixy 2026-01-13 20:26:06 +01:00
Hadi 53b9a56350 +mazanoke
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-13 20:25:57 +01:00
Hadi d33da45600 Update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-10 15:23:28 +01:00
Hadi 387b7b8750 add unrar & 7z to utils
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-07 22:33:12 +01:00
Hadi 8c996e0dea Server update
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-06 17:24:21 +01:00
Hadi 67cc20cb41 -tailscale
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-06 16:53:35 +01:00
Hadi 48809b4e1e change ssh config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-06 16:53:30 +01:00
Hadi 7718d60d57 Vivaldi->Brave
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-06 16:53:23 +01:00
Hadi 73271ea2fd Merge branch 'main' of github.com:anotherhadi/nixy 2026-01-04 00:40:14 +01:00
Hadi 055737dca2 update
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-04 00:40:10 +01:00
Hadi 630ea14bb9 Merge branch 'main' of github.com:anotherhadi/nixy 2026-01-04 00:28:28 +01:00
Hadi 2ec5c1ee7d auto start vpn
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-04 00:28:20 +01:00
Hadi 97cc0b06ac go back to brave
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-04 00:28:13 +01:00
Hadi 9b8f7c2ed2 add cloudflared
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-04 00:11:37 +01:00
github-actions add26c628b Update README.md (auto) 2026-01-01 16:15:25 +00:00
Hadi 8a58bbbaf0 v4.0.0
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2026-01-01 17:15:04 +01:00
github-actions d8d55793eb Update KEYBINDINGS-HYPRLAND.md (auto) 2025-12-09 16:44:29 +00:00
Hadi 83bae2864e wofi -> vicinae
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-12-09 17:44:18 +01:00
Hadi 2ad13f1c9e update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-12-09 17:44:11 +01:00
Hadi 9bbc356145 update
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-12-03 12:27:33 +01:00
Hadi 26fea007b1 add nuclei
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-11-10 22:15:59 +01:00
Hadi 56e55563a1 gogo ghostty
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-11-06 16:55:00 +01:00
Hadi ed679817a7 add caido & wireshark
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-11-04 16:15:06 +01:00
Hadi f3ffdbbace remove nextcloud
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-11-04 16:15:01 +01:00
Hadi f1f129c6dd remove bitwarden
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-11-04 16:14:44 +01:00
Hadi 121fe69f7a add readarr
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-11-04 16:14:40 +01:00
Hadi 2722fa31f2 edit apps
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-11-03 15:50:33 +01:00
Hadi c9e072899b change kitty config & switch from alacritty to kitty
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-11-03 15:49:02 +01:00
Hadi 499701b522 change theme
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-11-03 15:48:42 +01:00
Hadi f65f244d39 change theme
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-11-03 15:48:30 +01:00
Hadi 8d35a32efe update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-11-03 15:48:26 +01:00
Hadi 245b28ad75 update git config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-10-25 22:03:13 +02:00
Hadi d9691bdb61 update flakes
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-10-25 21:53:07 +02:00
Hadi 4d9d4f2abc kitty -> alacritty
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-10-16 21:18:02 +02:00
Hadi fd2e6137ac add utils
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-10-16 21:16:33 +02:00
Hadi 69c9c99ff3 init alacritty
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-10-16 21:16:28 +02:00
github-actions 3ed7e22446 Update KEYBINDINGS-HYPRLAND.md (auto) 2025-10-13 10:06:09 +00:00
Hadi 8910fca468 update
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-10-13 12:05:57 +02:00
Hadi 29aec4ca49 get back wofi for now
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-10-13 12:05:49 +02:00
Hadi cfa774af45 update eleakxir
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-10-02 17:28:06 +02:00
Hadi a90082c9ab new secret
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-29 14:09:34 +02:00
Hadi 33fee1a1d4 update
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-25 19:53:45 +02:00
Hadi 1b5c6892fd remove git ignore on eza
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-25 19:49:26 +02:00
Hadi 277cfaf772 update
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-24 19:12:48 +02:00
Hadi d7e8223351 change eleakxir configuration
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-24 19:12:35 +02:00
Hadi f89d0852fd QOL Nvf
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-24 19:08:29 +02:00
Hadi 704b14ddb3 remove Nextcloud shortcut
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-23 19:24:41 +02:00
Hadi f3b970909f change wallpaper
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-23 19:24:35 +02:00
Hadi da146a380c change notes dir
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-23 19:24:14 +02:00
Hadi 1668774dc1 eleakxir: init
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-16 13:38:40 +02:00
Hadi 12d7f1613b update secrets
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-16 13:38:28 +02:00
Hadi cb295ec299 Merge branch 'main' of github.com:anotherhadi/nixy 2025-09-13 23:08:25 +02:00
Hadi d81dbe3912 add nixpkgs-stable
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-13 23:08:10 +02:00
github-actions 49aefae1a9 Update KEYBINDINGS-HYPRLAND.md (auto) 2025-09-13 08:34:50 +00:00
Hadi 77cd9829f3 add back the bindings
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-13 10:34:29 +02:00
Hadi a1b0ad29c8 temp fix
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-12 15:49:10 +02:00
Hadi 11debdf507 update flakes
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-12 15:48:59 +02:00
Hadi b774b07c10 working state
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-12 15:27:41 +02:00
Hadi bc2c6e667f remove unused
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-12 14:49:27 +02:00
github-actions 64133bcc1a Update SCRIPTS.md (auto) 2025-09-12 12:44:19 +00:00
Hadi 7ab918dae2 remove unused
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-12 14:44:09 +02:00
github-actions 14b0229ba8 Update KEYBINDINGS-HYPRLAND.md (auto) 2025-09-12 12:36:27 +00:00
Hadi d76f1537a9 Merge branch 'main' of github.com:anotherhadi/nixy 2025-09-12 14:36:02 +02:00
Hadi 13b3ff9dde old unused wofi bindings
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-12 14:35:51 +02:00
github-actions f34c34b26f Update KEYBINDINGS-HYPRLAND.md (auto) 2025-09-12 12:35:04 +00:00
Hadi 6d3c6e3628 change bindings
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-12 14:34:51 +02:00
Hadi 3b41e08df8 update & remove old files
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-12 14:33:02 +02:00
Hadi 0f59b1a46d add todolist
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-11 17:25:55 +02:00
Hadi 4134593cb9 edit max volume
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-11 17:25:50 +02:00
Hadi 564737edb0 change to brave browser
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-09-11 17:25:41 +02:00
Hadi 5b7c100cac let's try with ripgrep
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-29 00:21:37 +02:00
Hadi 20d700ba61 change styling & font
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-29 00:13:13 +02:00
Hadi 664d7add82 remove old calendar
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-29 00:03:23 +02:00
Hadi a9ebb64bdf remove the number of notifications
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-28 23:52:43 +02:00
Hadi a3d41dd26c edit waybar & swaync config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-28 23:50:40 +02:00
Hadi bca5274f0a add vpn module
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-28 23:29:39 +02:00
github-actions 6bc4c9a024 Update KEYBINDINGS-HYPRLAND.md (auto) 2025-08-28 21:11:45 +00:00
Hadi 7cb64cdd29 change for waybar
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-28 23:11:34 +02:00
github-actions 52f40f1dbb Update SCRIPTS.md (auto) 2025-08-28 18:59:37 +00:00
Hadi 92aef4f62c add powermode-toggle
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-28 20:59:26 +02:00
Hadi 9252a652e8 Not using duckduckgo anymore
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-25 19:55:57 +02:00
Hadi 4a443e38d1 remove walker
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-25 19:52:54 +02:00
Hadi a4a7babd9c remove walker
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-25 19:52:05 +02:00
Hadi 501ef4b42b add bindings for proton's app
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-25 19:41:21 +02:00
Hadi c104f30980 change shortcuts
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-25 19:34:31 +02:00
Hadi 731b9908ae add apps and remove nextcloud
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-25 19:32:24 +02:00
Hadi 267e177b29 remove exec once of tailscale
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-25 19:32:13 +02:00
github-actions 48edffbd54 Update SCRIPTS.md (auto) 2025-08-25 17:31:18 +00:00
Hadi e462fa2247 Merge pull request #45 from Dylouwu/feat/qol 2025-08-25 19:31:10 +02:00
Purin 9506544bf2 removed useless options in wofi
Same as last commit, you probably did it on purpose to allow easier
modification later on.

Signed-off-by: Purin <118902463+Dylouwu@users.noreply.github.com>
2025-08-25 16:01:11 +02:00
Purin b8d4d07835 removed caffeine in tofi as Hypridle is not used anymore
This is another change that can be ignored as hypridle can be commented
out and used again in nixy (even though it's quite clunky)

Signed-off-by: Purin <118902463+Dylouwu@users.noreply.github.com>
2025-08-25 15:57:16 +02:00
Purin da0342e33b Fix not needed anymore and allows rounding on all apps
Signed-off-by: Purin <118902463+Dylouwu@users.noreply.github.com>
2025-08-25 15:55:22 +02:00
Purin afbafc9752 removed useless packages for screenshot
Signed-off-by: Purin <118902463+Dylouwu@users.noreply.github.com>
2025-08-25 15:53:27 +02:00
Purin cbd541355f Hyprlock tweak, removed useless options and added QoL tweaks
This can be seen as a subjective change and you can ignore it if it does
not fit into your idea of nixy.

Signed-off-by: Purin <118902463+Dylouwu@users.noreply.github.com>
2025-08-25 15:43:08 +02:00
Purin 8a84ab9f9a added overrideGpg to lazygit
This allows to remove the flickering/prompting from lazygit when
committing a signed commit.

Signed-off-by: Purin <118902463+Dylouwu@users.noreply.github.com>
2025-08-25 15:33:03 +02:00
Purin 55184184de added new options when right-clicking in Thunar
Open Terminal Here and Extract here options

Signed-off-by: Purin <118902463+Dylouwu@users.noreply.github.com>
2025-08-25 15:29:32 +02:00
Purin dc9147edb2 garbage collect cleans more stuff
You might want to remove the logging

Signed-off-by: Purin <118902463+Dylouwu@users.noreply.github.com>
2025-08-25 15:24:00 +02:00
Purin dc10bf31ba changed nixy from having an upgrade to a test option
This allows you to test the configuration without building it, where as
upgrade is useless with flakes (and can be confusing with update)

Signed-off-by: Purin <118902463+Dylouwu@users.noreply.github.com>
2025-08-25 15:12:35 +02:00
Purin 8c7f7d6475 removed allowUnfree redundancy
Signed-off-by: Purin <118902463+Dylouwu@users.noreply.github.com>
2025-08-25 15:02:47 +02:00
Hadi 51ae14e927 update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-23 17:18:43 +02:00
Hadi 437f2cc9a4 add vert.sh to the bookmarks
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-23 17:09:33 +02:00
Hadi 04846a3115 update flakes
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-09 20:03:43 +02:00
Hadi 6928cc67a3 Merge pull request #42 from romek-codes/systemd-extra-config-rfc-42 2025-08-09 19:38:53 +02:00
Hadi 2537136dd3 Merge branch 'main' of github.com:anotherhadi/nixy 2025-08-09 19:37:01 +02:00
Hadi 09a4b0c73b edit n4c alias
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-08-09 19:36:58 +02:00
Hadi 493604b935 Merge pull request #43 from romek-codes/fix-hyprpanel-layouts 2025-08-09 19:36:16 +02:00
romek 8eaab355a3 fix hyprpanel bar layout config 2025-08-08 23:34:38 +02:00
Romek c950e56e3c Update systemd extraConfig to rfc 42 2025-08-08 21:49:30 +02:00
Hadi 0ad27db2ac change the alias
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-29 15:20:01 +02:00
Hadi 78f0775755 change wallpaper
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-29 14:19:48 +02:00
Hadi b5bd461fb5 remove grave
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-29 14:19:44 +02:00
Hadi 267ffb1384 Merge branch 'main' of github.com:anotherhadi/nixy 2025-07-29 14:19:32 +02:00
Hadi b864cc849b update eleakxir
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-29 14:18:38 +02:00
Hadi 8dab0dd063 remove rmtrash
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-29 14:15:57 +02:00
Hadi 32a14a461f change leaks path
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-28 14:40:37 +02:00
Hadi 33e9f955ee mounting /mnt/data
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-28 14:40:33 +02:00
Hadi bb5befa151 add duckdb
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-28 14:36:38 +02:00
Hadi 885267c0eb add eleakxir
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-28 00:24:19 +02:00
Hadi cec4e34ae7 testing eleakxir prod
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-27 23:00:16 +02:00
Hadi 05a39ecf87 update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-24 18:00:14 +02:00
Hadi 16b0ca1e33 add utils and cache
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-24 17:59:57 +02:00
Hadi b5e21d4b35 init walker
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-24 17:59:48 +02:00
Hadi 3ce5491157 disable hypridle
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-24 17:59:35 +02:00
Hadi 178f09cebb put back the custom dirs
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-24 17:56:36 +02:00
Hadi d63a8a83fc Merge pull request #39 from MehdiBoustani/patch-1 2025-07-21 21:17:20 +02:00
Mehdi Boustani b0beefee03 feat (hyprpanel): generic directories configuration 2025-07-21 20:40:35 +02:00
Hadi 7493c4cf8b disable recyclarr for now
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-16 20:53:15 +02:00
Hadi 072bf09e16 remove hyprpanel overlay
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-16 20:32:27 +02:00
Hadi de39437dec todo
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-16 20:32:21 +02:00
Hadi 1ae7955b91 increase download buffer size
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-16 20:32:16 +02:00
Hadi 70ac5576cc add adguard pwd secret to glance
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-16 20:23:47 +02:00
github-actions ffa38127e5 Update KEYBINDINGS-HYPRLAND.md (auto) 2025-07-16 18:14:55 +00:00
Hadi c6e1bdbfee update laptop configuration
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-16 20:14:43 +02:00
Hadi 5000be6de6 update/format configuration for jack
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-16 19:51:05 +02:00
Hadi bb2993b125 update
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-16 19:25:32 +02:00
Hadi 8e37b228a0 change secrets
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-11 10:47:09 +02:00
Hadi 62ebaa83c7 edit ssh config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-07 10:31:53 +02:00
Hadi 6f5f4a65f3 Merge branch 'main' of github.com:anotherhadi/nixy 2025-07-07 10:31:34 +02:00
Hadi d9eb0483b6 fix typescript error with svelte
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-07 10:13:45 +02:00
github-actions 29b1c479f2 Update README.md (auto) 2025-07-04 16:52:13 +00:00
Hadi e6e9799c39 Fix github callout 2025-07-04 18:51:58 +02:00
github-actions badd7ed261 Update README.md (auto) 2025-07-04 16:49:29 +00:00
Hadi 47563cf9f5 Fix github callouts 2025-07-04 18:49:06 +02:00
Hadi 3422996f46 change theme
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>
2025-07-04 15:44:06 +02:00
Hadi 09dd8dc501 zen global config init
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 13d6150a4592ca4cd5e3f4950c838ae57523727c
2025-07-01 17:48:52 +02:00
Hadi cf461ddafc fix hyprpanel config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 8639b495d233014065227a3e6ea0ed564af4c592
2025-07-01 17:48:29 +02:00
Hadi 0bfcb20fda update flake & fix hyprpanel
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: eebaa0ffc17af2e314bba4c7161a9b76ffd03cd8
2025-07-01 17:36:22 +02:00
github-actions bb45ec9bdb Update README.md (auto)
Former-commit-id: 852502635cfccdd5c4b9f5c833a2c45984d5417c
2025-06-25 23:08:30 +00:00
Hadi e780728eb6 new catppuccin theme
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 677a048f271be5beceb8fe10634cad0365efa0cf
2025-06-26 01:08:11 +02:00
Hadi 49cbb8c9f3 format & add server-modules
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: ea0d931b6464252a90f71953bf774d574b15a2d0
2025-06-26 00:13:57 +02:00
Hadi cd09256f57 update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 50cb11ecbc469b79ae9f43f473debf44dd1ecb85
2025-06-24 10:00:43 +02:00
Hadi 6877bc909b change render-markdown to markview
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 8d21295f5cf94a17a7b4cb7cc67f9cf7cf38a223
2025-06-23 11:38:21 +02:00
Hadi df3048021c add plymouth
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 5e67a0bcd2c02d201cf8d074b5fc29aca2e41d0e
2025-06-21 14:28:12 +02:00
Hadi 3db1a36a09 edit nvf config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 74aee44e9e6fc9310cd989049989c529b74b1da8
2025-06-21 14:27:59 +02:00
Hadi 8528be9bc9 edit nvf config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 2899b84d8f0809ba14540adce1ebebb3eb225065
2025-06-19 16:06:29 +02:00
Hadi bfa46c2179 edit nvf config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 20350cacd5f393f214438f5b19753af53b56f305
2025-06-19 15:29:24 +02:00
Hadi b0014fd3b9 update nixarr conf
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 012e81f99509ff0756c85581292fc641c0528761
2025-06-19 15:10:03 +02:00
Hadi 0f2362a70d update secrets
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 09934db50d6cae2062d79577792fe980e8e2f3ff
2025-06-19 15:09:56 +02:00
Hadi 9ed830e38c update server
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 4a0a78fcd868e0be2a195f3bebdc82087ffd8e1e
2025-06-17 15:54:12 +02:00
Hadi 9640c9742b change lazygit shortcut
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: a106c7d6be97b9e0459db1c7681a7cb34285c8ee
2025-06-17 11:30:40 +02:00
Hadi 073af0cd2e from nixvim to nvf
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: d966eafd50f111f94ffe368ce685bfeb5e32c2f6
2025-06-17 11:28:12 +02:00
Hadi c61fa68af2 update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: ddb95461f8394dbae6559872816e879dfe46ae53
2025-06-17 11:27:47 +02:00
Hadi 70b280ebb5 from nixvim to nvf
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 0d6390b18f38bdba346a1f92799884d209159b33
2025-06-17 11:27:22 +02:00
Hadi ac6b12592a from tmux to kitty
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 049f6885e51fa8227f6cd7da2a4954387eb6f0d8
2025-06-17 11:27:06 +02:00
Hadi 125ce4647b add shortcut to create a new tab in kitty
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 57c170c9aad1db000706d3dfea9e60be8fc67c57
2025-06-05 15:29:21 +02:00
Hadi d5524a937f update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 7525f892db2971f189ab93a4e5ad6b586269688f
2025-06-05 15:29:09 +02:00
Hadi 3fefcce082 add kitty shortcuts
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: c2b90d76340429a0d6ffbaf070b28a30d2f6a2a2
2025-06-05 14:05:51 +02:00
Hadi 5deec5df11 remove this
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 41f98c18a1d177ee310acc3f3cb68d6897760aa8
2025-06-05 14:04:13 +02:00
Hadi 37fc4afccb move LD_LIBRARY_PATH
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 5a35789f8cc7009e3310d49b27381b84aca0a475
2025-06-05 13:46:20 +02:00
Hadi 6dbbaf0d4f Merge pull request #32 from Brisingr05/remove-legacy-system-alias
Former-commit-id: b4eb50568dfc5819daf849513cd52e30e501e7bf
2025-06-02 09:48:08 +02:00
Brisingr05 0652808dd9 Remove mentions of system in flake.nix
It's a legacy alias of `nixpkgs.hostPlatform`, which is already set in each host's `hardware-configuration.nix` files.

Source: https://github.com/NixOS/nixpkgs/blob/837ff226bbd44c29303611703a4085d48f0957c9/flake.nix#L61
Former-commit-id: fb5595cb37
2025-05-31 11:00:48 +05:30
Hadi dcc5d1e278 update flakes
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 23fe9da36b
2025-05-28 14:33:47 +02:00
Hadi 69877adff8 full collect garbage
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: d60e4530f5
2025-05-28 14:33:35 +02:00
Hadi 7960678330 change chatgpt func
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: b7598a36ee
2025-05-28 10:24:07 +02:00
Hadi f427e13f18 update
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 612a978e29
2025-05-28 10:23:48 +02:00
Hadi 0cc1cdc3db Merge branch 'main' of github.com:anotherhadi/nixy
Former-commit-id: 6cb71d92ac
2025-05-26 11:16:01 +02:00
Hadi c993fc178e add trash instead of rm & improve mkdir
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 736fa52b0f
2025-05-26 11:15:42 +02:00
github-actions de550aab5c Update KEYBINDINGS-HYPRLAND.md (auto)
Former-commit-id: d87830d57e
2025-05-23 13:21:30 +00:00
Hadi 0181d9bbef update
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: a0c510f906
2025-05-23 15:21:15 +02:00
Hadi 91521e1ac2 format
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 3f1eb01070
2025-05-23 15:11:34 +02:00
Hadi a98a8b7604 don't blink when charging
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 494de74831
2025-05-20 22:02:50 +02:00
Hadi 77982c0815 update flake
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 4eba6b9767
2025-05-16 14:01:34 +02:00
Hadi 9bfc3a3d6a Use the hyprpanel module (ty gemini)
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: a6df02573c
2025-05-13 11:24:25 +02:00
Hadi 0eb5656157 fix transmission
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 29fc2d6a1b
2025-05-12 14:21:17 +02:00
Hadi 09b1792e49 Merge branch 'main' of github.com:anotherhadi/nixy
Former-commit-id: a6eb2f375e
2025-05-12 13:27:39 +02:00
Hadi 79847b4aad edit secret
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: b6d1175e71
2025-05-12 13:27:36 +02:00
Hadi 41bcd1922c Merge branch 'main' of github.com:anotherhadi/nixy
Former-commit-id: a278d7b787
2025-05-12 11:15:05 +02:00
Hadi 741815b13d edit server config
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: e1c7055db2
2025-05-12 11:13:41 +02:00
Hadi 18cd56d9a8 remove sabnzbd
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: aa72726934
2025-05-12 10:53:37 +02:00
Hadi 65c30ae3cb update secrets
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 9bef5046b4
2025-05-12 09:52:10 +02:00
Hadi 6d15eeb8bc new wallpaper
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: e9f7e9a3d0
2025-05-11 18:51:44 +02:00
Hadi adf96aebb4 add config for xarchiver
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: ac3a48dc05
2025-05-11 00:33:41 +02:00
Hadi dcc838a51f change floaterm command
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: ab6fc98de6
2025-05-11 00:33:24 +02:00
Hadi 2eadc2dae6 add bookmarks
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: e9de49e3c7
2025-05-10 20:23:38 +02:00
Hadi d38ca993f5 add #changeme
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 8dabda6194
2025-05-07 16:10:04 +02:00
Hadi 0bab55a561 update flakes
Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com>

Former-commit-id: 70355c96ac
2025-05-07 15:42:38 +02:00
Hadi 93078c15e6 update lazygit config
Former-commit-id: 4bc6576d7c
2025-05-07 15:39:50 +02:00
Hadi 274550929f edit nix shell prompt
Former-commit-id: 53ff7a2a94
2025-05-07 15:25:07 +02:00
Hadi 6ef2d72a03 add astro lsp
Former-commit-id: 75f499a996
2025-05-07 15:24:48 +02:00
Hadi af24da07c3 add signing key to sops
Former-commit-id: 1a771e97ac
2025-05-06 11:27:32 +02:00
Hadi dc5c30f9b9 add signing
Former-commit-id: 6a4634bb04
2025-05-06 11:20:40 +02:00
Hadi 12a8ce472e Upgrade flakes
Former-commit-id: 685f104a67
2025-05-05 10:06:59 +02:00
Hadi 1ef60281d9 Merge branch 'main' of github.com:anotherhadi/nixy
Former-commit-id: 770569c1d9
2025-05-04 16:00:10 +02:00
Hadi 7dd723717a same-tab
Former-commit-id: 38b9bcec07
2025-05-04 16:00:08 +02:00
Hadi 200aeaf833 remove apps tmp
Former-commit-id: 5a3f4dcd49
2025-05-04 15:57:28 +02:00
Hadi 6b6e68b78e test colors
Former-commit-id: 6f9ca7e044
2025-05-04 15:53:03 +02:00
Hadi e31f9b26a9 update bookmarks
Former-commit-id: 5f7c914d1e
2025-05-04 15:46:51 +02:00
Hadi 1bc0a26a0a glance config update
Former-commit-id: 72690d7d0c
2025-05-04 15:38:42 +02:00
Hadi c3b52cba74 Merge branch 'main' of github.com:anotherhadi/nixy
Former-commit-id: 6353514e49
2025-05-04 15:34:48 +02:00
Hadi f6eb9a9f46 add bookmarks glance
Former-commit-id: 7939150e37
2025-05-04 15:34:28 +02:00
Hadi 52ed9413f8 update flakes
Former-commit-id: 1d286f7c47
2025-05-04 15:34:21 +02:00
Hadi de76e2ad68 update flakes
Former-commit-id: 66b78355f8
2025-05-02 16:54:57 +02:00
Hadi d38aff93c7 update wallpaper
Former-commit-id: a4e107eafc
2025-05-02 16:05:15 +02:00
Hadi a1b2df8b84 add xarchiver
Former-commit-id: 0d235c33f4
2025-04-30 12:58:10 +02:00
Hadi 1a2c1e6d9d remove auto-kill wofi
Former-commit-id: 42464199cc
2025-04-29 23:03:05 +02:00
Hadi 7b32c15623 update theme
Former-commit-id: afde9edaea
2025-04-26 18:27:34 +02:00
Hadi d04076e30e update flake
Former-commit-id: 8260e6f7fd
2025-04-26 18:27:20 +02:00
Hadi 75d90528a6 edit keyboard-backlight
Former-commit-id: 62ceddf5f8
2025-04-26 18:27:08 +02:00
Hadi 76b2eb55f2 remove slow cache
Former-commit-id: e0fbb91516
2025-04-24 19:57:31 +02:00
Hadi 588ea13f2f fix omen perms
Former-commit-id: b7bfd6eed8
2025-04-24 11:27:54 +02:00
Hadi 028307852e tmp buffer & fix notes
Former-commit-id: 6391904287
2025-04-24 10:17:55 +02:00
Hadi d771ba97c2 Merge branch 'main' of github.com:anotherhadi/nixy
Former-commit-id: a91dc2dc22
2025-04-22 13:53:09 +02:00
Hadi 7f8569a671 hardening nginx conf
Former-commit-id: 94b9738638
2025-04-22 13:48:02 +02:00
Hadi 2f4c67a0cf set keyboard backlight on boot
Former-commit-id: f01ec00483
2025-04-22 10:08:59 +02:00
Hadi 2cf0a3b7e5 init headscale-ui
Former-commit-id: aaf3532cde
2025-04-22 10:05:58 +02:00
Hadi 46ee1a8d73 init headscale
Former-commit-id: 05891cdd1d
2025-04-22 09:51:46 +02:00
Hadi 5c7d3431bd fix package panel
Former-commit-id: 6ce19fb663
2025-04-18 14:58:38 +02:00
Hadi 1720aae3b3 start services on hyprland exec
Former-commit-id: 4530d9063c
2025-04-18 14:34:54 +02:00
Hadi 73d09fd235 change mime
Former-commit-id: 04bf9cad16
2025-04-18 14:09:34 +02:00
Hadi 8c40743662 add apps
Former-commit-id: 9a4ddf29ac
2025-04-18 14:09:28 +02:00
Hadi e8535bc99a UWSM Hyprland
Former-commit-id: 5bfd891d39
2025-04-18 14:09:24 +02:00
Hadi c61817b21e change $BROWSER var
Former-commit-id: 4cb131cd97
2025-04-18 11:57:42 +02:00
Hadi ca4c787631 theme change
Former-commit-id: 3a51928e3f
2025-04-18 11:51:55 +02:00
Hadi 7d2d98cb59 zen desktop file change
Former-commit-id: 27b8f8dbe1
2025-04-18 11:51:33 +02:00
Hadi 403cf85504 remove curline on markdown
Former-commit-id: cc0898f848
2025-04-18 11:51:20 +02:00
Hadi 1d334c4d64 change my keyboard backlight depending on the battery lvl
Former-commit-id: 2cfc92bca1
2025-04-18 10:18:21 +02:00
Hadi 2e35441da7 Init hp-omen-linux-module to controle the keyboard backlight on omen laptop
Former-commit-id: d69b8c39e3
2025-04-18 10:18:05 +02:00
Hadi d294c68aa6 not working as expected
Former-commit-id: 59b8ade974
2025-04-18 09:12:22 +02:00
Hadi 939655e107 change backup browser
Former-commit-id: 6ea33fc39b
2025-04-17 09:37:35 +02:00
Hadi cb01305d5f update flakes
Former-commit-id: c2d25d0f7d
2025-04-17 09:32:46 +02:00
Hadi 007b39acd8 edit monitors configuration, now working with my dock!!
Former-commit-id: d76e83c09c
2025-04-16 19:45:38 +02:00
Hadi d075f6902e add Aerial (tags)
Former-commit-id: 44686a7b38
2025-04-16 19:45:24 +02:00
Hadi 1c153fb5f7 add reset search
Former-commit-id: 05b022f664
2025-04-16 19:45:17 +02:00
Hadi 027b2f1a99 add alias to force obsidian launch
Former-commit-id: c641bc645b
2025-04-15 18:39:37 +02:00
Hadi c3d63aece5 add portal from inputs
Former-commit-id: e442622024
2025-04-15 18:38:52 +02:00
Hadi 4967c75013 edit nvidia config
Former-commit-id: a30fa6288f
2025-04-15 18:38:42 +02:00
Hadi ec0b98a2fb remove getty config
Former-commit-id: 6a6e8acff4
2025-04-15 18:38:31 +02:00
Hadi 940e1ba35b edit function
Former-commit-id: 2e36e3da64
2025-04-15 17:57:16 +02:00
Hadi e53b21b061 anyrun flake
Former-commit-id: 8fcb27d514
2025-04-15 17:10:26 +02:00
Hadi 1ac5cb0321 add n4c alias
Former-commit-id: a77128b56d
2025-04-14 13:07:02 +02:00
Hadi 4959a35759 remove anyrun
Former-commit-id: f49afa5f5d
2025-04-14 09:50:17 +02:00
Hadi e6e74d18a9 update flake
Former-commit-id: f4829e758e
2025-04-14 09:49:40 +02:00
Hadi 2213c3357b add nixshell to zsh & starship
Former-commit-id: 7b04553470
2025-04-11 16:32:23 +02:00
Hadi 40c1319247 hide desktop navigation
Former-commit-id: 63e4cee9b0
2025-04-09 09:20:26 +02:00
Hadi e059a82de5 test
Former-commit-id: 366b3afc37
2025-04-08 15:19:59 +02:00
Hadi 160aeda5e0 edit colors
Former-commit-id: 17da2378d7
2025-04-08 15:03:12 +02:00
Hadi a8a239d64d update flake
Former-commit-id: 1d0c26f760
2025-04-05 22:20:11 +02:00
Hadi 341d4aa484 update flake
Former-commit-id: e0a837a434
2025-04-05 21:56:33 +02:00
Hadi 89edce89c0 edit glance dashboard
Former-commit-id: b4878ea48a
2025-04-05 20:49:58 +02:00
Hadi 7ee33bcbed update
Former-commit-id: f86839d03e
2025-04-05 14:22:12 +02:00
Hadi 38ea4789cc init anyrun config
Former-commit-id: 67bdbb09a3
2025-04-05 14:22:06 +02:00
Hadi 8bb7f1d31b update hyprpanel config
Former-commit-id: 36248551d9
2025-04-05 14:21:55 +02:00
Hadi 7c5f36b3d2 fix search-nix-api
Former-commit-id: 0398d077e5
2025-04-05 14:04:06 +02:00
Hadi 001a7f89bc Merge branch 'main' of github.com:anotherhadi/nixy
Former-commit-id: bc52572df5
2025-04-04 20:32:54 +02:00
Hadi ebcb53e7bb add nixos-search-api
Former-commit-id: b8955cc31a
2025-04-04 20:32:50 +02:00
Hadi 835641feea update
Former-commit-id: ee4508203b
2025-04-04 15:42:53 +02:00
Hadi 880e9c56f1 multiple conf edit
Former-commit-id: 40f5fbc6b1
2025-04-04 15:42:46 +02:00
Hadi 004ed1b728 add tailscale conf to use exit node
Former-commit-id: f1482b5c18
2025-04-04 15:42:39 +02:00
Hadi 69c44fd1ab add priority to cache.nixos.org
Former-commit-id: c364afa343
2025-04-04 15:42:20 +02:00
Hadi 97d6482b1c add clock
Former-commit-id: 286e47e3a9
2025-04-04 15:41:47 +02:00
Hadi 069681999f zen wan't this
Former-commit-id: 4be613c256
2025-04-04 15:41:19 +02:00
Hadi ae69dd7280 add window2rules (ty fufuxan)
Former-commit-id: 3c8a07b9c4
2025-04-04 15:41:00 +02:00
Hadi 9917d453bc edit kitty confi (Url, copy)
Former-commit-id: aa9ce824c4
2025-04-04 15:40:37 +02:00
Hadi 16edacecdc Merge branch 'main' of github.com:anotherhadi/nixy
Former-commit-id: 6ccbbc78f1
2025-04-03 17:40:05 +02:00
Hadi 8625bfe08b fix meali
Former-commit-id: cd395e5987
2025-04-03 17:40:01 +02:00
Hadi 8d83297d4e init nixos search api
Former-commit-id: 0770bedfdb
2025-04-03 17:39:42 +02:00
Hadi 35a2831bcc fix issue
Former-commit-id: c110983dcf
2025-04-01 20:43:03 +02:00
Hadi bebe244701 lsp edit config
Former-commit-id: ee38dd75dc
2025-04-01 20:42:58 +02:00
Hadi 2dda9d80bf lsp config
Former-commit-id: 10dffe8d92
2025-04-01 20:22:27 +02:00
Hadi 19d285973a new function for copying text to chatgpt
Former-commit-id: eb1f6b2e8b
2025-04-01 20:22:23 +02:00
Hadi e1e42c9fad fix temp bug
Former-commit-id: 757224a73f
2025-04-01 11:25:47 +02:00
Hadi 9191c95265 remove copilot temp
Former-commit-id: 09698790b9
2025-03-31 20:23:40 +02:00
Hadi c23988dbd8 add 'git add .'
Former-commit-id: 8dc339f0cc
2025-03-31 13:46:44 +02:00
Hadi 6cf43f5f04 add air
Former-commit-id: 21d9ddd0fc
2025-03-31 13:46:39 +02:00
Hadi 74b64b98b1 edit theme
Former-commit-id: f97a9f397c
2025-03-31 13:19:15 +02:00
Hadi f1ba5fa41f add jpeg optimisation bin
Former-commit-id: 684c11ecda
2025-03-31 13:18:56 +02:00
Hadi 2caa1ab9f6 remove cursor highlighter
Former-commit-id: 87eedfc74a
2025-03-31 13:18:41 +02:00
Hadi afc37d664d edit config
Former-commit-id: 67d14dbb44
2025-03-27 15:40:04 +01:00
Hadi 36d0f439dc hyprspace config update
Former-commit-id: 676eed1fdf
2025-03-27 15:39:33 +01:00
Hadi 36070cc91a remove batsignal
Former-commit-id: 2d76df1b85
2025-03-27 15:39:26 +01:00
Hadi da66a509a8 nixy script update
Former-commit-id: 4fd31d6de8
2025-03-27 15:39:21 +01:00
Hadi f894f27326 zen config update
Former-commit-id: d6d7bb9b9b
2025-03-27 15:39:14 +01:00
Hadi 449e887f32 thunar new icons
Former-commit-id: dd311b1292
2025-03-27 15:39:10 +01:00
Hadi 053f18a513 zsh config update
Former-commit-id: ffa3817383
2025-03-27 15:39:06 +01:00
Hadi 19073bc724 edit git rebase
Former-commit-id: c96034e3ad
2025-03-27 14:59:54 +01:00
Hadi d84e40a207 Merge branch 'main' of github.com:anotherhadi/nixy
Former-commit-id: d827e751ab
2025-03-27 14:59:46 +01:00
Hadi 05a0fef0b2 add awesome wallpapers
Former-commit-id: 3fbc9691b5
2025-03-27 14:57:19 +01:00
github-actions f9feaac752 Update README.md (auto)
Former-commit-id: b9819c5c4d
2025-03-27 12:21:05 +00:00
Hadi 47c47eb961 change wallpapers repo
Former-commit-id: 5d0625de2a
2025-03-27 13:20:37 +01:00
github-actions 194348085a Update SCRIPTS.md (auto)
Former-commit-id: 59830dc9ff
2025-03-26 18:45:15 +00:00
Hadi eb8e102ff6 Edit pickers
Former-commit-id: 088d50c9b3
2025-03-26 17:24:34 +01:00
Hadi fad1e7ac5b Change notification opacity
Former-commit-id: f07a41a7d1
2025-03-26 17:01:59 +01:00
Hadi 623b64d230 Change theme
Former-commit-id: 3f1421b491
2025-03-26 17:00:25 +01:00
Hadi fb27b3101b Send exit code of the command
Former-commit-id: 6994b95d78
2025-03-26 16:59:51 +01:00
Hadi 7288a39da1 Sleep if failed
Former-commit-id: 3c4c639552
2025-03-26 16:59:41 +01:00
Hadi c0e00c562e improve documentation
Former-commit-id: 0409a4db26
2025-03-26 16:01:34 +01:00
github-actions 4cf9c386bd Update README.md (auto)
Former-commit-id: 29bebce5cd
2025-03-26 14:39:13 +00:00
Hadi e0d96ef5cb Init text color on wallpaper
Former-commit-id: c0dfbe8249
2025-03-26 15:38:53 +01:00
Hadi b4e2509a1d edit readme
Former-commit-id: 0f27406bb4
2025-03-26 10:57:37 +01:00
Hadi 06ac6221f2 fix copilot on markdown files
Former-commit-id: 2ac4321f7b
2025-03-26 10:30:04 +01:00
Hadi 450b88406c Edit hardware conf
Former-commit-id: b6bd84fc3b
2025-03-25 13:32:50 +01:00
Hadi eb0e338ea5 no password for rebuild
Former-commit-id: f31c271d7b
2025-03-24 15:58:45 +01:00
Hadi a2fc942aa0 floaterm init: Quick nixy inside nvim
Former-commit-id: 5d3399ebc3
2025-03-24 15:13:58 +01:00
Hadi daaf3a8432 remove border on fzf
Former-commit-id: 96fb0bd8f0
2025-03-24 15:13:38 +01:00
Hadi 60c1a729fa change the inactive border
Former-commit-id: 58a9056c90
2025-03-24 15:13:32 +01:00
Hadi a457cbe633 let's try the one from hyprpanel
Former-commit-id: bb9a6b743c
2025-03-24 14:07:04 +01:00
Hadi ae988b5f93 change notifications theme
Former-commit-id: a26542e0ba
2025-03-24 14:06:55 +01:00
Hadi 829debe331 run tailscale without password
Former-commit-id: d495ce1d57
2025-03-24 13:18:55 +01:00
Hadi a3a7e515ce add what's next
Former-commit-id: c52657df22
2025-03-24 13:18:32 +01:00
Hadi 15d7a32642 default virtualHost
Former-commit-id: edeedda316
2025-03-24 13:15:37 +01:00
Hadi 2e3ff65b70 add mealie to glance
Former-commit-id: f14fa50742
2025-03-24 13:15:30 +01:00
Hadi fffd17a39c mealie init
Former-commit-id: bb02792bf4
2025-03-24 13:15:10 +01:00
Hadi 2e01f54d0e edit secrets
Former-commit-id: 2493fb0dfe
2025-03-24 13:15:02 +01:00
Hadi d49e7d41f4 good one
Former-commit-id: 9ba8a67c69
2025-03-24 10:17:51 +01:00
Hadi 3599deb6aa new secret
Former-commit-id: e3c711da58
2025-03-24 10:13:55 +01:00
Hadi 0c84342ac5 edit description
Former-commit-id: e0ddc9786e
2025-03-22 17:55:12 +01:00
Hadi 3212f23387 change font
Former-commit-id: f75dfd8456
2025-03-22 17:47:03 +01:00
Hadi 93b2a398ba update mimeapps
Former-commit-id: 8c43e65000
2025-03-22 17:46:47 +01:00
Hadi f3d888a5b3 Thunar bookmarks
Former-commit-id: e6244ea98d
2025-03-22 17:25:17 +01:00
Hadi 6515d0774d change nixvim config
Former-commit-id: 30009bcafb
2025-03-22 13:21:33 +01:00
Hadi 0687baf62d change zen browser flake
Former-commit-id: 1bd70e403f
2025-03-22 13:21:20 +01:00
Hadi 74072c04fc add trusted nix caches
Former-commit-id: d438abe210
2025-03-22 13:20:42 +01:00
Hadi d0fbd422df Spotify theme update
Former-commit-id: f54e69719b
2025-03-21 21:40:35 +01:00
github-actions 00b7e0f34b Update README.md (auto)
Former-commit-id: 12cf7e7592
2025-03-21 20:18:45 +00:00
Hadi 23173b891e update documentation
Former-commit-id: 82d8d6e1a7
2025-03-21 21:18:25 +01:00
github-actions 8652824561 Update README.md (auto)
Former-commit-id: a9d9f24228
2025-03-21 20:01:56 +00:00
Hadi ae65eb0e57 update documentation
Former-commit-id: 9c7ca1adcb
2025-03-21 21:01:38 +01:00
Hadi efe9046596 old todolist
Former-commit-id: 07d1fb6c49
2025-03-21 21:00:26 +01:00
Hadi 2bf71ce9a0 add resources dashboard
Former-commit-id: 12912aec57
2025-03-21 14:56:06 +01:00
Hadi 4df69215be Nixvim config update: +Snacks, -telescope
Former-commit-id: 9cc35a7039
2025-03-21 14:55:38 +01:00
Hadi deaa8757e7 change wofi size
Former-commit-id: ea3b343523
2025-03-21 14:55:08 +01:00
Hadi 66fe33f6ea change theme
Former-commit-id: 97ee9b6033
2025-03-21 14:55:00 +01:00
Hadi 6c4104a9e6 edit secrets
Former-commit-id: 0e057dd54d
2025-03-20 17:50:53 +01:00
Hadi 5cb1dd90bc edit secrets
Former-commit-id: 0d96b89c7e
2025-03-20 15:15:29 +01:00
Hadi ce3841586e secrets edit
Former-commit-id: 42bb5612ab
2025-03-20 15:05:43 +01:00
Hadi 21b94c6764 secrets edit
Former-commit-id: 2519a9ec70
2025-03-20 14:47:44 +01:00
Hadi 40745601ed Merge branch 'main' of github.com:anotherhadi/nixy
Former-commit-id: dfd985f3c0
2025-03-20 14:16:13 +01:00
Hadi 04d3544450 update
Former-commit-id: 00b406b56a
2025-03-20 14:15:56 +01:00
Hadi b92753c020 arr
Former-commit-id: a4874d18d2
2025-03-19 22:53:29 +01:00
Hadi 42dea7172e add recyclarr
Former-commit-id: 9a2f22a571
2025-03-19 22:07:56 +01:00
Hadi a03866aab6 y
Former-commit-id: 9863bdbdd0
2025-03-19 22:05:17 +01:00
Hadi ba6a13dd27 add wg conf
Former-commit-id: 82c51c85d9
2025-03-19 21:57:09 +01:00
Hadi ef49fff185 init hoarder
Former-commit-id: 1f4205a1d1
2025-03-19 19:41:41 +01:00
Hadi 7b86425acf add secret for hoarder
Former-commit-id: d2b3819779
2025-03-19 19:27:22 +01:00
Hadi d222d38d23 update modules
Former-commit-id: ae06546eb7
2025-03-19 19:25:37 +01:00
Hadi 78ebef4cc4 woops
Former-commit-id: 78245dc92b
2025-03-19 18:25:38 +01:00
Hadi 440fd90460 add adguard
Former-commit-id: 2db05d7d2e
2025-03-19 18:18:34 +01:00
Hadi 0ba2f306d5 test
Former-commit-id: 5c70995da5
2025-03-19 18:17:04 +01:00
Hadi 6952508638 adguard + glance
Former-commit-id: bb0f6279fd
2025-03-19 18:15:42 +01:00
Hadi 701afe0b97 updates
Former-commit-id: d2d113fab5
2025-03-19 15:46:23 +01:00
Hadi 71c269bc7c add nextcloud root password
Former-commit-id: 36ecdde469
2025-03-19 15:05:01 +01:00
Hadi 7af9f66b5c add dns challenge token
Former-commit-id: b150bbef08
2025-03-19 14:09:35 +01:00
Hadi c4657c96ef ui
Former-commit-id: 7db62269d4
2025-03-19 14:00:09 +01:00
Hadi e7e50ffdd7 add modules
Former-commit-id: d199f35824
2025-03-19 13:55:03 +01:00
Hadi ccd495a7df edit secrets
Former-commit-id: bfbb4b54c3
2025-03-19 10:20:51 +01:00
Hadi 1cdeb2dfb6 testing
Former-commit-id: 8242da9bcb
2025-03-19 10:11:56 +01:00
Hadi 1794861962 add secrets to configuration
Former-commit-id: 4f415df0ce
2025-03-19 09:52:39 +01:00
Hadi da4557f6e9 change secrets
Former-commit-id: 9bf66b26cf
2025-03-19 09:51:46 +01:00
Hadi b6cdb6e520 add hostname
Former-commit-id: 151a4ee7a0
2025-03-19 09:35:06 +01:00
Hadi b84fe4c60b add hardware-config
Former-commit-id: cd5c015c7a
2025-03-19 09:27:46 +01:00
Hadi 220a69f276 add tailscale
Former-commit-id: 40de9b5f5b
2025-03-18 23:45:39 +01:00
Hadi 83b8a846b4 update
Former-commit-id: dbcc0a096a
2025-03-18 23:36:54 +01:00
Hadi 54fe95f5e2 add jack flake
Former-commit-id: bb2cc5adf6
2025-03-18 23:11:20 +01:00
Hadi e59e059fc7 init server modules
Former-commit-id: 98cf8e99b0
2025-03-18 23:09:42 +01:00
Hadi 907133d300 flake update
Former-commit-id: 05c46a39c0
2025-03-18 22:23:55 +01:00
Hadi e8c3a26dbb change blur size
Former-commit-id: 58654d5cbd
2025-03-18 21:53:35 +01:00
Hadi a3b0c62904 change theme
Former-commit-id: 4df9852b7e
2025-03-18 21:53:01 +01:00
Hadi c414653c75 add env var
Former-commit-id: 9fe06a0cfb
2025-03-18 21:52:43 +01:00
Hadi dd782f6ac5 grub theme
Former-commit-id: 73bca2fbfb
2025-03-18 21:52:39 +01:00
Hadi a83a9a2c42 go back to systemd-boot
Former-commit-id: 5a8bdffc2a
2025-03-18 21:52:32 +01:00
Hadi 4b41e5a98a I'm trying things
Former-commit-id: f24415e320
2025-03-18 21:52:12 +01:00
Hadi 25bd6cdc93 add render-markdown to cmp
Former-commit-id: 7c54507f0f
2025-03-18 21:52:03 +01:00
Hadi ae9e720b0e switch to grub
Former-commit-id: 57fa8d152a
2025-03-13 17:03:05 +01:00
Hadi 370af13a74 add grub config
Former-commit-id: 2183824c34
2025-03-13 17:02:58 +01:00
Hadi 1680642b50 attempt to hide tty getty login
Former-commit-id: 545c66ebc3
2025-03-13 13:52:54 +01:00
Hadi 20a7ffc7f5 darker color for hyprlock
Former-commit-id: 967879b3f4
2025-03-13 13:39:33 +01:00
Hadi 28640f6fc4 change background image
Former-commit-id: 1da1d91787
2025-03-13 13:05:46 +01:00
Hadi d775962afe change to sddm
Former-commit-id: c89304c621
2025-03-13 13:05:40 +01:00
Hadi f66c06a489 handled by stylix now
Former-commit-id: 93ce3e73c0
2025-03-13 13:05:26 +01:00
Hadi 5154b31385 change colors
Former-commit-id: 3ed69ab1a5
2025-03-11 13:42:00 +01:00
Hadi b0a379642d hyprland config update
Former-commit-id: 0d442f1702
2025-03-11 09:48:33 +01:00
Hadi fb97929c36 remove protonmail desktop
Former-commit-id: aa95347035
2025-03-11 09:48:21 +01:00
Hadi 20242295ce add reverseSync cap
Former-commit-id: 3ec054d661
2025-03-11 09:48:14 +01:00
Hadi ab4d67768c update flakes
Former-commit-id: 92ae9a2f41
2025-03-11 09:46:32 +01:00
Hadi 2df04620c3 remove old gtk theme
Former-commit-id: 483d0efa60
2025-03-06 09:49:20 +01:00
Hadi 8a2d188e49 add avatar to panel
Former-commit-id: 9f3fd551b9
2025-03-05 16:57:56 +01:00
Hadi 04ca1a3fba add env var & cache
Former-commit-id: 1675e96793
2025-03-05 16:52:40 +01:00
Hadi 8d23a0e6e2 hardwareclock confi
Former-commit-id: 2146ce8360
2025-03-05 14:19:00 +01:00
Hadi f10d4ea424 add close wofi when loose focus
Former-commit-id: 87c6166bf7
2025-03-05 13:28:01 +01:00
Hadi 86ce837ff4 change hardware-configuration
Former-commit-id: 2ec4583391
2025-03-05 11:53:51 +01:00
Hadi 27c5cc520c remove the hyprspace shortcut
Former-commit-id: 093a6397b9
2025-03-04 21:42:49 +01:00
Hadi b1a6ea69c2 change theme name
Former-commit-id: ed4d27a4ac
2025-03-04 21:32:46 +01:00
Hadi 04822e03c4 add todo-comments
Former-commit-id: ff97615cae
2025-03-04 21:32:39 +01:00
Hadi caea92ecc2 disable lsp notifications
Former-commit-id: f3aaa759ce
2025-03-04 21:32:33 +01:00
github-actions fe5ef8a25d Update README.md (auto)
Former-commit-id: 615596085a
2025-03-04 19:58:56 +00:00
Hadi abcb9dfc82 doc update
Former-commit-id: 936e8b0ffd
2025-03-04 20:58:35 +01:00
Hadi fe982f8a12 flake update
Former-commit-id: b90821adff
2025-03-04 20:58:29 +01:00
Hadi b0ab5932e4 refactor variables & theme
Former-commit-id: 276756d998
2025-03-04 20:58:20 +01:00
Hadi de25b920e3 remove tofi
Former-commit-id: c9aada8203
2025-03-04 20:57:58 +01:00
Hadi 4f7853994b hyprpolkitagent from flake to pkgs
Former-commit-id: b1eb468327
2025-03-04 20:57:53 +01:00
Hadi 8ff0c3d558 remove superfile
Former-commit-id: 9bec8574e6
2025-03-04 20:57:42 +01:00
Hadi 4164eccfec remove nvf
Former-commit-id: 5851e00adf
2025-03-04 20:57:37 +01:00
Hadi e0d3ec0bd7 add nixcord
Former-commit-id: 41dacd47a5
2025-03-04 20:57:33 +01:00
Hadi 718f399f7b add superfile input
Former-commit-id: f86fd5bf02
2025-03-04 14:37:41 +01:00
Hadi 10f68e4d86 change yoru theme
Former-commit-id: b8ef571b50
2025-03-02 15:04:16 +01:00
Hadi 7f7f418011 disable mini.animate (bug with scroll wheel)
Former-commit-id: e6dfa4bd52
2025-03-02 13:04:51 +01:00
Hadi cd1ca57dda Nvim config update
Former-commit-id: b801f55276
2025-03-01 02:58:48 +01:00
Hadi 57d1813fae add nvf
Former-commit-id: be161771f4
2025-03-01 02:28:21 +01:00
Hadi b776945818 update todo
Former-commit-id: 631525c978
2025-03-01 02:27:31 +01:00
Hadi 4127bb79a1 update flake
Former-commit-id: a7f8c6cd84
2025-03-01 02:27:10 +01:00
Hadi 3e535ee5e5 init nvf
Former-commit-id: 027b2dcd24
2025-03-01 02:27:02 +01:00
Hadi f3cf06ed29 edit theme
Former-commit-id: 7ffef6d2cf
2025-03-01 02:25:51 +01:00
Hadi 8656e31386 edit xdg portals
Former-commit-id: 14d8e50100
2025-02-23 11:48:03 +01:00
Hadi 02bc033990 add hyprland qutils
Former-commit-id: 8026cb5e88
2025-02-23 11:47:56 +01:00
Hadi fb531ab960 edit hyprland conf
Former-commit-id: e9af1dac68
2025-02-23 11:47:46 +01:00
Hadi e50b3878af add cursor trail animations
Former-commit-id: 4b32eaa91e
2025-02-23 11:47:31 +01:00
Hadi 4e902409c9 update flake
Former-commit-id: 61d4f0c4bf
2025-02-21 20:14:36 +01:00
Hadi 5f60916809 change wallpaper
Former-commit-id: 226752d763
2025-02-21 20:12:56 +01:00
Hadi ec1a6e9379 edit
Former-commit-id: d616d5e4fe
2025-02-21 16:29:25 +01:00
Hadi e8a395d91e change blur, opacity & background
Former-commit-id: bd8a936a1d
2025-02-21 16:25:04 +01:00
Hadi 23890441d0 change the way workflow works
Former-commit-id: de125e21a7
2025-02-21 15:55:13 +01:00
Hadi 8db9c15ed0 change to kofi
Former-commit-id: 58bae6e2c0
2025-02-21 15:54:02 +01:00
Hadi e2e886736d change process name
Former-commit-id: 074dc5864b
2025-02-21 15:49:49 +01:00
Hadi e0d5782f70 woops mb
Former-commit-id: 9312ef84a2
2025-02-21 15:49:17 +01:00
Hadi f87695868d only show cava when media is playing
Former-commit-id: a4bd708f24
2025-02-21 15:44:04 +01:00
Hadi dd3793626c add cava to hyprpanel
Former-commit-id: 3383fe5af7
2025-02-21 15:42:50 +01:00
Hadi 6aa2343dcb special workspace for ProtonMail
Former-commit-id: d64e096e8c
2025-02-21 15:29:03 +01:00
Hadi 5c1006553f Fix alpha-nvim keybindings
Former-commit-id: 4eb6d59909
2025-02-21 14:07:44 +01:00
Hadi 2647164965 Create FUNDING.yml
Former-commit-id: 56b4a77d1f
2025-02-19 18:01:04 +01:00
Hadi 5df93a8a8d Planify in fullscreen by default
Former-commit-id: e63b86345b
2025-02-19 17:56:38 +01:00
github-actions 102155c842 Update KEYBINDINGS-HYPRLAND.md (auto)
Former-commit-id: 0f6f40ab23
2025-02-19 16:47:15 +00:00
Hadi 7dd04294cc Add key binding for Planify
Former-commit-id: b5147a52ba
2025-02-19 17:46:56 +01:00
Hadi bc55ca65f5 open planify in special workspace
Former-commit-id: ef189b3b62
2025-02-19 16:54:55 +01:00
Hadi 6b29159a1c update flake
Former-commit-id: 813dca5d40
2025-02-19 14:55:11 +01:00
Hadi 16c41a45ac increase opacity for inactive windows
Former-commit-id: bac6ec2f82
2025-02-19 14:55:08 +01:00
Hadi ec6dae1253 Make no sense in offload mode ?
Former-commit-id: a0ffe24e7d
2025-02-19 14:54:55 +01:00
Hadi 508b181fc3 let's try proton mail desktop
Former-commit-id: 052fd7cada
2025-02-19 14:54:41 +01:00
Hadi 7cfd6ad6bd screenshot now save & copy
Former-commit-id: 0eca13a163
2025-02-19 10:44:18 +01:00
Hadi ec3d43f089 cleaner solution
Former-commit-id: a91c0e37c0
2025-02-19 10:44:05 +01:00
Hadi 6d774a66ea disable the hyprpanel shadow
Former-commit-id: 480e2bf2da
2025-02-19 10:43:53 +01:00
Hadi 90711e164b reenable hyprspace & static workspace for some apps
Former-commit-id: fa3d207375
2025-02-19 10:43:40 +01:00
Hadi b90bbf0e78 batsignal now locks on very low battery
Former-commit-id: 3b200caed9
2025-02-19 10:43:08 +01:00
Hadi aad6f7605e wallpaper change for yoru theme
Former-commit-id: 19a48aee14
2025-02-19 10:42:58 +01:00
Hadi 544ee3e4ed update todo
Former-commit-id: d56f39275c
2025-02-18 23:40:07 +01:00
213 changed files with 8876 additions and 6647 deletions
+1
View File
@@ -0,0 +1 @@
use flake
+15
View File
@@ -0,0 +1,15 @@
# These are supported funding model platforms
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: anotherhadi
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
polar: # Replace with a single Polar username
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
thanks_dev: # Replace with a single thanks.dev username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
-110
View File
@@ -1,110 +0,0 @@
<div align="center">
<img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/.github/assets/logo.png" width="120px" />
</div>
<br>
# Nixy
<br>
<div align="center">
<a href="https://github.com/anotherhadi/nixy/stargazers">
<img src="https://img.shields.io/github/stars/anotherhadi/nixy?color={primarycolor}&labelColor={backgroundcolor}&style=for-the-badge&logo=starship&logoColor={primarycolor}">
</a>
<a href="https://github.com/anotherhadi/nixy/">
<img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color={primarycolor}&labelColor={backgroundcolor}&style=for-the-badge&logo=github&logoColor={primarycolor}">
</a>
<a href="https://nixos.org">
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor={backgroundcolor}&logo=NixOS&logoColor={primarycolor}&color={primarycolor}">
</a>
<a href="https://github.com/anotherhadi/nixy/blob/main/LICENSE">
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&colorA={backgroundcolor}&colorB={primarycolor}&logo=unlicense&logoColor={primarycolor}"/>
</a>
</div>
<br>
**Nixy** is a **Hyprland** NixOS configuration with **home-manager**, **secrets**, and **custom theming** all in one place.
It's a simple way to manage your system configuration and dotfiles.
I'm Hadi, a french developer, student in infosec, enthusiastic about nix, golang & blockchains.
This is my own, **keyboard-centric**, and **minimalistic** NixOS configuration.
I enable vim-like keybindings everywhere I can, and I use a lot of custom scripts to make my life easier.
**Nixy key points:**
- Hypr-ecosystem first (hyprland, hyprlock, hyprpanel, hypridle, ...)
- Stylix/base16 themes
- Vim-like keybindings everywhere (hyprland, qutebrowser, nvim, ...)
## Table of Content
{md_table_of_content}
## Gallery
![Nixy helper, peaclock](.github/assets/nixy/1.png)
![Qutebrowser, pipes, shell](.github/assets/nixy/2.png)
![nvim, lazygit](.github/assets/nixy/3.png)
![spotify, cava](.github/assets/nixy/4.png)
## Architecture
### 🏠 home
Those are the dotfiles and configuration files for user-level configuration
**Subfolders:**
- `programs` is a collection of apps configured with home-manager
- `scripts` is a folder full of bash scripts (see [SCRIPTS.md](docs/SCRIPTS.md))
- `system` is some "desktop environment" configuration
### 🐧 nixos
Those are the system-level configurations. (audio, bluetooth, gpu, bootloader, ...)
### 🎨 themes
Those are the themes used in the system configuration. The `stylix` folder contains the [stylix](https://github.com/danth/stylix) defined themes, the `var` folder contains the variables not handled by stylix.
See avaiable themes in [THEMES.md](docs/THEMES.md)
### 💻 hosts
Those are the host-specific configurations.
Each host contains a `configuration.nix` for system-level configuration, a `home.nix` for user-level configuration, and a `variables.nix` for config wide variables.
## Installation
1. Clone the repo
```sh
git clone https://github.com/anotherhadi/nixy ~/.config/nixos
```
2. Copy the `hosts/laptop` folder, rename it to your system name, and change the variables inside the `variables.nix` file
3. Add your `hardware-configuration.nix` to your new host's folder
4. Add your 'nixosConfigurations' inside `flake.nix`
> [!Important]
> I added few `# CHANGEME` comments in the files to help you find what to change. Be sure to check them up.
> You can use `rg "CHANGEME"` to find them all with ripgrep.
> [!TIP]
> When you add new files, don't forget to run `git add .` to add them to the git repository
5. Build the system
```sh
sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname
```
## Documentation
- [THEMES](docs/THEMES.md): How themes work and how to create your own
- [SCRIPTS](docs/SCRIPTS.md): Scripts that are available
- [KEYBINDINGS-HYPRLAND](docs/KEYBINDINGS-HYPRLAND.md): Keybindings available in Hyprland
- [WALLPAPERS](https://github.com/anotherhadi/nixy-wallpapers): A collection of wallpapers for Nixy.
- [TODO](docs/TODO.md): What's next (feel free to contribute)
- [CONTRIBUTING](docs/CONTRIBUTING.md): How to contribute
- [LICENSE](LICENSE): MIT License
Binary file not shown.

After

Width:  |  Height:  |  Size: 412 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

-20
View File
@@ -1,20 +0,0 @@
#!/usr/bin/env bash
# Create the README.md file from the .github/assets/README_template.md file
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
README_FILE="./README.md"
table_of_content=$(markdown-table-of-contents --start-by 2 ./.github/assets/README_template.md) # https://github.com/anotherhadi/markdown-table-of-contents
readme_content=$(cat "./.github/assets/README_template.md")
# Replace variables
readme_content=${readme_content//\{primarycolor\}/A594FD}
readme_content=${readme_content//\{backgroundcolor\}/0b0b0b}
readme_content=${readme_content//\{md_table_of_content\}/$table_of_content}
echo "[//]: # (This file is autogenerated)" >"$README_FILE"
echo "$readme_content" >>"$README_FILE"
sed 's/\r//' "$README_FILE" >"/tmp/readme.md"
mv "/tmp/readme.md" "$README_FILE"
-26
View File
@@ -1,26 +0,0 @@
#!/usr/bin/env bash
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
DOCS_FILE="./docs/SCRIPTS.md"
SCRIPTS_FOLDER="./home/scripts"
# search for every directory in the scripts folder:
# The docs for each scripts are in the beginning of the file prefixed by "#-" or "# -" for the title
# Inside the folders, the scripts are stored in default.nix files
echo "[//]: # (This file is autogenerated)" >"$DOCS_FILE"
echo "# Scripts" >>"$DOCS_FILE"
echo "" >>"$DOCS_FILE"
echo "Scripts are located in the 'home/scripts' folder. Home-manager add those in the user's path." >>"$DOCS_FILE"
echo "" >>"$DOCS_FILE"
for folder in "$SCRIPTS_FOLDER"/*; do
script="$folder/default.nix"
[[ -f "$script" ]] || continue
content=$(cat "$script")
content=$(echo "$content" | grep -E "^#-|^# -" | sed 's/^#- //;s/^# - //;s/#-//')
echo "$content" >>"$DOCS_FILE"
echo "" >>"$DOCS_FILE"
done
+36
View File
@@ -0,0 +1,36 @@
#!/usr/bin/env python3
import re
import subprocess
import sys
from pathlib import Path
PATTERN = re.compile(r"<!-- exec: (.+?) -->.*?<!-- endexec -->", re.DOTALL)
def replace(match):
cmd = match.group(1).strip()
result = subprocess.run(cmd, shell=True, capture_output=True, text=True)
output = result.stdout
if result.returncode != 0:
print(
f"[inject-exec] command failed ({result.returncode}): {cmd}",
file=sys.stderr,
)
print(result.stderr, file=sys.stderr)
sys.exit(1)
output = re.sub(r"<!-- exec: .+? -->\n?|<!-- endexec -->\n?", "", output)
if output and not output.endswith("\n"):
output += "\n"
return f"<!-- exec: {cmd} -->\n{output}<!-- endexec -->"
def process(path):
content = Path(path).read_text()
new_content = PATTERN.sub(replace, content)
if new_content != content:
Path(path).write_text(new_content)
print(f"[inject-exec] updated {path}")
for p in sys.argv[1:]:
process(p)
@@ -1,60 +0,0 @@
#!/usr/bin/env bash
# A script to parse the Hyprland configuration to store keybindings in a table
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
KEYBINDINGS_FILE="./docs/KEYBINDINGS-HYPRLAND.md"
function getList() {
content=$1
name=$2
list_start=$(echo "$content" | sed "/$name = \[/!d;=;Q")
list=$(echo "$content" | tail +"$list_start")
list_end=$(echo "$list" | sed '/\]/!d;=;Q')
list=$(echo "$list" | head -n"$list_end")
echo "$list"
}
[[ -f "./home/system/hyprland/bindings.nix" ]] || (echo "File ./home/system/hyprland/bindings.nix not found" && exit 1)
config=$(cat "./home/system/hyprland/bindings.nix")
# Bind
bind=$(getList "$config" "bind")
# Bindm (mouse)
bindm=$(getList "$config" "bindm")
# Bindl (lock)
bindl=$(getList "$config" "bindl")
# Bindle (lock, repetition)
bindle=$(getList "$config" "bindle")
# Join the lists:
keybindings=$(echo -e "$bind\n$bindm\n$bindl\n$bindle" | grep '"')
echo "[//]: # (This file is autogenerated)" >"$KEYBINDINGS_FILE"
echo "# Keybindings for Hyprland" >>"$KEYBINDINGS_FILE"
echo "" >>"$KEYBINDINGS_FILE"
echo "> [!NOTE]" >>"$KEYBINDINGS_FILE"
echo "> SUPER is the windows key by default" >>"$KEYBINDINGS_FILE"
echo "" >>"$KEYBINDINGS_FILE"
echo "| Description | Keybinding |" >>"$KEYBINDINGS_FILE"
echo "| -- | -- |" >>"$KEYBINDINGS_FILE"
echo "| Switch Workspace | SUPER + {Number} |" >>"$KEYBINDINGS_FILE"
echo "| Move app to Workspace | SHIFT + SUPER + {Number} |" >>"$KEYBINDINGS_FILE"
echo "$keybindings" | while read -r line; do
comment=$(echo "$line" | cut -d\# -f2)
line=$(echo "$line" | cut -d\# -f1)
line=${line:1:${#line}-3}
mod=$(echo "$line" | cut -d, -f1)
key=$(echo "$line" | cut -d, -f2)
# dispatcher=$(echo "$line" | cut -d, -f3)
# params=$(echo "$line" | cut -d, -f4)
[[ $mod == '$mod' ]] && mod="SUPER + "
[[ $mod == '$shiftMod' ]] && mod="SHIFT + SUPER + "
echo "| ${comment:1} | $mod$key |" >>"$KEYBINDINGS_FILE"
done
@@ -1,24 +0,0 @@
on:
push:
paths:
- 'home/system/hyprland/bindings.nix'
permissions:
contents: write
jobs:
update-readme:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./
steps:
- name: Check out the repository to the runner
uses: actions/checkout@v4
- name: Run a script
run: |
chmod +x ./.github/scripts/keybindings_to_markdown.sh
./.github/scripts/keybindings_to_markdown.sh
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "Update KEYBINDINGS-HYPRLAND.md (auto)"
git push
-31
View File
@@ -1,31 +0,0 @@
on:
push:
paths:
- '.github/assets/README_template.md'
permissions:
contents: write
jobs:
update-readme:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./
steps:
- name: Check out the repository to the runner
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '^1.23'
- name: Install required dependencies
run: |
go install github.com/anotherhadi/markdown-table-of-contents@latest
- name: Run a script
run: |
chmod +x ./.github/scripts/create_readme.sh
./.github/scripts/create_readme.sh
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "Update README.md (auto)"
git push
-24
View File
@@ -1,24 +0,0 @@
on:
push:
paths:
- 'home/scripts/**'
permissions:
contents: write
jobs:
update-readme:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./
steps:
- name: Check out the repository to the runner
uses: actions/checkout@v4
- name: Run a script
run: |
chmod +x ./.github/scripts/create_scripts_docs.sh
./.github/scripts/create_scripts_docs.sh
git config user.name github-actions
git config user.email github-actions@github.com
git add .
git commit -m "Update SCRIPTS.md (auto)"
git push
+7 -2
View File
@@ -1,2 +1,7 @@
todolist.md .claude/
.sops.yaml old/
docs/superpowers/
.superpowers/
result/
.pre-commit-config.yaml
.direnv/
+12
View File
@@ -0,0 +1,12 @@
keys:
- &primary age12yvtj49pfh3fqzqflscm0ek4yzrjhr6cqhn7x89gdxnlykq0xudq5c7334
- &work age1c8pawdsxptfslgrz2c56s39mrtnjzc5mm3hfzgr2wdwu2v6vfsdsupjsq6
creation_rules:
- path_regex: hosts/laptop/secrets/secrets.yaml$
key_groups:
- age:
- *primary
- path_regex: hosts/server/secrets/secrets.yaml$
key_groups:
- age:
- *primary
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2024 Hadi Copyright (c) 2026 Hadi
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal
+78 -50
View File
@@ -1,6 +1,5 @@
[//]: # (This file is autogenerated)
<div align="center"> <div align="center">
<img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/.github/assets/logo.png" width="120px" /> <img alt="nixy logo" src="./.github/assets/logo.png" width="120px" />
</div> </div>
<br> <br>
@@ -10,96 +9,117 @@
<br> <br>
<div align="center"> <div align="center">
<a href="https://github.com/anotherhadi/nixy/stargazers"> <a href="https://github.com/anotherhadi/nixy/stargazers">
<img src="https://img.shields.io/github/stars/anotherhadi/nixy?color=A594FD&labelColor=0b0b0b&style=for-the-badge&logo=starship&logoColor=A594FD"> <img src="https://img.shields.io/github/stars/anotherhadi/nixy?color=A89AD1&labelColor=0b0b0b&style=for-the-badge&logo=starship&logoColor=A89AD1">
</a> </a>
<a href="https://github.com/anotherhadi/nixy/"> <a href="https://github.com/anotherhadi/nixy/">
<img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color=A594FD&labelColor=0b0b0b&style=for-the-badge&logo=github&logoColor=A594FD"> <img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color=A89AD1&labelColor=0b0b0b&style=for-the-badge&logo=github&logoColor=A89AD1">
</a> </a>
<a href="https://nixos.org"> <a href="https://nixos.org">
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor=0b0b0b&logo=NixOS&logoColor=A594FD&color=A594FD"> <img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor=0b0b0b&logo=NixOS&logoColor=A89AD1&color=A89AD1">
</a> </a>
<a href="https://github.com/anotherhadi/nixy/blob/main/LICENSE"> <a href="https://github.com/anotherhadi/nixy/blob/main/LICENSE">
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&colorA=0b0b0b&colorB=A594FD&logo=unlicense&logoColor=A594FD"/> <img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&colorA=0b0b0b&colorB=A89AD1&logo=unlicense&logoColor=A89AD1"/>
</a> </a>
</div> </div>
<br> <br>
**Nixy** is a **Hyprland** NixOS configuration with **home-manager**, **secrets**, and **custom theming** all in one place. **Nixy simplifies and unifies** the Hyprland ecosystem with a modular, minimalist & easily
It's a simple way to manage your system configuration and dotfiles. customizable setup. It provides a structured way to manage your system
configuration and dotfiles with minimal effort. It includes _home-manager_,
_secrets_, and _custom theming_ all in one place.
I'm Hadi, a french developer, student in infosec, enthusiastic about nix, golang & blockchains. **Features:**
This is my own, **keyboard-centric**, and **minimalistic** NixOS configuration.
I enable vim-like keybindings everywhere I can, and I use a lot of custom scripts to make my life easier.
**Nixy key points:** - 💻 Hyprland & TUIs: Preconfigured Hyprland ecosystem with a lot of cool TUIs
- 🎨 Consistent Theming: Base16 & Stylix-powered themes
- Hypr-ecosystem first (hyprland, hyprlock, hyprpanel, hypridle, ...) - ⌨️ Vim-like Everywhere: Unified keybindings (Hyprland, nvim, vimium, etc.)
- Stylix/base16 themes - 🔒 Hardened by Default: LUKS encryption, sops-nix secrets, impermanence and more
- Vim-like keybindings everywhere (hyprland, qutebrowser, nvim, ...)
## Table of Content ## Table of Content
- [Table of Content](#table-of-content) <!-- START doctoc generated TOC please keep comment here to allow auto update -->
- [Gallery](#gallery) <!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
- [Screenshots](#screenshots)
- [Architecture](#architecture) - [Architecture](#architecture)
- [🏠 home](#-home) - [🏠 /home (User-level configuration)](#-home-user-level-configuration)
- [🐧 nixos](#-nixos) - [🐧 /nixos](#-nixos)
- [🎨 themes](#-themes) - [🎨 /themes](#-themes)
- [💻 hosts](#-hosts) - [💻 /hosts](#-hosts)
- [🖥️ /server-modules](#-server-modules)
- [Installation](#installation) - [Installation](#installation)
- [Documentation](#documentation) - [Documentation](#documentation)
## Gallery <!-- END doctoc generated TOC please keep comment here to allow auto update -->
![Nixy helper, peaclock](.github/assets/nixy/1.png) ## Screenshots
![Qutebrowser, pipes, shell](.github/assets/nixy/2.png)
![nvim, lazygit](.github/assets/nixy/3.png) ![Home](.github/assets/screenshots/1.png)
![spotify, cava](.github/assets/nixy/4.png) ![Neovim and spotify](.github/assets/screenshots/2.png)
![Browser and file explorer](.github/assets/screenshots/3.png)
## Architecture ## Architecture
### 🏠 home ### 🏠 /home (User-level configuration)
Those are the dotfiles and configuration files for user-level configuration Contains **dotfiles and settings** that apply to your user environment.
**Subfolders:** **Subfolders:**
- `programs` is a collection of apps configured with home-manager - `programs` is a collection of apps configured with home-manager
- `scripts` is a folder full of bash scripts (see [SCRIPTS.md](docs/SCRIPTS.md))
- `system` is some "desktop environment" configuration - `system` is some "desktop environment" configuration
### 🐧 nixos ### 🐧 /nixos
Those are the system-level configurations. (audio, bluetooth, gpu, bootloader, ...) Those are the system-level configurations. (audio, bluetooth, gpu, bootloader,
...)
### 🎨 themes ### 🎨 /themes
Those are the themes used in the system configuration. The `stylix` folder contains the [stylix](https://github.com/danth/stylix) defined themes, the `var` folder contains the variables not handled by stylix. This folder contains all system themes. Mainly
See avaiable themes in [THEMES.md](docs/THEMES.md) [stylix](https://stylix.danth.me/) configurations. Check out the available
themes and learn how to create your own in [THEMES.md](docs/THEMES.md)
### 💻 hosts ### 💻 /hosts
Those are the host-specific configurations. This directory contains host-specific configurations. Each host includes:
Each host contains a `configuration.nix` for system-level configuration, a `home.nix` for user-level configuration, and a `variables.nix` for config wide variables.
- `configuration.nix` for system-wide settings
- `home.nix` for user-level configuration
- `variables.nix` for global variables
- `secrets/` for sensitive data
### 🖥️ /server-modules
This folder contains server-related nixos modules. (gitea, cloudflared, self-hosted apps, ...)
## Installation ## Installation
1. Clone the repo 1. [Fork](https://github.com/anotherhadi/nixy/fork) this repo and clone it to
your system:
```sh ```sh
git clone https://github.com/anotherhadi/nixy ~/.config/nixos git clone https://github.com/anotherhadi/nixy ~/.config/nixos
``` ```
2. Copy the `hosts/laptop` folder, rename it to your system name, and change the variables inside the `variables.nix` file 2. Copy the `hosts/laptop` folder, rename it to match your systems hostname,
3. Add your `hardware-configuration.nix` to your new host's folder and update `variables.nix` with your machines settings.
4. Add your 'nixosConfigurations' inside `flake.nix` 3. Copy your `hardware-configuration.nix` into your new host's folder to ensure
proper hardware support.
4. Register your new host in `flake.nix` by adding it under nixosConfigurations.
> [!Important] > [!IMPORTANT]
> I added few `# CHANGEME` comments in the files to help you find what to change. Be sure to check them up. > `# CHANGEME` comments are placed throughout the config to
> You can use `rg "CHANGEME"` to find them all with ripgrep. > indicate necessary modifications. Use the following command to quickly locate
> them:
>
> ```sh
> rg "CHANGEME" ~/.config/nixos
> ```
> [!TIP] > [!TIP]
> When you add new files, don't forget to run `git add .` to add them to the git repository > When you add new files, don't forget to run `git add .` to add them to the git
> repository
5. Build the system 5. Build the system
@@ -109,11 +129,19 @@ sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname
## Documentation ## Documentation
- [SERVER](docs/SERVER.md): Check out the server documentation
- [THEMES](docs/THEMES.md): How themes work and how to create your own - [THEMES](docs/THEMES.md): How themes work and how to create your own
- [SCRIPTS](docs/SCRIPTS.md): Scripts that are available - [WALLPAPERS](https://github.com/anotherhadi/awesome-wallpapers): An awesome
- [KEYBINDINGS-HYPRLAND](docs/KEYBINDINGS-HYPRLAND.md): Keybindings available in Hyprland collection of wallpapers
- [WALLPAPERS](https://github.com/anotherhadi/nixy-wallpapers): A collection of wallpapers for Nixy. - [NEOVIM](docs/NEOVIM.md): How to use the Neovim config in your own flake
- [TODO](docs/TODO.md): What's next (feel free to contribute)
- [CONTRIBUTING](docs/CONTRIBUTING.md): How to contribute - [CONTRIBUTING](docs/CONTRIBUTING.md): How to contribute
- [LICENSE](LICENSE): MIT License - [LICENSE](LICENSE): MIT License
---
<div align="center">
<a href="https://github.com/anotherhadi/nixy">github</a> |
<a href="https://gitlab.com/anotherhadi_mirror/nixy">gitlab (mirror)</a> |
<a href="https://git.hadi.icu/anotherhadi/nixy">gitea (mirror)</a>
</div
+2 -5
View File
@@ -1,16 +1,13 @@
# Contributing to Nixy # Contributing to Nixy
Everybody is invited and welcome to contribute to Nixy. There is a lot to do... Check the [TODO.md](./TODO.md) file! Everybody is invited and welcome to contribute to Nixy. There is a lot to do... Check the issues!
The process is straight-forward. The process is straight-forward.
- Read [How to get faster PR reviews](https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md#best-practices-for-faster-reviews) by Kubernetes (but skip step 0 and 1) - Read [How to get faster PR reviews](https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md#best-practices-for-faster-reviews) by Kubernetes (but skip step 0 and 1)
- Fork Nixy [git repository](https://github.com/anotherhadi/nixy). - Fork Nixy [git repository](https://github.com/anotherhadi/nixy).
- Write your changes (new theme, bug fixes, task in to-do, ...). - Write your changes (new theme, bug fixes, issues fix, ...).
- Create a Pull Request against the main branch of Nixy. - Create a Pull Request against the main branch of Nixy.
> [!TIP]
> To update the README, change the `./docs/src/README_template.md` and run `./docs/scripts/create_readme.sh`
> [!IMPORTANT] > [!IMPORTANT]
> Don't push your host's folder > Don't push your host's folder
-52
View File
@@ -1,52 +0,0 @@
[//]: # (This file is autogenerated)
# Keybindings for Hyprland
> [!NOTE]
> SUPER is the windows key by default
| Description | Keybinding |
| -- | -- |
| Switch Workspace | SUPER + {Number} |
| Move app to Workspace | SHIFT + SUPER + {Number} |
| Kitty | SUPER + RETURN |
| Thunar | SUPER + E |
| Qutebrowser | SUPER + B |
| Bitwarden | SUPER + K |
| Lock | SUPER + L |
| Powermenu | SUPER + X |
| Launcher | SUPER + SPACE |
| Quickmenu | SUPER + C |
| Toggle HyprFocus | SHIFT + SUPER + SPACE |
| "$mod,TAB, overview:toggle" | |
| Close window | SUPER + Q |
| Toggle Floating | SUPER + T |
| Toggle Fullscreen | SUPER + F |
| Move focus left | SUPER + left |
| Move focus Right | SUPER + right |
| Move focus Up | SUPER + up |
| Move focus Down | SUPER + down |
| Focus previous monitor | SHIFT + SUPER + up |
| Focus next monitor | SHIFT + SUPER + down |
| Add to master | SHIFT + SUPER + left |
| Remove from master | SHIFT + SUPER + right |
| Screenshot region | SUPER + PRINT |
| Screenshot monitor | PRINT |
| Screenshot window | SHIFT + SUPER + PRINT |
| Screenshot region then edit | ALTPRINT |
| Toggle hyprpanel | SHIFT + SUPER + T |
| Search on internet with wofi | SHIFT + SUPER + S |
| Clipboard picker with wofi | SHIFT + SUPER + C |
| Emoji picker with wofi | SHIFT + SUPER + E |
| Toggle night shift | SUPER + F2 |
| Toggle night shift | SUPER + F3 |
| Move Window (mouse) | SUPER + mouse:272 |
| Resize Window (mouse) | SUPER + R |
| Toggle Mute | XF86AudioMute |
| Play/Pause Song | XF86AudioPlay |
| Next Song | XF86AudioNext |
| Previous Song | XF86AudioPrev |
| Lock when closing Lid | switch:Lid Switch |
| Sound Up | XF86AudioRaiseVolume |
| Sound Down | XF86AudioLowerVolume |
| Brightness Up | XF86MonBrightnessUp |
| Brightness Down | XF86MonBrightnessDown |
+40
View File
@@ -0,0 +1,40 @@
# Neovim
The Neovim configuration is built with [nvf](https://github.com/notashelf/nvf) and exposed as a standalone flake output.
It can be used in three ways: run it directly, import it into another flake's home-manager setup, or use it as part of this config.
## Run directly
No installation needed:
```sh
nix run github:anotherhadi/nixy#nvim
```
## Use in another flake
Add this repo as an input:
```nix
inputs.nixy.url = "github:anotherhadi/nixy";
```
Then import the home-manager module in your home configuration:
```nix
{ inputs, ... }: {
imports = [ inputs.nixy.homeManagerModules.nvim ];
}
```
## What's included
| File | Description |
| --------------- | ---------------------------------------------------------------------- |
| `options.nix` | Core settings: theme (catppuccin mocha), clipboard, indentation, folds |
| `languages.nix` | LSP, treesitter, formatters, diagnostics, and per-language config |
| `keymaps.nix` | All key mappings (leader: `space`) |
| `picker.nix` | Snacks picker + oil.nvim |
| `snacks.nix` | Snacks extras: image preview, zen mode, git signs, statuscolumn |
| `utils.nix` | Bufferline, lualine, copilot, lazygit, toggleterm, autocomplete |
| `mini.nix` | Mini.nvim suite: ai, clue, comment, diff, git, icons, indentscope, jump2d, pairs, starter, statusline, surround |
-98
View File
@@ -1,98 +0,0 @@
[//]: # (This file is autogenerated)
# Scripts
Scripts are located in the 'home/scripts' folder. Home-manager add those in the user's path.
## Brightness
This module provides a set of scripts to control the brightness of the screen.
- `brightness-up` increases the brightness by 5%.
- `brightness-down` decreases the brightness by 5%.
- `brightness-set [value]` sets the brightness to the given value.
- `brightness-change [up|down] [value]` increases or decreases the brightness by the given value.
## Caffeine
Caffeine is a simple script that toggles hypridle (disable suspend & screenlock).
- `caffeine-status` - Check if hypridle is running. (0/1)
- `caffeine-status-icon` - Check if hypridle is running. (icon)
- `caffeine` - Toggle hypridle.
## Hyprfocus
A simple script to toggle focus on few windows in Hyprland.
(disable gaps, border, shadow, opacity, etc.)
- `hyprfocus-on` - Enable hyprfocus.
- `hyprfocus-off` - Disable hyprfocus.
- `hyprfocus-toggle` - Toggle hyprfocus.
## Hyprpanel
Quick scripts to toggle, reload, hide & show hyprpanel.
- `hyprpanel-toggle` - Toggle hyprpanel (hide/show).
- `hyprpanel-show` - Show hyprpanel.
- `hyprpanel-hide` - Hide hyprpanel.
- `hyprpanel-reload` - Reload hyprpanel.
## Nerdfont FZF
This module provides a script to search for Nerd Fonts icons using fzf.
- `nerdfont-fzf` - Search for Nerd Fonts icons using fzf.
## Night-Shift
Night-Shift is a feature that reduces the amount of blue light emitted by your screen, which can help reduce eye strain and improve sleep quality. This module provides a set of scripts to control Night-Shift on your system.
It use hyprsunset to control the screen temperature.
- `night-shift-on` activates Night-Shift.
- `night-shift-off` deactivates Night-Shift.
- `night-shift` toggles Night-Shift.
- `night-shift-status` checks if Night-Shift is active. (0/1)
- `night-shift-status-icon` checks if Night-Shift is active. (icon)
## Nixy
Nixy is a simple script that I use to manage my NixOS system. It's a simple script that provides a menu to rebuild, upgrade, update, collect garbage, clean boot menu, etc.
- `nixy` - UI wizard to manage the system.
- `nixy rebuild` - Rebuild the system.
- `nixy ...` - ... see the script for more commands.
## OpenVPN
OpenVPN allows you to connect/disconnect quickly to a openVPN server
- `openvpn-up` turn on the vpn
- `openvpn-down` turn down the vpn
- `openvpn-toggle` toggle the vpn
## Screenshot
This module provides a script to take screenshots using `grimblast` and `swappy`.
- `screenshot [region|window|monitor] [swappy]` - Take a screenshot of the region, window, or monitor. Optionally, use `swappy` to copy the screenshot to the clipboard.
## Sound
This module provides a set of scripts to control the volume of the default audio sink using `wpctl`.
- `sound-up` increases the volume by 5%.
- `sound-down` decreases the volume by 5%.
- `sound-set [value]` sets the volume to the given value.
- `sound-toggle` toggles the mute state of the default audio sink.
## System
Usefull quick scripts
- `menu` - Open wofi with drun mode. (wofi)
- `powermenu` - Open power dropdown menu. (wofi)
- `lock` - Lock the screen. (hyprlock)
+33
View File
@@ -0,0 +1,33 @@
# SERVER
## Overview
This document describes the architecture and setup of the self-hosted **NixOS server**, which is securely accessible via **a Cloudflare Tunnel**.
The server is designed for private, secure, and easily manageable self-hosting of various services.
![server dashboard](../.github/assets/screenshots/server_dashboard.png)
## **Why This Setup?**
- **Private & Secure**: Services are only accessible through Cloudflare's access control, preventing exposure to the "public internet".
- **Domain-based Access**: A custom domain maps to the server's tunnel, making service access simple and consistent.
- **Modular & Declarative**: Everything is managed through NixOS modules (except for access control), ensuring reproducibility and easy configuration.
## **Self-Hosted Services**
The server hosts several key applications:
- **AdGuard Home**: A self-hosted DNS ad blocker for network-wide ad and tracker filtering.
- **Glance**: An awesome dashboard! (See the screenshot above)
- **Arr Stack (Radarr, Sonarr, etc.)**: Automated media management tools for handling movies and TV shows. (legally ofc)
- **Mealie**: A self-hosted recipe manager and meal planner with a clean user interface.
- **Stirling-PDF**: A powerful, locally hosted web application for editing, merging, and converting PDF files.
- **CyberChef**: The "Cyber Swiss Army Knife" for data analysis, decoding, and encryption tasks.
- **Mazanoke**: A utility service for image processing, specialized in format conversion and downgrading/optimization.
- **Umami**: Privacy-focused web analytics.
- **Gitea**: Self-hosted git forge.
- **Blog**: Personal website/blog.
- **iknowyou**: Personal project hosted in two containers (prod + demo).
- **Awesome Wallpapers**: Wallpaper browser served via NGINX inside a container.
- **SSH**: Secure remote access configuration for server management. (via browser too)
- **Security related stuff**: Cloudflared, Fail2Ban, Firewall, Kernel Hardening
+4 -16
View File
@@ -1,21 +1,9 @@
# Themes # Themes
Themes are defined in `themes`. Those themes define the colors, fonts, icons, etc, used by Hyprland and the apps/programs installed. Themes are defined in `themes/`. They define the colors, fonts, icons, wallpaper, and other visual settings used by Hyprland and all apps/programs.
You can change the selected theme by changing the import statement of your host's configuration.nix file. You can change the selected theme by changing the import statement in your host's `variables.nix` file.
> [!TIP]
> To apply the theme to DuckDuckGo, follow the instructions in `$HOME/.duckduckgo-colorscheme.js`
## Create your theme ## Create your theme
Create a copy of one of the existing themes and change the variables. Create a copy of `themes/nixy.nix` and change the variables.
Wallpapers are loaded from the [nixy-wallpapers](https://github.com/anotherhadi/nixy-wallpapers) repo. Wallpapers are loaded from my [awesome-wallpapers](https://github.com/anotherhadi/awesome-wallpapers) repo.
## Gallery
### Nixy
![nixy1](../.github/assets/nixy/1.png)
![nixy2](../.github/assets/nixy/2.png)
![nixy3](../.github/assets/nixy/3.png)
![nixy4](../.github/assets/nixy/4.png)
-10
View File
@@ -1,10 +0,0 @@
# Todolist
feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md))
- [ ] ${config.users.users.${user}.home} instead of "/home/${username}"
- [ ] Hyprpanel screenshot
- [ ] PIA Vpn (issue in progress)
- [ ] Webcord (system24 theme? Tui)
- [ ] check gvolpe/nix-config
- [ ] <https://github.com/isabelroses/dotfiles/blob/main/home/comfy/system/xdg.nix>
Generated
+721 -1378
View File
File diff suppressed because it is too large Load Diff
+87 -35
View File
@@ -1,58 +1,110 @@
{ {
# https://github.com/anotherhadi/nixy # https://github.com/anotherhadi/nixy
description = '' description = ''
Nixy is a NixOS configuration with home-manager, secrets and custom theming all in one place. Nixy simplifies and unifies the Hyprland ecosystem with a modular, easily customizable setup.
It's a simple way to manage your system configuration and dotfiles. It provides a structured way to manage your system configuration and dotfiles with minimal effort.
''; '';
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware";
nvf.url = "github:notashelf/nvf";
nvf-config = {
url = "path:./home/programs/tui/nvf";
inputs.nixpkgs.follows = "nixpkgs";
inputs.nvf.follows = "nvf";
};
nur = {
url = "github:nix-community/nur";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-index-database = {
url = "github:nix-community/nix-index-database";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nixvim = { stylix = {
url = "github:nix-community/nixvim"; url = "github:nix-community/stylix/release-26.05";
inputs.nixpkgs.follows = "nixpkgs";
};
spicetify-nix = {
url = "github:Gerg-L/spicetify-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
sops-nix = { sops-nix = {
url = "github:Mic92/sops-nix"; url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprspace = { url = "github:KZDKM/Hyprspace"; }; impermanence.url = "github:nix-community/impermanence";
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; disko = {
hyprpolkitagent.url = "github:hyprwm/hyprpolkitagent"; url = "github:nix-community/disko";
hyprpanel.url = "github:Jas-SinghFSU/HyprPanel"; inputs.nixpkgs.follows = "nixpkgs";
stylix.url = "github:danth/stylix"; };
apple-fonts.url = "github:Lyndeno/apple-fonts.nix"; notashelf-tuigreet = {
nur.url = "github:nix-community/NUR"; url = "github:NotAShelf/tuigreet";
zen-browser.url = inputs.nixpkgs.follows = "nixpkgs";
"git+https://git.sr.ht/~canasta/zen-browser-flake/"; # updated flake };
helium-browser = {
url = "github:oxcl/nix-flake-helium-browser";
inputs.nixpkgs.follows = "nixpkgs-unstable";
};
git-hooks = {
url = "github:cachix/git-hooks.nix";
inputs.nixpkgs.follows = "nixpkgs";
}; };
outputs = inputs@{ nixpkgs, ... }: { # Server
nixosConfigurations = { nixarr.url = "github:rasmus-kirk/nixarr";
nixy = # CHANGEME: This should match the 'hostname' in your variables.nix file default-creds.url = "github:anotherhadi/default-creds";
nixpkgs.lib.nixosSystem { blog.url = "github:anotherhadi/blog";
awesome-wallpapers.url = "github:anotherhadi/awesome-wallpapers";
iknowyou.url = "github:anotherhadi/iknowyou";
};
outputs = inputs @ {
nixpkgs,
nixpkgs-unstable,
git-hooks,
...
}: let
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ pkgs-unstable = import nixpkgs-unstable {
{ inherit system;
nixpkgs.overlays = config.allowUnfree = true;
[ inputs.hyprpanel.overlay inputs.nur.overlays.default ];
_module.args = { inherit inputs; };
}
inputs.nixos-hardware.nixosModules.omen-16-n0005ne # CHANGEME: check https://github.com/NixOS/nixos-hardware
inputs.home-manager.nixosModules.home-manager
inputs.stylix.nixosModules.stylix
./hosts/laptop/configuration.nix # CHANGEME: change the path to match your host folder
];
}; };
pkgs = nixpkgs.legacyPackages.${system};
args = {
inherit
inputs
nixpkgs
system
pkgs-unstable
pkgs
;
};
merge = nixpkgs.lib.foldl nixpkgs.lib.recursiveUpdate {};
supportedSystems = ["x86_64-linux" "aarch64-linux"];
forAllSystems = f:
nixpkgs.lib.genAttrs supportedSystems
(system: f system (import nixpkgs {inherit system;}));
in
merge [
(import ./home/programs/tui/nixy/flake.nix args)
{
formatter.${system} = pkgs.alejandra;
packages.${system}.nvim = inputs.nvf-config.packages.${system}.nvim;
apps.${system}.nvim = inputs.nvf-config.apps.${system}.nvim;
nixosConfigurations = {
h-laptop = import ./hosts/laptop/flake.nix args;
jack = import ./hosts/server/flake.nix args;
}; };
devShells = forAllSystems (system: pkgs: {
default = import ./shell.nix {
inherit pkgs;
gitHooksLib = git-hooks.lib.${system};
}; };
});
}
];
} }
@@ -1,44 +0,0 @@
# A duckduckgo colorscheme generated for the Stylix theme used.
{ config, ... }:
let
accent = config.lib.stylix.colors.base0D;
background = config.lib.stylix.colors.base00;
foreground = config.lib.stylix.colors.base05;
background-alt = config.lib.stylix.colors.base01;
foreground-alt = config.lib.stylix.colors.base06;
in {
home.file.".duckduckgo-colorscheme.js".text =
# js
''
// Go to DuckDuckGo settings page, open the console, paste the code and hit enter.
// based on https://ddg.codingcodax.dev/
// Cookies string for your theme
const cookie = '7=${background}; j=${background}; 9=${foreground}; aa=${foreground-alt}; 8=${foreground}; x=${accent}; 21=${background-alt};';
// Converts cookie string into formatted JSON
const cookieToJSON = (cookieRaw) => {
const cookieJson = {};
const items = cookieRaw.split(/[ ,]+/);
items.forEach((item) => {
const parts = item.split('=');
cookieJson[parts[0]] = parts[1];
});
return cookieJson;
};
// Iterates over JSON, and adds to browser cookie store
const setCookies = (cookieJson) => {
Object.keys(cookieJson).forEach((key) => {
document.cookie = `''${key}=''${cookieJson [ key ]}`;
});
};
// Call set cookies, passing in formated cookie data
setCookies(cookieToJSON(cookie));
// All done, reload page for changes to take effect :)
location.reload();
'';
}
-1
View File
@@ -1 +0,0 @@
{ imports = [ ./neofetch ./nerdfetch ]; }
-147
View File
@@ -1,147 +0,0 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ neofetch ];
xdg.configFile."neofetch/ascii.txt".text = ''
''${c6}
'';
xdg.configFile."neofetch/config.conf".text = ''
# From: https://github.com/Chick2D/neofetch-themes/
# Made by https://github.com/Dan1jel
print_info() {
prin "\n"
info "\n \n OS" distro
info "\n \n Host" model
info "\n \n Kernel" kernel
info "\n \n Uptime" uptime
info "\n \n Packages" packages
info "\n \n Shell" shell
info "\n \n Resolution" resolution
info "\n \n DE" de
info "\n \n WM" wm
info "\n \n WM Theme" wm_theme
info "\n \n Theme" theme
info "\n \n Icons" icons
info "\n \n Terminal" term
info "\n \n Terminal Font" term_font
info "\n \n CPU" cpu
info "\n \n GPU" gpu
info "\n \n Memory" memory
info "\n \n Disk" disk
info "\n \n Battery" battery
info "\n \n Font" font
info "\n \n Song" song
[[ "$player" ]] && prin "\n \n Music Player" "$player"
info "\n \n Local IP" local_ip
prin "\n"
# prin "\n \n ''${cl0}''${cl1}''${cl2}''${cl3}''${cl4}''${cl5}''${cl6}''${cl7}"
prin "\n \n \n \n \n \n ''${cl0} \n \n ''${cl1} \n \n ''${cl2} \n \n ''${cl3} \n \n ''${cl4} \n \n ''${cl5} \n \n ''${cl6} \n \n ''${cl7}"
}
reset="\033[0m"
gray="\033[1;90m"
red="\033[1;31m"
green="\033[1;32m"
yellow="\033[1;33m"
blue="\033[1;34m"
magenta="\033[1;35m"
cyan="\033[1;36m"
white="\033[1;37m"
cl0="''${gray}"
cl1="''${red}"
cl2="''${green}"
cl3="''${yellow}"
cl4="''${blue}"
cl5="''${magenta}"
cl6="''${cyan}"
cl7="''${white}"
title_fqdn="off"
kernel_shorthand="on"
distro_shorthand="off"
os_arch="off"
uptime_shorthand="on"
memory_percent="off"
memory_unit="mib"
package_managers="on"
shell_path="off"
shell_version="on"
speed_type="bios_limit"
speed_shorthand="off"
cpu_brand="on"
cpu_speed="on"
cpu_cores="logical"
cpu_temp="off"
gpu_brand="on"
gpu_type="all"
refresh_rate="off"
gtk_shorthand="off"
gtk2="on"
gtk3="on"
de_version="on"
disk_show=('/storage/emulated' '/' '/server')
disk_subtitle="none"
disk_percent="on"
music_player="auto"
song_format="%artist% - %album% - %title%"
song_shorthand="off"
mpc_args=()
bold="on"
underline_enabled="on"
underline_char="-"
separator=":"
block_range=(0 15)
color_blocks="on"
block_width=3
block_height=1
col_offset="auto"
bar_char_elapsed="-"
bar_char_total="="
bar_border="on"
bar_length=15
bar_color_elapsed="distro"
bar_color_total="distro"
cpu_display="off"
memory_display="off"
battery_display="off"
disk_display="off"
image_backend="ascii"
image_source="$HOME/.config/neofetch/ascii.txt"
ascii_distro="auto"
ascii_colors=(distro)
ascii_bold="on"
image_loop="off"
thumbnail_dir="''${XDG_CACHE_HOME:-''${HOME}/.cache}/thumbnails/neofetch"
crop_mode="normal"
crop_offset="center"
image_size="auto"
gap=2
yoffset=0
xoffset=0
background_color=
stdout="off"
'';
}
-369
View File
@@ -1,369 +0,0 @@
{ pkgs, ... }:
let
nerdfetch = pkgs.writeShellScriptBin "nerdfetch" ''
ostype="$(uname)"
version=8.1.1
font=nerd
distrotype=none
osi=""
ki=""
ri="󰍛"
pi="󰏔"
ui="󰅶"
ci=""
case $1 in
"-p")
font=phosphor
osi=""
ki=""
ri=""
pi=""
ui=""
ci=""
;;
"-c")
font=cozette
ki=""
ri=""
pi=""
ui=""
ci=""
;;
"-e")
font=emoji
osi="🐧"
ki="💓"
ri="🐐"
pi="📦"
ui=""
ci="🎨"
;;
"-v")
echo "NerdFetch $version"
exit
;;
"-h")
echo "Flags:
-c: Cozette font
-p: Phosphor font
-e: Emoji font
-v: Version"
exit
;;
esac
if command -v getprop 1>/dev/null; then
distrotype=android
fi
kernel="$(echo $(uname -r) | cut -d'-' -f1-1)"
case $ostype in
*"Linux"*)
if [ $distrotype = android ]; then
host="$(hostname)"
USER="$(whoami)"
os="Android $(getprop ro.build.version.release)"
case $font in
phosphor) osi="" ;;
emoji) osi="🤖" ;;
*) osi="󰀲" ;;
esac
else
host="$(cat /proc/sys/kernel/hostname)"
. /etc/os-release
if [ -f /bedrock/etc/bedrock-release ]; then
os="$(brl version)"
else
os="''${PRETTY_NAME}"
if [ $font = nerd ]; then
case $(echo $ID | sed 's/ .*//') in
debian) osi="" ;;
arch) osi="󰣇" ;;
endeavouros) osi="" ;;
fedora) osi="" ;;
gentoo) osi="" ;;
rhel) osi="" ;;
slackware) osi="" ;;
void) osi="" ;;
alpine) osi="" ;;
nixos) osi="󱄅" ;;
artix) osi="" ;;
exherbo) osi="󰆚" ;;
mageia) osi="" ;;
manjaro) osi="" ;;
opensuse) osi="" ;;
solus) osi="" ;;
ubuntu) osi="" ;;
mint) osi="󰣭" ;;
trisquel) osi="" ;;
puppy) osi="" ;;
coreos) osi="" ;;
mx) osi="" ;;
vanilla) osi="" ;;
pop_os) osi="" ;;
raspbian) osi="" ;;
deepin) osi="" ;;
almalinux) osi="" ;;
garuda) osi="" ;;
centos) osi="" ;;
rocky) osi="" ;;
esac
elif [ $font = cozette ]; then
case $(echo $ID | sed 's/ .*//') in
debian) osi="" ;;
arch) osi="" ;;
fedora) osi="" ;;
gentoo) osi="" ;;
slackware) osi="" ;;
void) osi="" ;;
alpine) osi="" ;;
nixos) osi="" ;;
mageia) osi="" ;;
manjaro) osi="" ;;
opensuse) osi="" ;;
ubuntu) osi="" ;;
mint) osi="" ;;
coreos) osi="" ;;
centos) osi="" ;;
esac
fi
fi
fi
shell=$(basename "$SHELL")
;;
*"Darwin"*)
host="$(hostname -f | sed -e 's/^[^.]*\.//')"
mac_product="$(/usr/libexec/PlistBuddy -c "Print:ProductName" /System/Library/CoreServices/SystemVersion.plist)"
mac_version="$(/usr/libexec/PlistBuddy -c "Print:ProductVersion" /System/Library/CoreServices/SystemVersion.plist)"
os="''${mac_product} ''${mac_version}"
case $font in
nerd) osi="" ;;
phosphor) osi="" ;;
cozette) osi="" ;;
emoji) osi="🍎" ;;
esac
;;
*"FreeBSD"*)
host="$(hostname)"
distrotype=bsd
os="FreeBSD $(freebsd-version | sed 's/-.*//')"
case $font in
nerd) osi="" ;;
phosphor) osi="" ;;
cozette) osi="" ;;
emoji) osi="😈" ;;
esac
;;
*"OpenBSD"*)
host="$(hostname)"
distrotype=bsd
os="OpenBSD $(uname -r)"
case $font in
nerd) osi="" ;;
phosphor) osi="" ;;
cozette) osi="" ;;
emoji) osi="🐡" ;;
esac
;;
*"NetBSD"*)
host="$(hostname)"
distrotype=netbsd
os="NetBSD $(uname -r)"
case $font in
nerd) osi="󰉀" ;;
phosphor) osi="" ;;
cozette) osi="" ;;
emoji) osi="🚩" ;;
esac
;;
*)
os="Unix-like"
host="host"
;;
esac
## PACKAGE MANAGER AND PACKAGES DETECTION
MANAGER=$(which nix-env pkg flatpak yum zypper dnf rpm dpkg-query brew port pacman xbps-query emerge cave apk kiss pmm /usr/sbin/slackpkg bulge birb yay paru pacstall cpm pmm eopkg getprop 2>/dev/null)
manager=$(basename "$MANAGER")
if [ $distrotype = netbsd ]; then
manager="pkg_info-netbsd"
fi
case $manager in
cpm) packages="$(cpm C)" ;;
flatpak) packages="$(flatpak list --app | wc -l)" ;;
brew) packages="$(printf '%s\n' "$(brew --cellar)/"* | wc -l)" ;;
port) packages="$(port installed | wc -l)" ;;
dpkg-query) packages="$(dpkg-query -f '${
"binary:Package"
}\n' -W | wc -l)" ;;
rpm) packages="$(rpm -qa --last | wc -l)" ;;
yum) packages="$(yum list installed | wc -l)" ;;
dnf) packages="$(dnf list installed | wc -l)" ;;
zypper) packages="$(zypper se | wc -l)" ;;
pacman) packages="$(pacman -Q | wc -l)" ;;
yay) packages="$(yay -Q | wc -l)" ;;
paru) packages="$(paru -Q | wc -l)" ;;
pacstall) packages="$(pacstall -L | wc -l)" ;;
kiss) packages="$(kiss list | wc -l)" ;;
emerge) packages="$(qlist -I | wc -l)" ;;
pkg) packages="$(pkg info | wc -l | tr -d ' ')" ;;
cave) packages="$(cave show installed-slots | wc -l)" ;;
xbps-query) packages="$(xbps-query -l | wc -l)" ;;
nix-env) packages="$(nix-store -q --requisites /run/current-system/sw | wc -l)" ;;
apk) packages="$(apk list --installed | wc -l)" ;;
pmm) packages="$(/bedrock/libexec/pmm pacman pmm -Q 2>/dev/null | wc -l)" ;;
eopkg) packages="$(eopkg li | wc -l)" ;;
/usr/sbin/slackpkg) packages="$(ls /var/log/packages | wc -l)" ;;
bulge) packages="$(bulge list | wc -l)" ;;
birb) packages="$(birb --list-installed | wc -l)" ;;
pkg_info)
packages="$(pkg_info -A | wc -l)"
manager="pkg"
;;
pkg_info-netbsd)
packages="$(pkg_info -a | wc -l)"
manager="pkg"
;;
*)
if [ $distrotype = android ]; then
packages="$(dpkg-query -f '${"binary:Package"}\n' -W | wc -l)"
manager="dpkg"
else
packages="$(ls /usr/bin | wc -l)"
manager="bin"
fi
;;
esac
packages="''${packages#"''${packages%%[![:space:]]*}"}"
manager=$(echo $manager | sed "s/-query//; s/\/usr\/.*\///")
## UPTIME DETECTION
if [ $distrotype = android ]; then
uptime="$(echo $(uptime -p) | cut -c 4-)"
elif [ $distrotype = bsd ] || [ $distrotype = netbsd ]; then
uptime="$(uptime | sed -e 's/.* up //; s/, [0-9]* user.*//')"
else
case $ostype in
*"Linux"*)
IFS=. read -r s _ </proc/uptime
;;
*)
s=$(sysctl -n kern.boottime)
s=''${s#*=}
s=''${s%,*}
s=$(($(date +%s) - s))
;;
esac
d="$((s / 60 / 60 / 24))"
h="$((s / 60 / 60 % 24))"
m="$((s / 60 % 60))"
# Plurals
[ "$d" -gt 1 ] && dp=s
[ "$h" -gt 1 ] && hp=s
[ "$m" -gt 1 ] && mp=s
[ "$s" -gt 1 ] && sp=s
# Hide empty fields.
[ "$d" = 0 ] && d=
[ "$h" = 0 ] && h=
[ "$m" = 0 ] && m=
[ "$m" != "" ] && s=
# Make the output of uptime smaller.
[ "$d" ] && uptime="$d day$dp, "
[ "$h" ] && uptime="$uptime$h hour$hp, "
[ "$m" ] && uptime="$uptime$m min$mp"
[ "$s" ] && uptime="$uptime$s sec$sp"
uptime=''${uptime%, }
fi
## RAM DETECTION
case $ostype in
*"Linux"*)
while IFS=':k ' read -r key val _; do
case $key in
MemTotal)
mem_used=$((mem_used + val))
mem_full=$val
;;
Shmem) mem_used=$((mem_used + val)) ;;
MemFree | Buffers | Cached | SReclaimable) mem_used=$((mem_used - val)) ;;
esac
done </proc/meminfo
mem_used=$((mem_used / 1024))
mem_full=$((mem_full / 1024))
;;
*"Darwin"*)
mem_full=$(($(sysctl -n hw.memsize) / 1024 / 1024))
while IFS=:. read -r key val; do
case $key in
*' wired'* | *' active'* | *' occupied'*)
mem_used=$((mem_used + ${"val:-0"}))
;;
esac
done <-EOF
$(vm_stat)
EOF
mem_used=$((mem_used * 4 / 1024))
;;
*"BSD"*)
mem_full=$(($(sysctl -n hw.physmem) / 1024 / 1024))
if [ $distrotype = netbsd ]; then
mem_free=$(($(vmstat | awk 'NR==3 {print $4}') / 1024))
else
mem_free=$(($(sysctl -n vm.stats.vm.v_free_count) * $(sysctl -n vm.stats.vm.v_page_size) / 1024 / 1024))
fi
mem_used=$((mem_full - mem_free))
;;
*)
mem_full=1
mem_used=0
;;
esac
memstat="''${mem_used}/''${mem_full} MiB"
if which expr >/dev/null 2>&1; then
mempercent="($(expr $(expr ''${mem_used} \* 100 / ''${mem_full}))%)"
fi
## DEFINE COLORS
bold=''
black=''
red=''
green=''
yellow=''
blue=''
magenta=''
cyan=''
white=''
grey=''
reset=''
## USER VARIABLES -- YOU CAN CHANGE THESE
lc="$reset$bold$magenta" # labels
nc="$reset$bold$magenta" # labels
hn="$reset$bold$magenta" # labels
ic="$reset$white" # info
c0="$reset$grey" # first color
c1="$reset$white" # second color
c2="$reset$yellow" # third color
## OUTPUT
echo """
''${c0} ___ ''${nc}''${USER}''${grey}@''${reset}''${hn}''${host}''${reset}
''${c0} (''${c1}.. ''${c0}\ ''${lc}''${osi} ''${ic}''${os}''${reset}
''${c0} (''${c2}<> ''${c0}| ''${lc}''${ki} ''${ic}''${kernel}''${reset}
''${c0} /''${c1}/ \\ ''${c0}\\ ''${lc}''${ri} ''${ic}''${RAM}''${memstat} ''${mempercent}
''${c0} ( ''${c1}| | ''${c0}/| ''${lc}''${pi} ''${ic}''${packages} (''${manager})''${reset}
''${c2} _''${c0}/\\ ''${c1}__)''${c0}/''${c2}_''${c0}) ''${lc}''${ui} ''${ic}''${uptime}''${reset}
''${c2} \/''${c0}-____''${c2}\/''${reset} ''${lc}''${ci} ''${red}''${green}''${yellow}''${blue}''${magenta}''${cyan}''${reset}
"""
'';
in { home.packages = [ nerdfetch ]; }
-55
View File
@@ -1,55 +0,0 @@
{ config, ... }:
let
username = config.var.git.username;
email = config.var.git.email;
in {
programs.git = {
enable = true;
userName = username;
userEmail = email;
ignores = [
".cache/"
".DS_Store"
".idea/"
"*.swp"
"*.elc"
"auto-save-list"
".direnv/"
"node_modules"
"result"
"result-*"
];
extraConfig = {
init.defaultBranch = "main";
push.autoSetupRemote = true;
color.ui = "1";
};
aliases = {
essa = "push --force";
co = "checkout";
fuck = "commit --amend -m";
c = "commit -m";
ca = "commit -am";
forgor = "commit --amend --no-edit";
graph = "log --all --decorate --graph --oneline";
oops = "checkout --";
l = "log";
r = "rebase";
s = "status --short";
ss = "status";
d = "diff";
ps = "!git push origin $(git rev-parse --abbrev-ref HEAD)";
pl = "!git pull origin $(git rev-parse --abbrev-ref HEAD)";
af = "!git add $(git ls-files -m -o --exclude-standard | sk -m)";
st = "status";
br = "branch";
df = "!git hist | peco | awk '{print $2}' | xargs -I {} git diff {}^ {}";
hist = ''
log --pretty=format:"%Cgreen%h %Creset%cd %Cblue[%cn] %Creset%s%C(yellow)%d%C(reset)" --graph --date=relative --decorate --all'';
llog = ''
log --graph --name-status --pretty=format:"%C(red)%h %C(reset)(%cd) %C(green)%an %Creset%s %C(yellow)%d%Creset" --date=relative'';
edit-unmerged =
"!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; hx `f`";
};
};
}
@@ -0,0 +1,40 @@
{pkgs}: (with pkgs; [
# Web
dirb
ffuf
katana
whatweb
sqlmap
nosqli
# Hashes
hashcat
haiti
john
# Databases
mariadb
redis
# Network
inetutils
termshark # wireshark in TUI
whois
dig
nmap
samba
hydra
# Misc
metasploit
nuclei
openvpn
# Secrets
trufflehog
# Forensics
binwalk
pkgs.nur.repos.anotherhadi.spilltea
pkgs.nur.repos.anotherhadi.jwt-tui
])
+44
View File
@@ -0,0 +1,44 @@
{pkgs, ...}: {
home.packages = import ./cybersecurity-packages.nix {
inherit pkgs;
};
systemd.user.tmpfiles.rules = [
"d %h/Cyber/tmp 0755 - - -"
"d %h/Cyber/wordlists 0755 - - -"
"d %h/Cyber/wordlists/rules 0755 - - -"
];
home.file = {
"Cyber/wordlists/seclists".source = pkgs.fetchFromGitHub {
owner = "danielmiessler";
repo = "SecLists";
rev = "47aa98053fce8670c6489e4f6fb57dc34881d8bd";
hash = "sha256-ojXLB/TXap1Qi0MtV5/WJlJpjNIDYx/sLY2KHm0uFKI=";
};
"Cyber/wordlists/fuzz4bounty".source = pkgs.fetchFromGitHub {
owner = "0xPugal";
repo = "fuzz4bounty";
rev = "a805f6b434033f054312da0ddc2bc3021cc9a3b0";
hash = "sha256-wMhx1CcxIyw2E7gJXQxXAFc7m5nYt0FXNkoTZqFMQh4=";
};
# RULES
"Cyber/wordlists/rules/oneruletorulethemstill".source = pkgs.fetchFromGitHub {
owner = "stealthsploit";
repo = "oneruletorulethemstill";
rev = "4bfb7322e189305b5f35bb7fcd4e9cc233c3d3c6";
hash = "sha256-h7MeymIXS/6wlPRt4lzsIEqOOssP0lDx9nQip65cwZw=";
};
"Cyber/wordlists/rules/best64.rule".source = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/CarlosLannister/OwadeReborn/refs/heads/master/owade/fileAnalyze/hashcatLib/best64.rule%7E";
hash = "sha256-T0XkMHJZQiy63/j25nGTkaiDFjc+blmgEVGTAFgVylU=";
};
};
home.persistence."/persist".directories = [
"Cyber"
];
}
+32
View File
@@ -0,0 +1,32 @@
{
pkgs,
pkgs-unstable,
...
}: {
home = {
packages = with pkgs-unstable;
[
go
claude-code
]
++ (with pkgs; [
nodejs
air
duckdb
python3
jq
nix-prefetch-github
rsync
]);
persistence."/persist" = {
directories = [
".claude"
];
files = [".claude.json"];
};
sessionPath = ["$HOME/.local/share/go/bin"];
sessionVariables.GOPATH = "$HOME/.local/share/go";
};
}
@@ -0,0 +1,459 @@
{
config,
lib,
pkgs,
...
}: let
bookmarkList =
(import ./general.nix)
++ (import ./tools.nix)
++ (import ./entertainment.nix)
++ (import ./infosec.nix)
++ (import ./other.nix)
++ (import ./jack.nix);
c = config.lib.stylix.colors;
stripProtocol = url: lib.removePrefix "https://" (lib.removePrefix "http://" url);
stripDomain = url: builtins.head (lib.splitString "/" (stripProtocol url));
mkCard = item: let
domain = stripDomain item.url;
initial = builtins.substring 0 1 item.name;
in ''
<a href="${item.url}" class="card">
<div class="favicon-wrapper">
<img class="favicon" src="https://icons.duckduckgo.com/ip3/${domain}.ico" alt="" aria-hidden="true" loading="lazy" onerror="this.style.display='none';this.nextElementSibling.style.display='flex'">
<span class="favicon-fallback" style="display:none">${initial}</span>
</div>
<div class="card-info">
<span class="card-name">${item.name}</span>
<span class="card-url">${stripProtocol item.url}</span>
</div>
</a>'';
mkFolderContent = items: let
step = acc: item:
if item ? url
then acc // {pending = acc.pending ++ [item];}
else {
chunks =
acc.chunks
++ lib.optional (acc.pending != []) {
isCards = true;
items = acc.pending;
}
++ [
{
isCards = false;
folder = item;
}
];
pending = [];
};
result =
lib.foldl' step {
chunks = [];
pending = [];
}
items;
chunks =
result.chunks
++ lib.optional (result.pending != []) {
isCards = true;
items = result.pending;
};
in
lib.concatMapStrings (
chunk:
if chunk.isCards
then ''
<div class="cards">
${lib.concatMapStrings mkCard chunk.items}
</div>''
else mkFolder chunk.folder
)
chunks;
mkFolder = folder: let
iconHtml =
if folder ? icon
then ''<span class="material-symbols-outlined folder-icon" aria-hidden="true">${folder.icon}</span>''
else "";
in ''
<details class="folder-section" open>
<summary class="folder-title">
${iconHtml}<span class="folder-name">${folder.name}</span>
<svg class="chevron" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><polyline points="6 9 12 15 18 9"/></svg>
</summary>
<div class="folder-content">
${mkFolderContent folder.bookmarks}
</div>
</details>'';
grouped = let
step = acc: item:
if item ? url
then acc // {pending = acc.pending ++ [item];}
else {
groups =
acc.groups
++ lib.optional (acc.pending != []) {
isRoot = true;
items = acc.pending;
}
++ [
{
isRoot = false;
inherit item;
}
];
pending = [];
};
result =
lib.foldl' step {
groups = [];
pending = [];
}
bookmarkList;
in
result.groups
++ lib.optional (result.pending != []) {
isRoot = true;
items = result.pending;
};
mkSection = group:
if group.isRoot
then ''
<div class="root-section">
<div class="cards">
${lib.concatMapStrings mkCard group.items}
</div>
</div>''
else mkFolder group.item;
in {
home.file.".local/share/helium-startpage/index.html".text = ''
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bookmarks</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20,300,0,0">
<style>
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
body {
background-color: #${c.base00};
color: #${c.base05};
font-family: 'Source Sans Pro', sans-serif;
font-size: 14px;
min-height: 100vh;
padding: 2.5rem 2rem;
}
.header {
max-width: 1100px;
margin: 0 auto 2rem;
display: flex;
align-items: center;
gap: 1.5rem;
}
.page-title {
font-size: 1.3rem;
font-weight: 700;
color: #${c.base0D};
letter-spacing: -0.01em;
flex-shrink: 0;
}
.search-bar {
flex: 1;
background-color: #${c.base01};
border: 1px solid #${c.base02};
border-radius: 8px;
color: #${c.base05};
font-family: 'Source Sans Pro', sans-serif;
font-size: 0.9rem;
padding: 0.5rem 0.9rem;
outline: none;
transition: border-color 0.15s ease;
}
.search-bar::placeholder { color: #${c.base03}; }
.search-bar:focus { border-color: #${c.base0D}; }
.collapse-btn {
flex-shrink: 0;
background: none;
border: 1px solid #${c.base02};
border-radius: 8px;
color: #${c.base03};
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
padding: 0.47rem;
transition: color 0.15s ease, border-color 0.15s ease;
}
.collapse-btn:hover {
color: #${c.base0D};
border-color: #${c.base0D};
}
.collapse-btn svg { width: 16px; height: 16px; }
.bookmarks-container {
max-width: 1100px;
margin: 0 auto;
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.root-section { margin-bottom: 1rem; }
details.folder-section { border-radius: 8px; }
details.folder-section > summary {
list-style: none;
cursor: pointer;
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.45rem 0.5rem;
border-radius: 8px;
user-select: none;
transition: background-color 0.12s ease;
}
details.folder-section > summary::-webkit-details-marker { display: none; }
details.folder-section > summary:hover {
background-color: #${c.base01};
color: #${c.base0D};
}
details.folder-section > summary:hover .folder-name { color: #${c.base0D}; }
details.folder-section > summary:hover .folder-icon { color: #${c.base0D}; }
.folder-icon {
font-size: 14px;
line-height: 1;
flex-shrink: 0;
color: #${c.base04};
user-select: none;
}
.folder-name {
font-size: 0.72rem;
font-weight: 700;
letter-spacing: 0.12em;
text-transform: uppercase;
color: #${c.base03};
flex: 1;
}
.chevron {
width: 13px;
height: 13px;
color: #${c.base03};
transition: transform 0.2s ease;
flex-shrink: 0;
}
details[open] > summary > .chevron { transform: rotate(180deg); }
.folder-content {
padding: 0.4rem 0 0.5rem 0;
display: flex;
flex-direction: column;
gap: 0.25rem;
}
.folder-content > details.folder-section > summary { padding-left: 1.2rem; }
.folder-content > details.folder-section > .folder-content { padding-left: 1rem; }
.cards {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
gap: 0.4rem;
}
.card {
display: flex;
align-items: center;
gap: 0.7rem;
padding: 0.6rem 0.8rem;
background-color: #${c.base01};
border: 1px solid #${c.base02};
border-radius: 10px;
text-decoration: none;
transition: background-color 0.12s ease, border-color 0.12s ease;
overflow: hidden;
}
.card:hover {
background-color: #${c.base02};
border-color: #${c.base0D};
}
.favicon-wrapper { position: relative; width: 18px; height: 18px; flex-shrink: 0; }
.favicon {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: contain;
border-radius: 3px;
}
.favicon-fallback {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
background-color: #${c.base02};
border-radius: 4px;
color: #${c.base04};
font-size: 10px;
font-weight: 700;
text-transform: uppercase;
user-select: none;
}
.card-info {
display: flex;
flex-direction: column;
gap: 0.05rem;
overflow: hidden;
flex: 1;
}
.card-name {
color: #${c.base05};
font-size: 0.86rem;
font-weight: 500;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
transition: color 0.12s ease;
}
.card:hover .card-name { color: #${c.base0D}; }
.card-url {
color: #${c.base03};
font-family: 'Maple Mono NF', monospace;
font-size: 0.7rem;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
.no-results {
color: #${c.base03};
font-size: 0.9rem;
padding: 0.5rem 0.2rem;
display: none;
}
</style>
</head>
<body>
<div class="header">
<h1 class="page-title">Bookmarks</h1>
<input id="search" class="search-bar" type="text" placeholder="Search" autocomplete="off" spellcheck="false">
<button id="collapse-btn" class="collapse-btn" title="Collapse all folders" aria-label="Collapse all folders">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<polyline points="4 14 10 14 10 20"/><polyline points="20 10 14 10 14 4"/><line x1="10" y1="14" x2="3" y2="21"/><line x1="21" y1="3" x2="14" y2="10"/>
</svg>
</button>
</div>
<div class="bookmarks-container">
<p id="no-results" class="no-results">No results</p>
${lib.concatMapStrings mkSection grouped}
</div>
<script>
window.addEventListener('DOMContentLoaded', function () {
const input = document.getElementById('search');
const noResults = document.getElementById('no-results');
const collapseBtn = document.getElementById('collapse-btn');
input.focus();
collapseBtn.addEventListener('click', function () {
document.querySelectorAll('details.folder-section').forEach(function (d) {
d.open = false;
});
});
input.addEventListener('input', function () {
const query = this.value.toLowerCase().trim();
let anyVisible = false;
if (query) {
document.querySelectorAll('details.folder-section').forEach(function (d) {
d.open = true;
});
}
document.querySelectorAll('.folder-section, .root-section').forEach(function (section) {
let sectionVisible = false;
section.querySelectorAll('.card').forEach(function (card) {
const name = card.querySelector('.card-name').textContent.toLowerCase();
const url = card.querySelector('.card-url').textContent.toLowerCase();
const match = !query || name.includes(query) || url.includes(query);
card.style.display = match ? ''' : 'none';
if (match) { sectionVisible = true; anyVisible = true; }
});
section.style.display = sectionVisible ? ''' : 'none';
});
noResults.style.display = anyVisible || !query ? 'none' : 'block';
});
input.addEventListener('keydown', function (e) {
if (e.key === 'Enter') {
const val = this.value.trim();
const isUrl = /^https?:\/\//i.test(val) || /^[a-zA-Z0-9-]+(\.[a-zA-Z]{2,})(\/.*)?$/.test(val);
if (isUrl) {
location.href = /^https?:\/\//i.test(val) ? val : 'https://' + val;
} else {
const first = document.querySelector('.card:not([style*="none"])');
if (first) {
location.href = first.href;
} else {
const q = encodeURIComponent(val);
if (q) location.href = 'https://duckduckgo.com/?q=' + q;
}
}
}
if (e.key === 'Escape') {
this.value = ''';
this.dispatchEvent(new Event('input'));
}
});
});
</script>
</body>
</html>
'';
systemd.user.services.helium-startpage = {
Unit = {
Description = "Helium startpage HTTP server";
After = ["network.target"];
};
Service = {
Type = "simple";
ExecStart = "${pkgs.darkhttpd}/bin/darkhttpd %h/.local/share/helium-startpage --port 8888 --addr 127.0.0.1 --no-listing";
Restart = "on-failure";
};
Install.WantedBy = ["default.target"];
};
}
@@ -0,0 +1,50 @@
[
{
name = "Entertainment";
icon = "movie";
bookmarks = [
{
name = "Youtube";
url = "https://youtube.com";
}
{
name = "Jellyfin";
url = "https://media.hadi.icu";
}
{
name = "Seerr";
url = "https://demandemedia.hadi.icu";
}
{
name = "Social Media";
icon = "group";
bookmarks = [
{
name = "Medium";
url = "https://medium.com";
}
{
name = "Bluesky";
url = "https://bsky.app";
}
{
name = "Reddit";
url = "https://reddit.com";
}
{
name = "Instagram";
url = "https://instagram.com";
}
{
name = "Discord";
url = "https://discord.com/channels/@me/";
}
{
name = "Gitlab";
url = "https://gitlab.com/";
}
];
}
];
}
]
@@ -0,0 +1,14 @@
[
{
name = "Proton Mail";
url = "https://mail.proton.me";
}
{
name = "Proton Drive";
url = "https://drive.proton.me";
}
{
name = "Github";
url = "https://github.com";
}
]
@@ -0,0 +1,56 @@
[
{
name = "Infosec";
icon = "terminal";
bookmarks = [
{
name = "Nix 4 Cyber";
url = "https://n4c.hadi.icu";
}
{
name = "Infosec Notes - Anotherhadi";
url = "https://hadi.icu/notes";
}
{
name = "Cyberchef";
url = "https://cyberchef.hadi.icu";
}
{
name = "TryHackMe";
url = "https://tryhackme.com";
}
{
name = "Root-Me";
url = "https://root-me.org";
}
{
name = "Hack The Box";
url = "https://hackthebox.com";
}
{
name = "Iknowyou";
url = "https://iknowyou-prod.hadi.icu";
}
{
name = "Exploit-DB";
url = "https://exploit-db.com";
}
{
name = "Reverse Shell Generator";
url = "https://revshells.com";
}
{
name = "GTFOBins";
url = "https://gtfobins.org/";
}
{
name = "Crack Station";
url = "https://crackstation.net";
}
{
name = "Osint Tracker";
url = "https://app.osintracker.com";
}
];
}
]
@@ -0,0 +1,80 @@
[
{
name = "Jack";
icon = "dns";
bookmarks = [
{
name = "Glance";
url = "https://home.hadi.icu";
}
{
name = "Blog";
url = "https://hadi.icu";
}
{
name = "Gitea";
url = "https://git.hadi.icu";
}
{
name = "Mealie";
url = "https://mealie.hadi.icu";
}
{
name = "Wallpapers";
url = "https://wallpapers.hadi.icu";
}
{
name = "Default Creds";
url = "https://default-creds.hadi.icu";
}
{
name = "Media";
icon = "subscriptions";
bookmarks = [
{
name = "Radarr";
url = "https://radarr.hadi.icu";
}
{
name = "Sonarr";
url = "https://sonarr.hadi.icu";
}
{
name = "Bazarr";
url = "https://bazarr.hadi.icu";
}
{
name = "Prowlarr";
url = "https://prowlarr.hadi.icu";
}
{
name = "Transmission";
url = "https://transmission.hadi.icu";
}
];
}
{
name = "Infrastructure";
icon = "construction";
bookmarks = [
{
name = "AdGuard";
url = "https://adguard.hadi.icu";
}
{
name = "Umami";
url = "https://umami.hadi.icu";
}
{
name = "Cloudflare";
url = "https://dash.cloudflare.com";
}
{
name = "Cloudflare Zero Trust";
url = "https://one.dash.cloudflare.com";
}
];
}
];
}
]
@@ -0,0 +1,58 @@
[
{
name = "Other";
icon = "category";
bookmarks = [
{
name = "Documentation";
icon = "menu_book";
bookmarks = [
{
name = "Hyprland Wiki";
url = "https://wiki.hypr.land";
}
{
name = "Nerdfont Cheatsheet";
url = "https://www.nerdfonts.com/cheat-sheet";
}
{
name = "Helium Bangs";
url = "https://helium.computer/bangs";
}
{
name = "NVF Options";
url = "https://nvf.notashelf.dev/";
}
{
name = "Stylix Wiki";
url = "https://nix-community.github.io/stylix/";
}
{
name = "Nixpkgs";
url = "https://github.com/NixOS/nixpkgs";
}
{
name = "tldr";
url = "https://tldr.inbrowser.app/";
}
];
}
{
name = "Startpage Config";
url = "https://www.startpage.com/do/mypage.pl?prfe=45d331deb05471d659dba933e7400df51d952bb103da6f6125c0e769a6be1d65610456a479f495ceeee7e97311cf227d7c1bb198de0ceeb193d8cddf9c455c19a409cc35c3e3f542ee27bd7cecd3";
}
{
name = "Feedly";
url = "https://feedly.com";
}
{
name = "MyNixOS";
url = "https://mynixos.com";
}
{
name = "Amazon";
url = "https://amazon.fr";
}
];
}
]
@@ -0,0 +1,52 @@
[
{
name = "Tools";
icon = "handyman";
bookmarks = [
{
name = "Maps";
url = "https://maps.apple.com";
}
{
name = "Excalidraw";
url = "https://excalidraw.com";
}
{
name = "Cobalt (downloader)";
url = "https://cobalt.meowing.de";
}
{
name = "Mazanoke (image)";
url = "https://mazanoke.hadi.icu";
}
{
name = "Vert";
url = "https://vert.sh";
}
{
name = "Markdown to PDF";
url = "https://md2file.com";
}
{
name = "Image to Vector";
url = "https://www.vectorcascade.com/";
}
{
name = "PrivateBin";
url = "https://privatebin.net";
}
{
name = "Claude";
url = "https://claude.ai";
}
{
name = "Gemini";
url = "https://gemini.google.com";
}
{
name = "Lumo";
url = "https://lumo.proton.me";
}
];
}
]
+143
View File
@@ -0,0 +1,143 @@
{
inputs,
config,
pkgs-unstable,
lib,
...
}: let
c = config.lib.stylix.colors;
rgb = base: map lib.strings.toInt [c."${base}-rgb-r" c."${base}-rgb-g" c."${base}-rgb-b"];
themeId = "abcadngacjlikcpkhleafekcdjmddegk";
themeKey = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA6t46VoE3mdV1QNMgybpmQLi5PtYHejnNrSj4DkBZyiTzMzs7Yyvg64f78w3QubZA5cTXSQ7FVhVHvv30I8ym/jNzsSN6reh1t4PtKsFjFRugAty8bfKJGD404HZLOFN2z3G9UPVLBBgzDH3DWbb/kcOq60Mlo/QDCIjsieZg0G3EYMl4efoThzYPWoyv0UEoiliwrE/AChxbgipQetUZ48bFhTCsmnYzCze7clssfTobzWtJJG0qFx76LauHKymRS5OTFfgsovKqHUSFJ202Q53vFdUPP/j8PjSPr1kZeg1NYc7Ba3MoA49EwtJf5ol9oYu05EEnSQ5+1AoYVmdE8QIDAQAB";
themeManifest = builtins.toJSON {
manifest_version = 2;
name = "Stylix Theme";
version = "1.0";
key = themeKey;
theme.colors = {
frame = rgb "base00";
frame_inactive = rgb "base00";
frame_incognito = rgb "base00";
frame_incognito_inactive = rgb "base00";
toolbar = rgb "base00";
toolbar_button_icon = rgb "base05";
control_background = rgb "base00";
tab_text = rgb "base0D";
background_tab = rgb "base00";
tab_background_text = rgb "base04";
tab_background_text_inactive = rgb "base04";
ntp_background = rgb "base00";
ntp_text = rgb "base05";
};
};
heliumFlags = [
"--ozone-platform=wayland"
"--enable-features=UseOzonePlatform,VaapiVideoDecoder,VaapiVideoEncoder,CanvasOopRasterization"
"--disable-features=UseChromeOSDirectVideoDecoder,WaylandWpColorManagerV1"
"--enable-accelerated-video-decode"
"--enable-gpu-rasterization"
"--use-gl=egl"
"--no-default-browser-check"
"--show-avatar-button=never"
];
originalPkg = (inputs.helium-browser.packages.${pkgs-unstable.stdenv.hostPlatform.system}.helium).override {
flags = heliumFlags;
};
patchScript = pkgs-unstable.writeShellScript "helium-patch-prefs" ''
PROFILE="$HOME/.config/net.imput.helium/Default"
THEME_DIR="$PROFILE/Extensions/${themeId}/1.0_0"
PREFS="$PROFILE/Preferences"
mkdir -p "$THEME_DIR"
rm -f "$THEME_DIR/Cached Theme.pak"
printf '%s' '${themeManifest}' > "$THEME_DIR/manifest.json"
if [ -f "$PREFS" ]; then
tmp=$(mktemp)
${lib.getExe pkgs-unstable.jq} \
--arg id "${themeId}" \
--slurpfile manifest "$THEME_DIR/manifest.json" \
'
.helium.browser.layout = 3 |
.helium.browser.minimal_location_bar = true |
.helium.browser.show_dynamic_new_tab_button = false |
.helium.browser.rounded_frame = false |
.bookmark_bar.show_tab_groups = false |
.extensions.settings[$id] = {
"active_permissions": {"api": [], "explicit_host": [], "manifest_permissions": [], "scriptable_host": []},
"creation_flags": 0,
"from_webstore": false,
"install_time": "13300000000000000",
"location": 1,
"manifest": $manifest[0],
"path": ($id + "/1.0_0"),
"state": 1,
"was_installed_by_default": false,
"was_installed_by_oem": false
} |
.extensions.theme = {"id": $id, "use_system": false}
' "$PREFS" > "$tmp" && mv "$tmp" "$PREFS"
fi
'';
baseWrapped = pkgs-unstable.symlinkJoin {
name = "helium-wrapped";
paths = [originalPkg];
nativeBuildInputs = [pkgs-unstable.makeWrapper];
postBuild = ''
wrapProgram $out/bin/helium \
--set-default GTK_USE_PORTAL 1 \
--run ${lib.escapeShellArg (toString patchScript)}
'';
};
wrappedPkg = baseWrapped // {override = _: baseWrapped;};
in {
imports = [
inputs.helium-browser.homeModules.default
./bookmarks
];
programs.helium = {
enable = true;
package = lib.mkForce wrappedPkg;
};
home.sessionVariables.BROWSER = "${config.programs.helium.package}/bin/helium";
xdg.desktopEntries.helium = {
name = "Helium";
genericName = "Web Browser";
exec = "${config.programs.helium.package}/bin/helium %U";
icon = "${config.programs.helium.package}/share/icons/hicolor/256x256/apps/helium.png";
terminal = false;
categories = ["Network" "WebBrowser"];
mimeType = [
"text/html"
"text/xml"
"application/xhtml+xml"
"x-scheme-handler/http"
"x-scheme-handler/https"
"x-scheme-handler/ftp"
];
};
xdg.desktopEntries.helium-private = {
name = "Helium (Private window)";
genericName = "Web Browser";
exec = "${config.programs.helium.package}/bin/helium --incognito %U";
icon = "${config.programs.helium.package}/share/icons/hicolor/256x256/apps/helium.png";
terminal = false;
categories = ["Network" "WebBrowser"];
mimeType = ["text/html" "text/xml" "application/xhtml+xml"];
};
home.persistence."/persist".directories = [
".config/net.imput.helium"
];
}
+70
View File
@@ -0,0 +1,70 @@
{...}: let
bookmarkList =
(import ./bookmarks/general.nix)
++ (import ./bookmarks/tools.nix)
++ (import ./bookmarks/entertainment.nix)
++ (import ./bookmarks/infosec.nix)
++ (import ./bookmarks/other.nix)
++ (import ./bookmarks/jack.nix);
toChromium = items:
map (item:
if item ? url
then {inherit (item) name url;}
else {
name = item.name;
children = toChromium item.bookmarks;
})
items;
in {
stylix.targets.chromium.enable = false;
programs.helium = {
enable = true;
policies = {
BrowserSignin = 0;
SyncDisabled = true;
SigninAllowed = false;
PasswordManagerEnabled = false;
AutofillAddressEnabled = false;
AutofillCreditCardEnabled = false;
SafeBrowsingEnabled = false;
MetricsReportingEnabled = false;
SpellCheckServiceEnabled = false;
DefaultCookiesSetting = 1;
DefaultGeolocationSetting = 2;
DefaultNotificationsSetting = 2;
DefaultPopupsSetting = 2;
DefaultBrowserSettingEnabled = false;
DeveloperToolsAvailability = 1;
DnsOverHttpsMode = "automatic";
DnsOverHttpsTemplates = "https://dns.quad9.net/dns-query";
DefaultSearchProviderEnabled = true;
DefaultSearchProviderName = "Startpage";
DefaultSearchProviderSearchURL = "https://www.startpage.com/do/search?q={searchTerms}";
DefaultSearchProviderSuggestURL = "https://www.startpage.com/do/suggest?q={searchTerms}";
NewTabPageLocation = "http://127.0.0.1:8888";
HomepageIsNewTabPage = false;
HomepageLocation = "http://127.0.0.1:8888";
ShowHomeButton = false;
RestoreOnStartup = 4;
BookmarkBarEnabled = false;
ManagedBookmarks = toChromium bookmarkList;
ExtensionInstallForcelist = [
"dbepggeogbaibhgnhhndojpepiihcmeb" # Vimiu
"gcknhkkoolaabfmlnjonogaaifnjlfnp" # FoxyProxy
"ghmbeldphafepmbegfdlkpapadhbakde" # Proton Pass
"mdjildafknihdffpkfmmpnpoiajfjnjd" # Consent-O-Matic
"pkehgijcmpdhfbdbbnkijodmdjhbjlgp" # Privacy Badger
];
};
};
}
+24
View File
@@ -0,0 +1,24 @@
{pkgs, ...}: {
home.packages = with pkgs; [
vlc # Video player
obsidian # Note taking app
textpieces # Manipulate texts
resources # Resource monitor
gnome-clocks # Clocks app
gnome-text-editor # Basic graphic text editor
pinta # Image editor
switcheroo # Convert images between different formats
onlyoffice-desktopeditors # Office suite
blanket # Listen to different sounds
thunar # File explorer
signal-desktop # Messaging app
ticktick # Todo app
];
home.persistence."/persist".directories = [
".config/ticktick"
".config/Signal"
".config/obsidian"
];
}
+35
View File
@@ -0,0 +1,35 @@
{
pkgs,
config,
...
}: {
home.packages = with pkgs; [
proton-vpn
proton-pass
];
# Fix Proton Authenticator desktop entry
xdg.desktopEntries = {
"Proton Calendar" = {
name = "Proton Calendar";
exec = ''${config.programs.helium.package}/bin/helium "https://calendar.proton.me"'';
icon = "proton-calendar";
type = "Application";
categories = ["Utility"];
terminal = false;
};
"Proton Mail" = {
name = "Proton Mail";
exec = ''${config.programs.helium.package}/bin/helium "https://mail.proton.me/"'';
icon = "proton-mail";
type = "Application";
categories = ["Utility"];
terminal = false;
};
};
home.persistence."/persist".directories = [
".config/protonvpn"
".config/Proton Pass"
];
}
-28
View File
@@ -1,28 +0,0 @@
{
programs.kitty = {
enable = true;
keybindings = {
# Reset existing mappings
"ctrl+alt+tab" = "next_tab";
"ctrl+alt+shift+tab" = "previous_tab";
# Send Ctrl Tab and Ctrl + Shift + Tab for Tmux navigation
"ctrl+tab" = "send_text all \\x1b[27;5;9~";
"ctrl+shift+tab" = "send_text all \\x1b[27;6;9~";
"alt+tab" = "send_text all \\x1b[27;3;9~";
};
settings = {
scrollback_lines = 10000;
initial_window_width = 1200;
initial_window_height = 600;
update_check_interval = 0;
enable_audio_bell = false;
confirm_os_window_close = "0";
remember_window_size = "no";
disable_ligatures = "never";
url_style = "curly";
cursor_shape = "Underline";
cursor_underline_thickness = 3;
window_padding_width = 10;
};
};
}
-22
View File
@@ -1,22 +0,0 @@
{ config, lib, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
muted = "#${config.lib.stylix.colors.base03}";
in {
programs.lazygit = {
enable = true;
settings = lib.mkForce {
gui = {
theme = {
activeBorderColor = [ accent "bold" ];
inactiveBorderColor = [ muted ];
};
showListFooter = false;
showRandomTip = false;
showCommandLog = false;
showBottomLine = false;
nerdFontsVersion = "3";
};
};
};
}
-7
View File
@@ -1,7 +0,0 @@
# Nextcloud is a suite of client-server software for creating file hosting services and using them. It is functionally similar to Dropbox, although Nextcloud is free and open-source, allowing anyone to install and operate it on a private server. In contrast to proprietary services, Nextcloud can be hosted on a private server, without additional cost.
{
services.nextcloud-client = {
enable = true;
startInBackground = true;
};
}
-187
View File
@@ -1,187 +0,0 @@
{
programs.nixvim = {
autoGroups = {
auto_quit.clear = true;
autoview.clear = true;
bufferline.clear = true;
checktime.clear = true;
create_dir.clear = true;
editorconfig_filetype.clear = true;
file_user_events.clear = true;
highlighturl.clear = true;
highlightyank.clear = true;
large_buf_settings.clear = true;
q_close_windows.clear = true;
terminal_settings.clear = true;
unlist_quickfix.clear = true;
};
autoCmd = [
# auto_quit
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L18-L46
{
desc =
"Quit neovim if more than one window is open and only sidebar windows are list";
event = "BufEnter";
group = "auto_quit";
callback.__raw = ''
function()
local wins = vim.api.nvim_tabpage_list_wins(0)
-- Both neo-tree and aerial will auto-quit if there is only a single window left
if #wins <= 1 then return end
local sidebar_fts = { aerial = true, ["neo-tree"] = true }
for _, winid in ipairs(wins) do
if vim.api.nvim_win_is_valid(winid) then
local bufnr = vim.api.nvim_win_get_buf(winid)
local filetype = vim.bo[bufnr].filetype
-- If any visible windows are not sidebars, early return
if not sidebar_fts[filetype] then
return
-- If the visible window is a sidebar
else
-- only count filetypes once, so remove a found sidebar from the detection
sidebar_fts[filetype] = nil
end
end
end
if #vim.api.nvim_list_tabpages() > 1 then
vim.cmd.tabclose()
else
vim.cmd.qall()
end
end
'';
}
# autoview
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L49-L70
{
desc = "Save view with mkview for real files";
event = [ "BufWinLeave" "BufWritePost" "WinLeave" ];
group = "autoview";
callback.__raw = ''
function(event)
if vim.b[event.buf].view_activated then vim.cmd.mkview { mods = { emsg_silent = true } } end
end
'';
}
{
desc =
"Try to load file view if available and enable view saving for real files";
event = "BufWinEnter";
group = "autoview";
callback.__raw = ''
function(event)
if not vim.b[event.buf].view_activated then
local filetype = vim.bo[event.buf].filetype
local buftype = vim.bo[event.buf].buftype
local ignore_filetypes = { "gitcommit", "gitrebase", "svg", "hgcommit" }
if buftype == "" and filetype and filetype ~= "" and not vim.tbl_contains(ignore_filetypes, filetype) then
vim.b[event.buf].view_activated = true
vim.cmd.loadview { mods = { emsg_silent = true } }
end
end
end
'';
}
# checktime
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L118-L122
{
desc = "Check if buffers changed on editor focus";
event = [ "FocusGained" "TermClose" "TermLeave" ];
group = "checktime";
command = "checktime";
}
# editorconfig_filetype
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L135-L144
{
desc =
"Configure editorconfig after filetype detection to override `ftplugin`s";
event = "FileType";
group = "editorconfig_filetype";
callback.__raw = ''
function(args)
if vim.F.if_nil(vim.b.editorconfig, vim.g.editorconfig, true) then
local editorconfig_avail, editorconfig = pcall(require, "editorconfig")
if editorconfig_avail then editorconfig.config(args.buf) end
end
end
'';
}
# highlightyank
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L206-L211
{
desc = "Highlight yanked text";
event = "TextYankPost";
group = "highlightyank";
pattern = "*";
callback.__raw = ''
function()
vim.highlight.on_yank()
end
'';
}
# q_close_windows
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L242-L255
{
desc = "Make q close help, man, quickfix, dap floats";
event = "BufWinEnter";
group = "q_close_windows";
callback.__raw = ''
function(event)
if vim.tbl_contains({ "help", "nofile", "quickfix" }, vim.bo[event.buf].buftype) then
vim.keymap.set("n", "q", "<Cmd>close<CR>", {
desc = "Close window",
buffer = event.buf,
silent = true,
nowait = true,
})
end
end
'';
}
# terminal_settings
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L258-L266
{
desc = "Disable line number/fold column/sign column for terminals";
event = "TermOpen";
group = "terminal_settings";
callback.__raw = ''
function()
vim.opt_local.number = false
vim.opt_local.relativenumber = false
vim.opt_local.foldcolumn = "0"
vim.opt_local.signcolumn = "no"
end
'';
}
# unlist_quickfix
# https://github.com/AstroNvim/AstroNvim/blob/v4.7.7/lua/astronvim/plugins/_astrocore_autocmds.lua#L270-L275
{
desc = "Unlist quickfix buffers";
event = "FileType";
group = "unlist_quickfix";
pattern = "qf";
callback.__raw = ''
function()
vim.opt_local.buflisted = false
end
'';
}
];
};
}
-21
View File
@@ -1,21 +0,0 @@
# Nixvim is a NixOS module that installs and configures Neovim
{ inputs, ... }: {
imports = [
inputs.nixvim.homeManagerModules.nixvim
./plugins/lsp.nix
./plugins/tree.nix
./plugins/telescope.nix
./plugins/cmp.nix
./plugins/ui.nix
./plugins/lualine.nix
./plugins/utils.nix
./plugins/dashboard.nix
./plugins/markdown.nix
./options.nix
./keymaps.nix
./autocmds.nix
];
programs.nixvim.enable = true;
}
-310
View File
@@ -1,310 +0,0 @@
{
programs.nixvim = {
plugins.which-key = {
enable = true;
settings = {
delay = 600;
icons = {
breadcrumb = "»";
group = "+";
separator = ""; # ➜
mappings = false;
};
spec = [
# General Mappings
{
__unkeyed-1 = "<leader>c";
mode = [ "n" "v" ];
group = "+code";
}
{
__unkeyed-1 = "<leader>d";
mode = [ "n" "v" ];
group = "+debug";
}
{
__unkeyed-1 = "<leader>s";
mode = "n";
group = "+search";
}
{
__unkeyed-1 = "<leader>m";
mode = "n";
group = "+markdown";
}
{
__unkeyed-1 = "<leader>t";
mode = "n";
group = "+trouble";
}
{
__unkeyed-1 = "<leader>u";
mode = "n";
group = "+ui";
}
{
__unkeyed-1 = "<leader>w";
mode = "n";
group = "+windows";
}
{
__unkeyed-1 = "<leader>h";
mode = "n";
group = "+harpoon";
}
];
win = {
border = "rounded";
wo.winblend = 0;
};
};
};
keymaps = [
# General Mappings
{
key = "<leader>e";
action = "<cmd>Oil --float<cr>";
options.desc = "Oil";
}
{
key = "-";
action = "<cmd>Oil<cr>";
options.desc = "Oil";
}
{
key = "<leader>E";
action = "<cmd>Neotree toggle<cr>";
options.desc = "Neotree";
}
{
key = "s";
action = "<cmd>lua require('flash').jump()<cr>";
options.desc = "Flash";
}
{
key = "K";
action = "<cmd>lua vim.lsp.buf.hover()<cr>";
options.desc = "LSP Hover";
}
{
key = "<C-h>";
action = "<cmd>TmuxNavigateLeft<cr>";
}
{
key = "<C-j>";
action = "<cmd>TmuxNavigateDown<cr>";
}
{
key = "<C-k>";
action = "<cmd>TmuxNavigateUp<cr>";
}
{
key = "<C-l>";
action = "<cmd>TmuxNavigateRight<cr>";
}
# UI
{
key = "<leader>uz";
action = "<cmd>ZenMode<cr>";
options.desc = "Toggle ZenMode";
}
{
key = "<leader>uw";
action = "<cmd>set wrap!<cr>";
options.desc = "Toggle word wrapping";
}
{
key = "<leader>ul";
action = "<cmd>set linebreak!<cr>";
options.desc = "Toggle linebreak";
}
{
key = "<leader>us";
action = "<cmd>set spell!<cr>";
options.desc = "Toggle spellcheck";
}
{
key = "<leader>uc";
action = "<cmd>set cursorline!<cr>";
options.desc = "Toggle cursorline";
}
{
key = "<leader>un";
action = "<cmd>set number!<cr>";
options.desc = "Toggle line numbers";
}
{
key = "<leader>ur";
action = "<cmd>set relativenumber!<cr>";
options.desc = "Toggle relative line numbers";
}
{
key = "<leader>ut";
action = "<cmd>set showtabline=2<cr>";
options.desc = "Show tabline";
}
{
key = "<leader>uT";
action = "<cmd>set showtabline=0<cr>";
options.desc = "Hide tabline";
}
# Search
{
key = "<leader> ";
action = "<cmd>lua require('telescope.builtin').find_files()<cr>";
options.desc = "Telescope";
}
{
key = "<leader>sg";
action = "<cmd>lua require('telescope.builtin').live_grep()<cr>";
options.desc = "Livegrep";
}
{
key = "<leader>sf";
action = "<cmd>lua require('telescope.builtin').find_files()<cr>";
options.desc = "Find Files";
}
{
key = "<leader>sb";
action = "<cmd>lua require('telescope.builtin').buffers()<cr>";
options.desc = "Buffers";
}
{
key = "<leader>sh";
action = "<cmd>lua require('telescope.builtin').help_tags()<cr>";
options.desc = "Help Tags";
}
{
key = "<leader>sc";
action = "<cmd>lua require('telescope.builtin').commands()<cr>";
options.desc = "Commands";
}
{
key = "<leader>sm";
action = "<cmd>lua require('telescope.builtin').marks()<cr>";
options.desc = "Marks";
}
{
key = "<leader>so";
action = "<cmd>lua require('telescope.builtin').oldfiles()<cr>";
options.desc = "Oldfiles";
}
{
key = "<leader>ss";
action = "<cmd>lua require('telescope.builtin').spell_suggest()<cr>";
options.desc = "Spell Suggest";
}
{
key = "<leader>sr";
action = "<cmd>:noh<return><esc>";
options.desc = "Reset search";
}
{
key = "<leader>st";
action = "<cmd>TodoTelescope<cr>";
options.desc = "Todos";
}
# Trouble
{
key = "<leader>tx";
action = "<cmd>Trouble diagnostics toggle<cr>";
options.desc = "Diagnostics (Trouble)";
}
{
key = "<leader>tX";
action = "<cmd>Trouble diagnostics toggle filter.buf=0<cr>";
options.desc = "Buffer Diagnostics (Trouble)";
}
{
key = "<leader>ts";
action = "<cmd>Trouble symbols toggle focus=false<cr>";
options.desc = "Symbols (Trouble)";
}
{
key = "<leader>tl";
action = "<cmd>Trouble lsp toggle focus=false win.position=right<cr>";
options.desc = "LSP Definitions / references / ... (Trouble)";
}
{
key = "<leader>tL";
action = "<cmd>Trouble loclist toggle<cr>";
options.desc = "Location List (Trouble)";
}
{
key = "<leader>tQ";
action = "<cmd>Trouble qflist toggle<cr>";
options.desc = "Quickfix List (Trouble)";
}
# Windows
{
key = "<leader>ws";
action = "<cmd>split<cr>";
options.desc = "Split";
}
{
key = "<leader>wv";
action = "<cmd>vsplit<cr>";
options.desc = "VSplit";
}
{
key = "<leader>wd";
action = "<cmd>close<cr>";
options.desc = "Close";
}
# Code
{
key = "<leader>cd";
action = "<cmd>lua vim.lsp.buf.definition()<cr>";
options.desc = "LSP Definition";
}
{
key = "<leader>cr";
action = "<cmd>lua vim.lsp.buf.references()<cr>";
options.desc = "LSP References";
}
{
key = "<leader>ct";
action = "<cmd>lua vim.lsp.buf.type_definition()<cr>";
options.desc = "LSP Type Definition";
}
{
key = "<leader>ca";
action = "<cmd>lua vim.lsp.buf.code_action()<cr>";
options.desc = "LSP Code Action";
}
{
key = "<leader>cf";
action = "<cmd>lua vim.lsp.buf.formatting()<cr>";
options.desc = "LSP Formatting";
}
{
key = "<leader>cn";
action = "<cmd>lua vim.lsp.diagnostic.goto_next()<cr>";
options.desc = "LSP Next Diagnostic";
}
{
key = "<leader>cp";
action = "<cmd>lua vim.lsp.diagnostic.goto_prev()<cr>";
options.desc = "LSP Previous Diagnostic";
}
{
key = "<leader>cu";
action = "<cmd>lua require('dapui').toggle()<CR>";
options.desc = "Toggle Dapui";
}
{
key = "<leader>cb";
action = "<cmd>lua require('dap').toggle_breakpoint()<CR>";
options.desc = "Toggle breakpoint";
}
];
};
}
-151
View File
@@ -1,151 +0,0 @@
{
programs.nixvim = {
globals.mapleader = " ";
opts = {
autoindent = true;
smartindent = true;
incsearch = true;
hlsearch = true;
wildmode = "list:longest";
scrolloff = 8;
swapfile = false;
conceallevel = 3;
clipboard = "unnamed,unnamedplus";
# Don't stop backspace at insert
backspace.__raw = ''
vim.list_extend(vim.opt.backspace:get(), { "nostop" })
'';
# Keep visual indentation on wrapped lines
breakindent = true;
# Hide command line unless needed
cmdheight = 0;
# Insert mode completion options
completeopt = [ "menu" "menuone" "noselect" ];
# Raise a dialog asking if you wish to save the current file(s)
confirm = true;
# Copy previous indentation on autoindenting
copyindent = true;
# Highlight current line
cursorline = true;
# Enable linematch diff algorithm
diffopt.__raw = ''
vim.list_extend(vim.opt.diffopt:get(), { "algorithm:histogram", "linematch:60" })
'';
# Expand <Tab> to spaces
expandtab = true;
# Disable `~` on nonexistent lines
fillchars = { eob = " "; };
# Enable fold with all code unfolded
foldcolumn = "1";
foldenable = true;
foldlevel = 99;
foldlevelstart = 99;
# Ignore case in search patterns
ignorecase = true;
# Show substitution preview in split window
inccommand = "split";
# Infer casing on word completion
infercase = true;
# Global statusline
laststatus = 3;
# Wrap lines at 'breakat'
linebreak = true;
# Enable mouse support
mouse = "a";
# Show line numbers
number = true;
# Preserve indentation as much as possible
preserveindent = true;
# Height of the popup menu
pumheight = 10;
# Display line numbers relative to current line
relativenumber = true;
# Minimal number of lines to keep around the cursor
# This has the effect to move the view along with current line
#scrolloff = 999;
# Number of spaces to use for indentation
shiftwidth = 2;
# Disable search count wrap and startup messages
shortmess.__raw = ''
vim.tbl_deep_extend("force", vim.opt.shortmess:get(), { s = true, I = true })
'';
# Disable showing modes in command line
showmode = false;
# Always show tabline
showtabline = 2;
# Show signs column
signcolumn = "yes";
# Override ignorecase if search pattern contains uppercase characters
smartcase = true;
# Number of spaces input on <Tab>
softtabstop = 2;
# Open horizontal split below (:split)
splitbelow = true;
# Open vertical split to the right (:vsplit)
splitright = true;
# Number of spaces to represent a <Tab>
tabstop = 2;
# Enables 24-bit RGB color
termguicolors = true;
# Shorter timeout duration
timeoutlen = 500;
# Set window title to the filename
title = true;
# Save undo history to undo file (in $XDG_STATE_HOME/nvim/undo)
undofile = true;
viewoptions.__raw = ''
vim.tbl_filter(function(val) return val ~= "curdir" end, vim.opt.viewoptions:get())
'';
# Enable virtual edit in visual block mode
# This has the effect of selecting empty cells beyond lines boundaries
virtualedit = "block";
# Disable line wrapping
wrap = false;
# Disable making a backup before overwriting a file
writebackup = false;
};
};
}
-116
View File
@@ -1,116 +0,0 @@
{
programs.nixvim.plugins = {
luasnip.enable = true;
cmp-buffer = { enable = true; };
cmp-emoji = { enable = true; };
cmp-nvim-lsp = { enable = true; };
cmp-path = { enable = true; };
cmp_luasnip = { enable = true; };
cmp = {
enable = true;
settings = {
snippet.expand =
"function(args) require('luasnip').lsp_expand(args.body) end";
sources = [
{ name = "nvim_lsp"; }
{ name = "luasnip"; }
{
name = "buffer";
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
}
{ name = "nvim_lua"; }
{ name = "mkdnflow"; }
{ name = "path"; }
];
formatting = {
fields = [ "abbr" "kind" "menu" ];
format =
# lua
''
function(_, item)
local icons = {
Namespace = "󰌗",
Text = "󰉿",
Method = "󰆧",
Function = "󰆧",
Constructor = "",
Field = "󰜢",
Variable = "󰀫",
Class = "󰠱",
Interface = "",
Module = "",
Property = "󰜢",
Unit = "󰑭",
Value = "󰎠",
Enum = "",
Keyword = "󰌋",
Snippet = "",
Color = "󰏘",
File = "󰈚",
Reference = "󰈇",
Folder = "󰉋",
EnumMember = "",
Constant = "󰏿",
Struct = "󰙅",
Event = "",
Operator = "󰆕",
TypeParameter = "󰊄",
Table = "",
Object = "󰅩",
Tag = "",
Array = "[]",
Boolean = "",
Number = "",
Null = "󰟢",
String = "󰉿",
Calendar = "",
Watch = "󰥔",
Package = "",
Copilot = "",
Codeium = "",
TabNine = "",
}
local icon = icons[item.kind] or ""
item.kind = string.format("%s %s", icon, item.kind or "")
return item
end
'';
};
window = {
completion = {
winhighlight =
"FloatBorder:CmpBorder,Normal:CmpPmenu,Search:PmenuSel";
scrollbar = false;
sidePadding = 0;
border = [ "" "" "" "" "" "" "" "" ];
};
documentation = {
border = [ "" "" "" "" "" "" "" "" ];
winhighlight =
"FloatBorder:CmpBorder,Normal:CmpPmenu,Search:PmenuSel";
};
};
mapping = {
"<C-n>" = "cmp.mapping.select_next_item()";
"<C-p>" = "cmp.mapping.select_prev_item()";
"<Down>" = "cmp.mapping.select_next_item()";
"<Up>" = "cmp.mapping.select_prev_item()";
"<C-j>" = "cmp.mapping.select_next_item()";
"<C-k>" = "cmp.mapping.select_prev_item()";
"<C-d>" = "cmp.mapping.scroll_docs(-4)";
"<C-f>" = "cmp.mapping.scroll_docs(4)";
"<C-Space>" = "cmp.mapping.complete()";
"<C-e>" = "cmp.mapping.close()";
"<CR>" =
"cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Insert, select = true })";
};
};
};
};
}
-153
View File
@@ -1,153 +0,0 @@
{ config, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
muted = "#${config.lib.stylix.colors.base03}";
foreground = "#${config.lib.stylix.colors.base05}";
configDir = config.var.configDirectory;
in {
programs.nixvim.highlight = {
AlphaHeaderColor.fg = accent;
AlphaTextColor.fg = foreground;
AlphaShortcutColor.fg = muted;
};
programs.nixvim.plugins.alpha = {
enable = true;
layout = [
{
type = "padding";
val = 4;
}
{
type = "text";
opts = {
position = "center";
hl = "AlphaHeaderColor";
};
val = [
" "
" "
" "
" "
" "
" "
" "
" "
" "
];
}
{
type = "padding";
val = 4;
}
{
type = "group";
val = [
{
type = "button";
val = "󰭎 Find file";
on_press.__raw = "function() vim.cmd[[Telescope find_files]] end";
opts = {
shortcut = "nf";
position = "center";
cursor = 3;
width = 50;
align_shortcut = "right";
hl_shortcut = "AlphaShortcutColor";
hl = "AlphaTextColor";
};
}
{
type = "button";
val = " New file";
on_press.__raw = "function() vim.cmd[[ene]] end";
opts = {
shortcut = "nn";
position = "center";
cursor = 3;
width = 50;
align_shortcut = "right";
hl_shortcut = "AlphaShortcutColor";
hl = "AlphaTextColor";
};
}
{
type = "button";
val = " NixOs Config";
on_press.__raw = "function() vim.cmd[[Neotree ${configDir}]] end";
opts = {
shortcut = "nc";
position = "center";
cursor = 3;
width = 50;
align_shortcut = "right";
hl_shortcut = "AlphaShortcutColor";
hl = "AlphaTextColor";
};
}
{
type = "button";
val = " Keybindings";
on_press.__raw =
"function() vim.cmd[[e ${configDir}/docs/KEYBINDINGS.md]] end";
opts = {
shortcut = "nc";
position = "center";
cursor = 3;
width = 50;
align_shortcut = "right";
hl_shortcut = "AlphaShortcutColor";
hl = "AlphaTextColor";
};
}
{
type = "button";
val = " Recently used";
on_press.__raw = "function() vim.cmd[[Telescope oldfiles]] end";
opts = {
shortcut = "no";
position = "center";
cursor = 3;
width = 50;
align_shortcut = "right";
hl_shortcut = "AlphaShortcutColor";
hl = "AlphaTextColor";
};
}
{
type = "button";
val = "󰱽 Find text";
on_press.__raw = "function() vim.cmd[[Telescope live_grep]] end";
opts = {
shortcut = "nt";
position = "center";
cursor = 3;
width = 50;
align_shortcut = "right";
hl_shortcut = "AlphaShortcutColor";
hl = "AlphaTextColor";
};
}
{
type = "button";
val = "󰩈 Quit Neovim";
on_press.__raw = "function() vim.cmd[[qa]] end";
opts = {
shortcut = "nq";
position = "center";
cursor = 3;
width = 50;
align_shortcut = "right";
hl_shortcut = "AlphaShortcutColor";
hl = "AlphaTextColor";
};
}
];
}
];
};
}
-54
View File
@@ -1,54 +0,0 @@
{
programs.nixvim.plugins = {
lsp-format.enable = true;
lsp = {
enable = true;
servers = {
bashls.enable = true;
clangd.enable = true;
gopls.enable = true;
eslint.enable = true;
ts_ls.enable = true;
nixd = {
enable = true;
extraOptions = {
expr = "import <nixpkgs> {}";
# fix- encoding: https://github.com/nix-community/nixvim/issues/2390
offset_encoding = "utf-8";
};
};
tailwindcss.enable = true;
html.enable = true;
svelte.enable = true;
marksman.enable = true;
};
keymaps.lspBuf = {
"gd" = "definition";
"gD" = "references";
"gt" = "type_definition";
"gi" = "implementation";
"K" = "hover";
};
};
none-ls = {
enable = true;
sources = {
diagnostics = {
golangci_lint.enable = true;
statix.enable = true;
};
formatting = {
gofmt.enable = true;
goimports.enable = true;
nixfmt.enable = true;
markdownlint.enable = true;
tidy.enable = true;
shellharden.enable = true;
shfmt.enable = true;
golines.enable = true;
gofumpt.enable = true;
};
};
};
};
}
-30
View File
@@ -1,30 +0,0 @@
{
programs.nixvim.plugins.lualine = {
enable = true;
settings = {
options.disabled_filetypes.statusline =
[ "dashboard" "alpha" "neo-tree" ];
alwaysDivideMiddle = true;
globalstatus = true;
ignoreFocus = [ "neo-tree" ];
extensions = [ "fzf" ];
componentSeparators = {
left = "|";
right = "|";
};
sectionSeparators = {
left = ""; # 
right = ""; # 
};
sections = {
lualine_a = [ "mode" ];
lualine_b = [ "branch" "diff" "diagnostics" ];
lualine_c = [ "filename" ];
lualine_x = [ "filetype" ];
lualine_y = [ "progress" ];
lualine_z = [ ''" " .. os.date("%R")'' ];
};
};
};
}
-243
View File
@@ -1,243 +0,0 @@
{ config, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
muted = "#${config.lib.stylix.colors.base03}";
in {
programs.nixvim = {
# Markdown settings
extraFiles."after/ftplugin/markdown.lua".text = ''
vim.bo.tabstop = 2
vim.bo.shiftwidth = 2
vim.bo.expandtab = true
'';
# Highlight colors
highlight = {
Headline1 = {
bg = "#4B4266";
fg = accent;
};
Headline2 = {
bg = "#3B575E";
fg = "#9FFEFE";
};
Headline3 = {
bg = "#3B5742";
fg = "#9FFE9F";
};
Headline4 = {
bg = "#574842";
fg = "#FECB9F";
};
RenderMarkdownTodo.fg = "#f78c6c";
RenderMarkdownWarning.fg = "#ff5370";
RenderMarkdownDone.fg = muted;
};
# Plugins
plugins = {
# Paste images from clipboard
clipboard-image = {
enable = true;
settings = { default.img_dir = [ "%:p:h" "img" ]; };
};
# Zen mode
zen-mode = {
enable = true;
settings = {
on_close = ''
function()
end
'';
on_open = ''
function()
end
'';
plugins = {
gitsigns = { enabled = false; };
options = {
enabled = true;
ruler = false;
showcmd = false;
laststatus = "0";
kitty = {
enabled = true;
font = "+4";
};
};
};
window = {
backdrop = 0.95;
height = 1;
options = {
signcolumn = "no";
number = false;
relativenumber = false;
};
width = 0.8;
};
};
};
# Display images in markdown
image = {
enable = true;
integrations.markdown = {
clearInInsertMode = true;
onlyRenderImageAtCursor = true;
};
};
# This one takes care of the markdown titles
headlines = {
enable = true;
settings = {
markdown = {
headline_highlights =
[ "Headline1" "Headline2" "Headline3" "Headline4" ];
};
};
};
# MkdnFlow is a plugin that helps you navigate markdown files
mkdnflow = {
enable = true;
modules = { conceal = false; };
toDo.symbols = [ " " "-" "x" "!" "/" ];
mappings = {
MkdnCreateLink = false;
MkdnCreateLinkFromClipboard = {
key = "<leader>ml";
modes = [ "n" "v" ];
};
MkdnDecreaseHeading = {
key = "<leader>m-";
modes = "n";
};
MkdnDestroyLink = false;
MkdnEnter = {
key = "<CR>";
modes = [ "v" ];
};
MkdnExtendList = false;
MkdnFoldSection = {
key = "<leader>mf";
modes = "n";
};
MkdnUnfoldSection = {
key = "<leader>mF";
modes = "n";
};
MkdnFollowLink = {
key = "gd";
modes = "n";
};
MkdnGoBack = false;
MkdnGoForward = false;
MkdnIncreaseHeading = {
key = "<leader>m+";
modes = "n";
};
MkdnMoveSource = false;
MkdnNewListItem = false;
MkdnNewListItemAboveInsert = {
key = "O";
modes = "n";
};
MkdnNewListItemBelowInsert = {
key = "o";
modes = "n";
};
MkdnNextHeading = {
key = "<leader>m#";
modes = "n";
};
MkdnNextLink = false;
MkdnPrevLink = false;
MkdnPrevHeading = {
key = "<leader>m*";
modes = "n";
};
MkdnSTab = false;
MkdnTab = false;
MkdnTableNewColAfter = {
key = "<leader>mc";
modes = "n";
};
MkdnTableNewColBefore = {
key = "<leader>mC";
modes = "n";
};
MkdnTableNewRowAbove = {
key = "<leader>mR";
modes = "n";
};
MkdnTableNewRowBelow = {
key = "<leader>mr";
modes = "n";
};
MkdnTableNextCell = {
key = "<S-Tab>";
modes = "n";
};
MkdnTableNextRow = false;
MkdnTablePrevCell = {
key = "<S-Tab>";
modes = "n";
};
MkdnTablePrevRow = false;
MkdnToggleToDo = {
key = "<C-Space>";
modes = [ "n" "v" ];
};
MkdnUpdateNumbering = {
key = "<leader>mn";
modes = "n";
};
MkdnYankAnchorLink = {
key = "ya";
modes = "n";
};
MkdnYankFileAnchorLink = {
key = "yfa";
modes = "n";
};
};
};
# Render UI elements
render-markdown = {
enable = true;
settings = {
heading = { enabled = false; };
checkbox = {
unchecked = { highlight = "RenderMarkdownTodo"; };
checked = { highlight = "RenderMarkdownDone"; };
custom = {
pending = {
raw = "[-]";
rendered = " ";
highlight = "RenderMarkdownTodo";
};
important = {
raw = "[!]";
rendered = "󰰱 ";
highlight = "RenderMarkdownWarning";
};
cancel = {
raw = "[/]";
rendered = "󱋬 ";
highlight = "RenderMarkdownWarning";
};
};
};
};
};
};
};
}
-31
View File
@@ -1,31 +0,0 @@
{ config, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
background = "#${config.lib.stylix.colors.base00}";
background-alt = "#${config.lib.stylix.colors.base01}";
in {
programs.nixvim = {
highlight = {
TelescopePromptPrefix.fg = accent;
TelescopeSelectionCaret = {
fg = accent;
bg = background-alt;
};
TelescopeSelection.bg = background-alt;
TelescopePromptTitle = {
bg = background;
fg = accent;
};
TelescopePromptNormal.bg = background;
TelescopePromptBorder = {
bg = background;
fg = accent;
};
};
plugins.telescope = {
enable = true;
extensions.fzf-native = { enable = true; };
settings.defaults = { selection_caret = " "; };
};
};
}
-49
View File
@@ -1,49 +0,0 @@
{
programs.nixvim = {
plugins = {
neo-tree.enable = true;
oil = {
enable = true;
settings = {
default_file_explorer = false;
skip_confirm_for_simple_edits = true;
view_options.is_hidden_file = ''
function(name, bufnr)
return vim.startswith(name, ".") or name == "img"
end
'';
win_options = {
concealcursor = "ncv";
conceallevel = 3;
cursorcolumn = false;
foldcolumn = "0";
list = false;
signcolumn = "no";
spell = false;
wrap = false;
};
float = { padding = 5; };
keymaps = {
"-" = "actions.parent";
"b" = "actions.parent";
"<C-c>" = "actions.close";
"<C-h>" = "actions.select_split";
"<C-l>" = "actions.refresh";
"<C-p>" = "actions.preview";
"<C-s>" = "actions.select_vsplit";
"<C-t>" = "actions.select_tab";
"<CR>" = "actions.select";
_ = "actions.open_cwd";
"`" = "actions.cd";
"g." = "actions.toggle_hidden";
"g?" = "actions.show_help";
"g\\" = "actions.toggle_trash";
gs = "actions.change_sort";
gx = "actions.open_external";
"~" = "actions.tcd";
};
};
};
};
};
}
-14
View File
@@ -1,14 +0,0 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ ctags ];
programs.nixvim.plugins = {
web-devicons.enable = true;
noice.enable = true;
gitsigns = {
enable = true;
settings.current_line_blame = false;
};
trouble.enable = true;
bufferline.enable = true;
};
}
-25
View File
@@ -1,25 +0,0 @@
{ config, ... }: {
programs.nixvim = {
highlightOverride = {
FloatBorder.fg = "#${config.lib.stylix.colors.base0D}";
};
nixpkgs.config = { allowUnfree = true; };
plugins = {
copilot-vim.enable = true;
flash.enable = true;
tmux-navigator.enable = true;
comment.enable = true;
nvim-autopairs.enable = true;
todo-comments.enable = true;
treesitter = {
enable = true;
nixGrammars = true;
settings = {
ensure_installed = "all";
indent.enable = true;
highlight.enable = true;
};
};
};
};
}
-257
View File
@@ -1,257 +0,0 @@
# Qutebrowser is a keyboard-focused browser with a minimal GUI.
# My homepage is generated using https://github.com/anotherhadi/homepage
{ pkgs, config, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
background = "#${config.lib.stylix.colors.base00}";
foreground = "#${config.lib.stylix.colors.base05}";
muted = "#${config.lib.stylix.colors.base03}";
settings = ''
{
"config": {
"title" : "Welcome Home",
"openLinksInNewTab": false,
"locale": "fr-FR",
"colors": {
"primary": "${accent}",
"background": "${background}",
"foreground": "${foreground}",
"muted": "#${muted}"
},
"folders": [
{
"name": "Bookmarks",
"links": [
{"title": "MyNixOs", "url": "https://mynixos.com", "icon": "󱄅"},
{"title": "Github", "url": "https://github.com", "icon": ""},
{"title": "Proton", "url": "https://mail.proton.me/u/0/inbox", "icon": ""},
{"title": "Cloudflare One", "url": "https://one.dash.cloudflare.com/", "icon": ""},
{"title": "Chat GPT", "url": "https://chat.openai.com/", "icon": "󰭹"},
{"title": "Nixvim", "url": "https://nix-community.github.io/nixvim/", "icon": ""},
{"title": "Hyprland Wiki", "url": "https://wiki.hyprland.org/", "icon": "󰖬"},
{"title": "Youtube", "url": "https://youtube.com", "icon": "󰗃"},
{"title": "Figma", "url": "https://figma.com", "icon": ""},
{"title": "Server", "url": "https://home.anotherhadi.com", "icon": ""}
]
},
{
"name": "Work",
"links": [
{"title": "Outlook", "url": "https://outlook.office.com/mail/", "icon": "󰴢"},
{"title": "Office", "url": "https://www.office.com/?auth=2", "icon": "󰏆"},
{"title": "Teams", "url": "https://teams.microsoft.com/_", "icon": "󰊻"}
]
}
]
}
}
'';
homepage = pkgs.buildNpmPackage {
pname = "homepage";
version = "0.0.0";
src = pkgs.fetchFromGitHub {
owner = "anotherhadi";
repo = "homepage";
rev = "b77d35ed3596eb451bd2ec78063d7cc6e73c773d";
hash = "sha256-j/40922kfAh6zqJ4IRYpr66YXNNYsxuXwZ0aiJFJea0=";
};
# npmDepsHash = lib.fakeHash;
npmDepsHash = "sha256-bG+CHTq2Rst3JMxsjAC81KhK+G7WwsTVD1eyP87g0z4=";
buildPhase = ''
npm install
cp ${
pkgs.writeText "src/routes/config.json" settings
} src/routes/config.json
npm run build
mkdir $out
mv build $out
'';
meta = {
description = "homepage";
homepage = "https://github.com/anotherhadi/homepage";
};
};
in {
imports = [ ./duckduckgo-colorscheme.nix ];
programs.qutebrowser = {
enable = true;
searchEngines = {
"DEFAULT" = "https://duckduckgo.com/?q={}&ia=web";
"d" = "https://duckduckgo.com/?q={}&ia=web";
"g" = "https://google.com/search?q={}";
"y" = "https://youtube.com/results?search_query={}";
"ya" = "https://yandex.com/search/?text={}";
"n" = "https://mynixos.com/search?q={}";
"nixo" = "https://search.nixos.org/options?channel=unstable&query={}";
"nixp" = "https://search.nixos.org/packages?channel=unstable&query={}";
"gt" = "https://github.com/search?q={}&type=repositories";
};
quickmarks = {
home = "${homepage}/build/index.html";
server = "https://home.anotherhadi.com";
jack = "https://home.anotherhadi.com";
mynixos = "https://mynixos.com";
github = "https://github.com";
outlook = "https://outlook.office.com/mail/";
office = "https://www.office.com/?auth=2";
teams = "https://teams.microsoft.com/_";
casa = "http://192.168.2.16:8081/#/";
proton = "https://mail.proton.me/u/0/inbox";
cloudflare-one = "https://one.dash.cloudflare.com/";
chatgpt = "https://chat.openai.com/";
nixvim = "https://nix-community.github.io/nixvim/";
hyprland = "https://wiki.hyprland.org/";
nerdfont = "https://www.nerdfonts.com/cheat-sheet";
youtube = "https://youtube.com/";
cloudflare = "https://dash.cloudflare.com/";
};
settings = {
url = {
default_page = "${homepage}/build/index.html";
start_pages = [ "${homepage}/build/index.html" ];
};
colors = {
webpage.preferred_color_scheme =
"dark"; # Enable dark mode for websites that support it
};
statusbar.show = "in-mode";
completion = {
height = "30%";
open_categories = [ "history" ];
scrollbar = {
padding = 0;
width = 0;
};
show = "always";
shrink = true;
timestamp_format = "";
web_history.max_items = 7;
};
content = {
autoplay = false;
javascript.clipboard = "access";
javascript.enabled = true;
webgl = true;
pdfjs = true;
};
downloads = {
position = "bottom";
remove_finished = 0;
};
hints = { radius = 1; };
scrolling = {
bar = "never";
smooth = true;
};
tabs = {
show = "multiple";
last_close = "close";
mode_on_change = "restore";
close_mouse_button = "right";
};
zoom.default = "100%";
qt.force_software_rendering = "chromium";
};
keyBindings = {
normal = {
"gh" = "open ${homepage}/build/index.html";
"gs" = "open https://home.anotherhadi.com";
" p" = "tab-move -";
" n" = "tab-move +";
" w" = "tab-close";
" 1" = "tab-focus 1";
" 2" = "tab-focus 2";
" 3" = "tab-focus 3";
" 4" = "tab-focus 4";
" 5" = "tab-focus 5";
" 6" = "tab-focus 6";
" 7" = "tab-focus 7";
" 8" = "tab-focus 8";
" 9" = "tab-focus 9";
" 0" = "tab-focus 10";
"<Ctrl-w>" = "tab-close";
"<Ctrl-n>" = "open -w";
"<Ctrl-1>" = "tab-focus 1";
"<Ctrl-2>" = "tab-focus 2";
"<Ctrl-3>" = "tab-focus 3";
"<Ctrl-4>" = "tab-focus 4";
"<Ctrl-5>" = "tab-focus 5";
"<Ctrl-6>" = "tab-focus 6";
"<Ctrl-7>" = "tab-focus 7";
"<Ctrl-8>" = "tab-focus 8";
"<Ctrl-9>" = "tab-focus 9";
"<Ctrl-0>" = "tab-focus 10";
};
command = {
"<Ctrl-w>" = "tab-close";
"<Ctrl-n>" = "open -w";
"<Ctrl-1>" = "tab-focus 1";
"<Ctrl-2>" = "tab-focus 2";
"<Ctrl-3>" = "tab-focus 3";
"<Ctrl-4>" = "tab-focus 4";
"<Ctrl-5>" = "tab-focus 5";
"<Ctrl-6>" = "tab-focus 6";
"<Ctrl-7>" = "tab-focus 7";
"<Ctrl-8>" = "tab-focus 8";
"<Ctrl-9>" = "tab-focus 9";
"<Ctrl-0>" = "tab-focus 10";
};
insert = {
"<Ctrl-w>" = "tab-close";
"<Ctrl-n>" = "open -w";
"<Ctrl-1>" = "tab-focus 1";
"<Ctrl-2>" = "tab-focus 2";
"<Ctrl-3>" = "tab-focus 3";
"<Ctrl-4>" = "tab-focus 4";
"<Ctrl-5>" = "tab-focus 5";
"<Ctrl-6>" = "tab-focus 6";
"<Ctrl-7>" = "tab-focus 7";
"<Ctrl-8>" = "tab-focus 8";
"<Ctrl-9>" = "tab-focus 9";
"<Ctrl-0>" = "tab-focus 10";
};
};
extraConfig = ''
config.unbind("gm")
config.unbind("gd")
config.unbind("gb")
config.unbind("tl")
config.unbind("gt")
c.tabs.padding = {"bottom": 6, "left": 7, "right": 7, "top": 6}
c.statusbar.padding = {"bottom": 6, "left": 7, "right": 7, "top": 6}
config.load_autoconfig(True)
'';
};
}
@@ -1,44 +0,0 @@
# A duckduckgo colorscheme generated for the Stylix theme used.
{ config, ... }:
let
accent = config.lib.stylix.colors.base0D;
background = config.lib.stylix.colors.base00;
foreground = config.lib.stylix.colors.base05;
background-alt = config.lib.stylix.colors.base01;
foreground-alt = config.lib.stylix.colors.base06;
in {
home.file.".duckduckgo-colorscheme.js".text =
# js
''
// Go to DuckDuckGo settings page, open the console, paste the code and hit enter.
// based on https://ddg.codingcodax.dev/
// Cookies string for your theme
const cookie = '7=${background}; j=${background}; 9=${foreground}; aa=${foreground-alt}; 8=${foreground}; x=${accent}; 21=${background-alt};';
// Converts cookie string into formatted JSON
const cookieToJSON = (cookieRaw) => {
const cookieJson = {};
const items = cookieRaw.split(/[ ,]+/);
items.forEach((item) => {
const parts = item.split('=');
cookieJson[parts[0]] = parts[1];
});
return cookieJson;
};
// Iterates over JSON, and adds to browser cookie store
const setCookies = (cookieJson) => {
Object.keys(cookieJson).forEach((key) => {
document.cookie = `''${key}=''${cookieJson [ key ]}`;
});
};
// Call set cookies, passing in formated cookie data
setCookies(cookieToJSON(cookie));
// All done, reload page for changes to take effect :)
location.reload();
'';
}
-4
View File
@@ -1,4 +0,0 @@
{
imports =
[ ./fzf.nix ./zsh.nix ./starship.nix ./zoxide.nix ./tmux.nix ./eza.nix ];
}
-30
View File
@@ -1,30 +0,0 @@
# Fzf is a general-purpose command-line fuzzy finder.
{ config, lib, ... }:
let
accent = "#" + config.lib.stylix.colors.base0D;
foreground = "#" + config.lib.stylix.colors.base05;
muted = "#" + config.lib.stylix.colors.base03;
in {
programs.fzf = {
enable = true;
enableZshIntegration = true;
colors = lib.mkForce {
"fg+" = accent;
"bg+" = "-1";
"fg" = foreground;
"bg" = "-1";
"prompt" = muted;
"pointer" = accent;
};
defaultOptions = [
"--margin=1"
"--layout=reverse"
"--border=rounded"
"--info='hidden'"
"--header=''"
"--prompt='/ '"
"-i"
"--no-bold"
];
};
}
-58
View File
@@ -1,58 +0,0 @@
# Tmux is a terminal multiplexer that allows you to run multiple terminal sessions in a single window.
{ pkgs, ... }:
let
Config = pkgs.writeShellScriptBin "Config" ''
SESSION="Nixy Config"
tmux has-session -t "$SESSION" 2>/dev/null
if [ $? == 0 ]; then
tmux attach -t "$SESSION"
exit 0
fi
tmux new-session -d -s "$SESSION"
tmux send-keys -t "$SESSION" "sleep 0.2 && clear && cd ~/.config/nixos/ && vim" C-m
tmux new-window -t "$SESSION" -n "nixy"
tmux send-keys -t "$SESSION":1 "sleep 0.2 && clear && cd ~/.config/nixos/ && nixy loop" C-m
tmux new-window -t "$SESSION" -n "lazygit"
tmux send-keys -t "$SESSION":2 "sleep 0.2 && clear && cd ~/.config/nixos/ && lazygit" C-m
tmux select-window -t "$SESSION":0
tmux select-pane -t 0
tmux attach -t "$SESSION"
'';
in {
programs.tmux = {
enable = true;
mouse = true;
shell = "${pkgs.zsh}/bin/zsh";
prefix = "C-s";
terminal = "kitty";
keyMode = "vi";
extraConfig = ''
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
set -gq allow-passthrough on
bind-key x kill-pane # skip "kill-pane 1? (y/n)" prompt
bind-key -n C-Tab next-window
bind-key -n C-S-Tab previous-window
bind-key -n M-Tab new-window
'';
plugins = with pkgs; [
tmuxPlugins.vim-tmux-navigator
# tmuxPlugins.resurrect
tmuxPlugins.sensible
tmuxPlugins.tokyo-night-tmux
];
};
home.packages = [ Config ];
}
-105
View File
@@ -1,105 +0,0 @@
# My shell configuration
{ pkgs, lib, config, ... }:
let fetch = config.var.theme.fetch; # neofetch, nerdfetch, pfetch
in {
home.packages = with pkgs; [ bat ripgrep tldr sesh ];
home.sessionPath = [ "$HOME/go/bin" ];
programs.zsh = {
enable = true;
enableCompletion = true;
autosuggestion.enable = true;
syntaxHighlighting.enable = true;
historySubstringSearch.enable = true;
initExtraFirst = ''
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 sesh-sessions() {
session=$(sesh list -t -c | fzf --height 70% --reverse)
[[ -z "$session" ]] && return
sesh connect $session
}
zle -N sesh-sessions
bindkey -M emacs '\es' sesh-sessions
bindkey -M vicmd '\es' sesh-sessions
bindkey -M viins '\es' sesh-sessions
'';
history = {
ignoreDups = true;
save = 10000;
size = 10000;
};
profileExtra = lib.optionalString (config.home.sessionPath != [ ]) ''
export PATH="$PATH''${PATH:+:}${
lib.concatStringsSep ":" config.home.sessionPath
}"
'';
#NOTE- for btop to show gpu usage
#may want to check the driver version with:
#nix path-info -r /run/current-system | grep nvidia-x11
#and
#nix search nixpkgs nvidia_x11
sessionVariables = {
LD_LIBRARY_PATH = lib.concatStringsSep ":" [
"${pkgs.linuxPackages_latest.nvidia_x11_beta}/lib" # change the package name according to nix search result
"$LD_LIBRARY_PATH"
];
};
shellAliases = {
vim = "nvim";
vi = "nvim";
v = "nvim";
c = "clear";
clera = "clear";
celar = "clear";
e = "exit";
cd = "z";
ls = "eza --icons=always --no-quotes";
tree = "eza --icons=always --tree --no-quotes";
sl = "ls";
open = "${pkgs.xdg-utils}/bin/xdg-open";
icat = "${pkgs.kitty}/bin/kitty +kitten icat";
ssh = "kitty +kitten ssh";
wireguard-import = "nmcli connection import type wireguard file";
notes =
"nvim ~/nextcloud/notes/index.md --cmd 'cd ~/nextcloud/notes' -c ':Telescope find_files'";
note = "notes";
# git
g = "lazygit";
ga = "git add";
gc = "git commit";
gcu = "git add . && git commit -m 'Update'";
gp = "git push";
gpl = "git pull";
gs = "git status";
gd = "git diff";
gco = "git checkout";
gcb = "git checkout -b";
gbr = "git branch";
grs = "git reset HEAD~1";
grh = "git reset --hard HEAD~1";
gaa = "git add .";
gcm = "git commit -m";
};
};
}
-33
View File
@@ -1,33 +0,0 @@
# Spicetify is a spotify client customizer
{ pkgs, config, lib, inputs, ... }:
let
spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
accent = "${config.lib.stylix.colors.base0D}";
in {
imports = [ inputs.spicetify-nix.homeManagerModules.default ];
stylix.targets.spicetify.enable = false;
programs.spicetify = {
enable = true;
theme = lib.mkForce spicePkgs.themes.text;
colorScheme = "custom";
customColorScheme = {
button = accent;
button-active = accent;
tab-active = accent;
};
enabledExtensions = with spicePkgs.extensions; [
playlistIcons
lastfm
historyShortcut
hidePodcasts
adblock
fullAppDisplay
shuffle
];
};
}
-47
View File
@@ -1,47 +0,0 @@
# Thunar is a file explorer
{ pkgs, ... }: {
# ctrl + m to toggle the menubar
home.packages = with pkgs.xfce; [
thunar
xfconf
tumbler
thunar-archive-plugin
thunar-volman
];
home.file.".config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml".text = ''
<?xml version="1.0" encoding="UTF-8"?>
<channel name="thunar" version="1.0">
<property name="last-view" type="string" value="ThunarIconView"/>
<property name="last-icon-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_100_PERCENT"/>
<property name="last-window-maximized" type="bool" value="true"/>
<property name="last-separator-position" type="int" value="170"/>
<property name="last-statusbar-visible" type="bool" value="false"/>
<property name="last-menubar-visible" type="bool" value="false"/>
<property name="misc-single-click" type="bool" value="false"/>
<property name="shortcuts-icon-emblems" type="bool" value="true"/>
<property name="tree-icon-emblems" type="bool" value="true"/>
<property name="misc-file-size-binary" type="bool" value="true"/>
<property name="misc-thumbnail-draw-frames" type="bool" value="false"/>
<property name="misc-text-beside-icons" type="bool" value="true"/>
<property name="misc-change-window-icon" type="bool" value="true"/>
<property name="hidden-bookmarks" type="array">
<value type="string" value="computer:///"/>
<value type="string" value="recent:///"/>
<value type="string" value="file:///"/>
<value type="string" value="network:///"/>
</property>
<property name="hidden-devices" type="array">
<value type="string" value="52FEA905FEA8E309"/>
</property>
<property name="last-toolbar-item-order" type="string" value="0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17"/>
<property name="last-toolbar-visible-buttons" type="string" value="0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0"/>
<property name="last-location-bar" type="string" value="ThunarLocationButtons"/>
<property name="last-show-hidden" type="bool" value="false"/>
<property name="last-details-view-zoom-level" type="string" value="THUNAR_ZOOM_LEVEL_38_PERCENT"/>
<property name="last-details-view-column-widths" type="string" value="50,50,127,50,50,50,50,50,751,50,50,75,50,145"/>
<property name="last-toolbar-items" type="string" value="menu:1,back:1,forward:0,open-parent:0,open-home:0,undo:0,redo:0,zoom-in:0,zoom-out:0,zoom-reset:0,view-as-icons:0,view-as-detailed-list:0,view-as-compact-list:0,toggle-split-view:0,location-bar:1,reload:0,search:1,uca-action-1710183590071525-1:0,new-tab:0,new-window:0,view-switcher:0"/>
</channel>
'';
}
+134
View File
@@ -0,0 +1,134 @@
{
pkgs,
config,
...
}: let
c = config.lib.stylix.colors;
# TODO: Waiting for a version in nixpkgs
version = "1.11.2";
sources = {
"x86_64-linux" = {
url = "https://github.com/elio-fm/elio/releases/download/v${version}/elio-${version}-x86_64-unknown-linux-gnu.tar.gz";
hash = "sha256-9cW/xUA9p0LEYI3/j4MGPVZvcyJpV1JYKYBuHur4sTM=";
};
"aarch64-linux" = {
url = "https://github.com/elio-fm/elio/releases/download/v${version}/elio-${version}-aarch64-unknown-linux-gnu.tar.gz";
hash = "sha256-zg141Dp+jHwAqzoaCNvOoC7ZFeAX+cO8HZF5W7wz1Qs=";
};
};
source =
sources.${pkgs.stdenv.hostPlatform.system}
or (throw "elio: unsupported platform ${pkgs.stdenv.hostPlatform.system}");
elio = pkgs.stdenv.mkDerivation {
pname = "elio";
inherit version;
src = pkgs.fetchurl {inherit (source) url hash;};
nativeBuildInputs = [pkgs.autoPatchelfHook];
buildInputs = [pkgs.stdenv.cc.cc.lib];
installPhase = ''
runHook preInstall
install -Dm755 elio -t $out/bin
for size in 48 128 256 512; do
install -Dm644 \
"packaging/linux/icons/hicolor/''${size}x''${size}/apps/elio.png" \
"$out/share/icons/hicolor/''${size}x''${size}/apps/elio.png"
done
install -Dm644 packaging/linux/elio.desktop -t $out/share/applications
runHook postInstall
'';
meta = {
description = "Terminal file manager";
homepage = "https://github.com/elio-fm/elio";
license = pkgs.lib.licenses.mit;
mainProgram = "elio";
platforms = builtins.attrNames sources;
sourceProvenance = [pkgs.lib.sourceTypes.binaryNativeCode];
};
};
in {
home.packages = [elio];
xdg.desktopEntries.elio = {
name = "elio";
exec = "${pkgs.ghostty}/bin/ghostty +new-window -e ${elio}/bin/elio %f";
terminal = false;
icon = "elio";
mimeType = ["inode/directory"];
categories = ["System" "FileManager" "FileTools" "ConsoleOnly"];
};
xdg.configFile."elio/config.toml".text = ''
[places]
entries = [
"home",
"documents",
"downloads",
"pictures",
{ title = "Notes", path = "~/Notes" },
{ title = "Cyber", path = "~/Cyber" },
{ title = "Projects", path = "~/Projects" },
{ title = "NixOS Config", path = "~/.config/nixos" },
"trash",
]
'';
xdg.configFile."elio/theme.toml".text = ''
[palette]
bg = "#${c.base00}"
chrome = "#${c.base01}"
chrome_alt = "#${c.base01}"
chip_text = "#${c.base00}"
panel = "#${c.base00}"
panel_alt = "#${c.base00}"
surface = "#${c.base02}"
elevated = "#${c.base02}"
border = "#${c.base03}"
text = "#${c.base05}"
muted = "#${c.base04}"
accent = "#${c.base0D}"
accent_soft = "#${c.base02}"
accent_text = "#${c.base06}"
selected_bg = "#${c.base02}"
selected_border = "#${c.base0D}"
selection_bar = "#${c.base09}"
yank_bar = "#${c.base0B}"
cut_bar = "#${c.base08}"
progress_bar = "#${c.base0D}"
grid_selection_band = "#${c.base02}"
grid_yank_band = "#${c.base01}"
grid_cut_band = "#${c.base01}"
sidebar_active = "#${c.base02}"
button_bg = "#${c.base01}"
button_disabled_bg = "#${c.base01}"
path_bg = "#${c.base00}"
[preview.code]
fg = "#${c.base05}"
bg = "#${c.base01}"
selection_bg = "#${c.base02}"
selection_fg = "#${c.base06}"
caret = "#${c.base0C}"
line_highlight = "#${c.base01}"
line_number = "#${c.base03}"
comment = "#${c.base03}"
string = "#${c.base0B}"
constant = "#${c.base09}"
keyword = "#${c.base0E}"
function = "#${c.base0D}"
type = "#${c.base0A}"
parameter = "#${c.base08}"
tag = "#${c.base0C}"
operator = "#${c.base0C}"
macro = "#${c.base0F}"
invalid = "#${c.base08}"
'';
}
+40
View File
@@ -0,0 +1,40 @@
# Ghostty is a terminal emulator
{
pkgs,
config,
...
}: let
cursorShaders = pkgs.fetchFromGitHub {
owner = "sahaj-b";
repo = "ghostty-cursor-shaders";
rev = "06d4e90fb5410e9c4d0b3131584060adddf89406";
hash = "sha256-G/UIr1bKnxn1AcHl/4FL/jou6b7M2VeREslYVELxdmw=";
};
c = config.lib.stylix.colors;
in {
home.sessionVariables = {
TERMINAL = "ghostty";
TERM = "ghostty";
};
programs.ghostty = {
enable = true;
installVimSyntax = true;
enableZshIntegration = true;
settings = {
window-padding-x = 10;
confirm-close-surface = false;
window-padding-y = 10;
gtk-single-instance = true;
clipboard-read = "allow";
clipboard-write = "allow";
copy-on-select = "clipboard";
app-notifications = false;
custom-shader = "${cursorShaders}/cursor_warp.glsl";
custom-shader-animation = "always";
keybind = [
"shift+ctrl+tab=new_tab"
];
};
};
}
+53
View File
@@ -0,0 +1,53 @@
# Git configuration
{config, ...}: let
username = config.var.git.username;
email = config.var.git.email;
in {
programs.git = {
enable = true;
ignores = [
".cache/"
".DS_Store"
".idea/"
"*.swp"
"*.elc"
"auto-save-list"
".direnv/"
"node_modules"
"result"
"result-*"
".superpowers/"
".claude/"
"docs/superpowers/"
];
settings = {
user.name = username;
user.email = email;
init.defaultBranch = "main";
pull.rebase = "false";
push.autoSetupRemote = true;
color.ui = "1";
alias = {
essa = "push --force";
co = "checkout";
fuck = "commit --amend -m";
c = "commit -m";
ca = "commit -am";
forgor = "commit --amend --no-edit";
graph = "log --all --decorate --graph --oneline";
oops = "checkout --";
l = "log";
r = "rebase";
s = "status --short";
ss = "status";
d = "diff";
ps = "!git push origin $(git rev-parse --abbrev-ref HEAD)";
pl = "!git pull origin $(git rev-parse --abbrev-ref HEAD)";
st = "status";
br = "branch";
hist = ''log --pretty=format:"%Cgreen%h %Creset%cd %Cblue[%cn] %Creset%s%C(yellow)%d%C(reset)" --graph --date=relative --decorate --all'';
llog = ''log --graph --name-status --pretty=format:"%C(red)%h %C(reset)(%cd) %C(green)%an %Creset%s %C(yellow)%d%Creset" --date=relative'';
};
};
};
}
+38
View File
@@ -0,0 +1,38 @@
# Lazygit is a simple terminal UI for git commands.
{
config,
lib,
...
}: let
accent = "#${config.lib.stylix.colors.base0D}";
muted = "#${config.lib.stylix.colors.base03}";
in {
programs.lazygit = {
enable = true;
settings = lib.mkForce {
disableStartupPopups = true;
notARepository = "skip";
promptToReturnFromSubprocess = false;
update.method = "never";
git = {
commit.signOff = true;
overrideGpg = true;
parseEmoji = true;
};
gui = {
theme = {
activeBorderColor = [
accent
"bold"
];
inactiveBorderColor = [muted];
};
showListFooter = false;
showRandomTip = false;
showCommandLog = false;
showBottomLine = false;
nerdFontsVersion = "3";
};
};
};
}
+15
View File
@@ -0,0 +1,15 @@
# This file is used to sign git commits using an SSH key.
{
# CHANGEME: change this to your own SSH key.
home.file.".ssh/allowed_signers".text = "* ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIINhWby7lUUXQNKbRu9/UOrGjWDf3fvoAwGHomWv/+lL";
programs.git = {
signing.format = "openpgp";
settings = {
commit.gpgsign = true;
gpg.ssh.allowedSignersFile = "~/.ssh/allowed_signers";
gpg.format = "ssh";
user.signingkey = "~/.ssh/key.pub";
};
};
}
+23
View File
@@ -0,0 +1,23 @@
{config, ...}: let
c = config.lib.stylix.colors;
in {
home.file.".config/ilovetui/config.yaml".text = ''
colors:
base00: "#${c.base00}" # Background
base01: "#${c.base01}" # Lighter Background / Status Bars
base02: "#${c.base02}" # Selection Background
base03: "#${c.base03}" # Comments / Invisibles
base04: "#${c.base04}" # Dark Foreground / Status Bars
base05: "#${c.base05}" # Default Foreground
base06: "#${c.base06}" # Light Foreground
base07: "#${c.base07}" # Light Background
base08: "#${c.base08}" # Variables / Errors / Diff Deleted
base09: "#${c.base09}" # Integers / Constants / Booleans
base0a: "#${c.base0A}" # Classes / Warnings / Search Background
base0b: "#${c.base0B}" # Strings / Success / Diff Inserted
base0c: "#${c.base0C}" # Support / Regex / Escape Characters
base0d: "#${c.base0D}" # Functions / Methods / Headings / Accent
base0e: "#${c.base0E}" # Keywords / Storage / Diff Changed
base0f: "#${c.base0F}" # Embedded / Misc
'';
}
+5
View File
@@ -0,0 +1,5 @@
{inputs, ...}: {
imports = [inputs.nix-index-database.homeModules.default];
programs.nix-index.enable = true;
programs.nix-index-database.comma.enable = true;
}
+31
View File
@@ -0,0 +1,31 @@
# - ## Nixy
#-
#- Nixy is a simple script that I use to manage my NixOS system. It's a simple script that provides a menu to rebuild, test, update, collect garbage, clean boot menu, etc.
#-
#- - `nixy` - UI wizard to manage the system.
#- - `nixy rebuild` - Rebuild the system.
#- - `nixy ...` - ... see the script for more commands.
{
config,
lib,
pkgs,
...
}: {
options.programs.nixy = {
enable = lib.mkEnableOption "nixy";
configDirectory = lib.mkOption {
type = lib.types.str;
default = "$HOME/.config/nixos";
description = "Path to the NixOS configuration directory";
};
};
config = lib.mkIf config.programs.nixy.enable {
home.packages = [
(import ./package.nix {
inherit pkgs;
inherit (config.programs.nixy) configDirectory;
})
];
};
}
+14
View File
@@ -0,0 +1,14 @@
{
pkgs,
system,
...
}: {
packages.${system}.nixy = import ./package.nix {
inherit pkgs;
configDirectory = "$HOME/.config/nixos";
};
homeManagerModules.nixy = {
imports = [./default.nix];
};
}
+69
View File
@@ -0,0 +1,69 @@
{
pkgs,
configDirectory,
}:
pkgs.writeShellScriptBin "nixy"
# bash
''
EXTRA_ARGS="''${@:2}"
function exec() {
$@
}
function ui(){
DEFAULT_ICON="󰘳"
# "icon;name;command"[]
apps=(
"󰑓;Rebuild;nixy rebuild"
"󰐊;Test;nixy test"
"󰚰;Update;nixy update"
";Collect Garbage;nixy gc"
"󰍜;Clean Boot Menu;nixy cb"
";List generation;nixy listgen"
)
# Apply default icons if empty:
for i in "''${!apps[@]}"; do
apps[i]=$(echo "''${apps[i]}" | sed 's/^;/'$DEFAULT_ICON';/')
done
fzf_result=$(printf "%s\n" "''${apps[@]}" | awk -F ';' '{print $1" "$2}' | fzf)
[[ -z $fzf_result ]] && exit 0
fzf_result=''${fzf_result/ /;}
line=$(printf "%s\n" "''${apps[@]}" | grep "$fzf_result")
command=$(echo "$line" | sed 's/^[^;]*;//;s/^[^;]*;//')
exec "$command"
exit $?
}
[[ $1 == "" ]] && ui
if [[ $1 == "rebuild" ]];then
cd ${configDirectory} && git add . && sudo nixos-rebuild switch --flake . $EXTRA_ARGS
elif [[ $1 == "test" ]];then
cd ${configDirectory} && git add . && sudo nixos-rebuild test --flake . $EXTRA_ARGS
elif [[ $1 == "update" ]];then
cd ${configDirectory} && nix flake update $EXTRA_ARGS
elif [[ $1 == "gc" ]];then
echo "Starting Nix garbage collection..."
cd ${configDirectory} && \
echo "Cleaning up system garbage..." && \
sudo nix-collect-garbage -d && \
echo "Cleaning up user garbage..." && \
nix-collect-garbage -d && \
echo "Collecting garbage from Nix store..." && \
nix-store --gc && \
echo "Optimizing Nix store..." && \
nix-store --optimise
echo "Nix garbage collection complete."
elif [[ $1 == "cb" ]];then
sudo /run/current-system/bin/switch-to-configuration boot
elif [[ $1 == "listgen" ]];then
sudo nix-env -p /nix/var/nix/profiles/system --list-generations
else
echo "Unknown argument"
fi
''
+38
View File
@@ -0,0 +1,38 @@
{
config,
lib,
...
}: {
home.sessionVariables = {
EDITOR = "nvim";
VISUAL = "nvim";
};
programs.nvf = {
enable = true;
settings = {
vim.luaConfigRC = lib.mkIf (config ? stylix && config.stylix.enable) {
hl-overrides = let
c = config.lib.stylix.colors;
in ''
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 = [
./options.nix
./languages.nix
./picker.nix
./snacks.nix
./keymaps.nix
./utils.nix
./mini.nix
];
};
};
}
+133
View File
@@ -0,0 +1,133 @@
{
"nodes": {
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1777699697,
"narHash": "sha256-Eg9b/rq/ECYwNwEXs5i9wHyhxNI0JrYx2srdI2uZMaQ=",
"ref": "refs/heads/main",
"rev": "382052b74656a369c5408822af3f2501e9b1af81",
"revCount": 94,
"type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git"
},
"original": {
"type": "git",
"url": "https://git.lix.systems/lix-project/flake-compat.git"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"nvf",
"nixpkgs"
]
},
"locked": {
"lastModified": 1778716662,
"narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"mnw": {
"locked": {
"lastModified": 1780772958,
"narHash": "sha256-VKKe8r4pwCGWZ3Yr9CPN129R4S3CKLSrlYqdYz3vKpM=",
"owner": "Gerg-L",
"repo": "mnw",
"rev": "0871dbf63a53610c95db04439ed8ea4d6ec9c160",
"type": "github"
},
"original": {
"owner": "Gerg-L",
"repo": "mnw",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1785133411,
"narHash": "sha256-Yjv0WEg39KRYS0rBdTbu6Fc/or/ihAKk13W9sQ6VWd0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "2f5a153c270b70cb0f8c11f46d96d6d3bc39f4e3",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1781216227,
"narHash": "sha256-9mUW6gNwoN2SWc/l0fW4svPNOulXLl8ijqKyeSOGgJE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a0374025a863d007d98e3297f6aa46cc3141c2f0",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-26.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nvf": {
"inputs": {
"flake-compat": "flake-compat",
"flake-parts": "flake-parts",
"mnw": "mnw",
"nixpkgs": "nixpkgs_2",
"systems": "systems"
},
"locked": {
"lastModified": 1781997110,
"narHash": "sha256-6D6xtYN5t1kZGNd69eMZsRBkgX5Df1roErn/kFR1C+A=",
"owner": "notashelf",
"repo": "nvf",
"rev": "320f60b97075a58d38b90fc5e39f478421dbd38a",
"type": "github"
},
"original": {
"owner": "notashelf",
"repo": "nvf",
"type": "github"
}
},
"root": {
"inputs": {
"nixpkgs": "nixpkgs",
"nvf": "nvf"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",
"version": 7
}
+57
View File
@@ -0,0 +1,57 @@
{
description = "Hadi's NVF Neovim configuration";
inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
nvf.url = "github:notashelf/nvf";
};
outputs = {
self,
nixpkgs,
nvf,
...
}: let
systems = ["x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin"];
forAllSystems = f: nixpkgs.lib.genAttrs systems f;
modules = [
./options.nix
./languages.nix
./picker.nix
./snacks.nix
./keymaps.nix
./utils.nix
./mini.nix
];
in {
packages = forAllSystems (system: let
pkgs = nixpkgs.legacyPackages.${system};
nvim = (nvf.lib.neovimConfiguration {inherit pkgs modules;}).neovim;
in {
inherit nvim;
default = nvim;
});
apps = forAllSystems (system: let
nvim = {
type = "app";
program = "${self.packages.${system}.nvim}/bin/nvim";
};
in {
inherit nvim;
default = nvim;
});
homeManagerModules = rec {
nvim = {
imports = [
nvf.homeManagerModules.default
./default.nix
];
};
default = nvim;
};
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.alejandra);
};
}
+327
View File
@@ -0,0 +1,327 @@
{
vim = {
globals.mapleader = " ";
keymaps = [
{
key = "s";
mode = "n";
silent = true;
action = "<cmd>lua MiniJump2d.start(MiniJump2d.builtin_opts.single_character)<cr>";
desc = "Jump2d";
}
{
key = "K";
mode = "n";
silent = true;
action = "<cmd>lua vim.lsp.buf.hover()<cr>";
desc = "LSP Hover";
}
{
key = "<C-tab>";
mode = "n";
silent = true;
action = "<cmd>bnext<cr>";
desc = "Next Buffer";
}
# Format
{
key = "<leader>lf";
mode = "n";
silent = true;
action = "<cmd>lua require('conform').format({ async = true, lsp_format = 'fallback' })<cr>";
desc = "Format file";
}
# Terminal
{
key = "<leader>tt";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.terminal.toggle()<cr>";
desc = "Toggle terminal";
}
{
key = "<leader>tf";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.terminal.toggle(nil, { style = 'float' })<cr>";
desc = "Toggle terminal (float)";
}
{
key = "<leader>tg";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.lazygit()<cr>";
desc = "Lazygit";
}
{
key = "<leader>ts";
mode = "v";
silent = true;
action = ":<C-u>SttrTransform<CR>";
desc = "String Transform";
}
{
key = "<leader>tj";
mode = "n";
silent = true;
action = ":JwtTui<CR>";
desc = "JWT TUI";
}
{
key = "<leader>tj";
mode = "v";
silent = true;
action = ":<C-u>JwtTuiOpen<CR>";
desc = "JWT TUI";
}
# UI
{
key = "<leader>uw";
mode = "n";
silent = true;
action = "<cmd>set wrap!<cr>";
desc = "Toggle word wrapping";
}
{
key = "<leader>ul";
mode = "n";
silent = true;
action = "<cmd>set linebreak!<cr>";
desc = "Toggle linebreak";
}
{
key = "<leader>us";
mode = "n";
silent = true;
action = "<cmd>set spell!<cr>";
desc = "Toggle spell check";
}
{
key = "<leader>uc";
mode = "n";
silent = true;
action = "<cmd>set cursorline!<cr>";
desc = "Toggle cursorline";
}
{
key = "<leader>un";
mode = "n";
silent = true;
action = "<cmd>set number!<cr>";
desc = "Toggle line numbers";
}
{
key = "<leader>ur";
mode = "n";
silent = true;
action = "<cmd>set relativenumber!<cr>";
desc = "Toggle relative line numbers";
}
{
key = "<leader>ut";
mode = "n";
silent = true;
action = "<cmd>set showtabline=2<cr>";
desc = "Show tabline";
}
{
key = "<leader>uT";
mode = "n";
silent = true;
action = "<cmd>set showtabline=0<cr>";
desc = "Hide tabline";
}
# Todos
{
key = "<leader>xt";
mode = "n";
silent = true;
action = "<cmd>TodoTrouble<cr>";
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
{
key = ">";
mode = "v";
silent = true;
action = ">gv";
desc = "Indent and keep selection";
}
{
key = "<";
mode = "v";
silent = true;
action = "<gv";
desc = "Dedent and keep selection";
}
# Move
{
key = "<C-h>";
mode = "n";
silent = true;
action = "<C-w>h";
desc = "Move to left window";
}
{
key = "<C-j>";
mode = "n";
silent = true;
action = "<C-w>j";
desc = "Move to bottom window";
}
{
key = "<C-k>";
mode = "n";
silent = true;
action = "<C-w>k";
desc = "Move to top window";
}
{
key = "<C-l>";
mode = "n";
silent = true;
action = "<C-w>l";
desc = "Move to right window";
}
# Save
{
key = "<C-s>";
mode = [
"n"
"i"
"v"
];
silent = true;
action = "<cmd>w<cr>";
desc = "Save file";
}
# Deactivate "esc"
{
key = "<Esc>";
mode = [
"n"
"i"
"v"
];
silent = true;
action = "<Nop>";
desc = "Disable Escape";
}
# Disable Arrow Keys in Normal Mode and Middle click
{
key = "<Up>";
mode = "n";
silent = true;
action = "<Nop>";
desc = "Disable Up Arrow";
}
{
key = "<Down>";
mode = "n";
silent = true;
action = "<Nop>";
desc = "Disable Down Arrow";
}
{
key = "<Left>";
mode = "n";
silent = true;
action = "<Nop>";
desc = "Disable Left Arrow";
}
{
key = "<Right>";
mode = "n";
silent = true;
action = "<Nop>";
desc = "Disable Right Arrow";
}
{
key = "<MiddleMouse>";
mode = [
"n"
"i"
"v"
];
action = "<nop>";
silent = true;
}
{
key = "<2-MiddleMouse>";
mode = [
"n"
"i"
"v"
];
action = "<nop>";
silent = true;
}
{
key = "<3-MiddleMouse>";
mode = [
"n"
"i"
"v"
];
action = "<nop>";
silent = true;
}
];
};
}
+117
View File
@@ -0,0 +1,117 @@
{pkgs, ...}: {
vim = {
diagnostics = {
enable = true;
config = {
signs = {
text = {
"vim.diagnostic.severity.Error" = " ";
"vim.diagnostic.severity.Warn" = " ";
"vim.diagnostic.severity.Hint" = " ";
"vim.diagnostic.severity.Info" = " ";
};
};
underline = true;
update_in_insert = true;
virtual_text = true;
};
nvim-lint = {
enable = true;
};
};
treesitter = {
enable = true;
autotagHtml = true;
context.enable = true;
highlight.enable = true;
textobjects.enable = true;
grammars = [pkgs.vimPlugins.nvim-treesitter.grammarPlugins.http];
};
lsp = {
enable = true;
presets = {
tailwindcss-language-server = {
enable = true;
};
};
trouble.enable = true;
lspSignature.enable = true;
lspconfig.enable = true;
formatOnSave = false;
mappings.format = null;
inlayHints.enable = true;
servers.nil.settings.nix.autoArchive = true;
otter-nvim = {
enable = true;
setupOpts = {
buffers.set_filetype = true;
lsp = {
diagnostic_update_event = [
"BufWritePost"
"InsertLeave"
];
};
};
};
lspkind.enable = true;
lspsaga = {
enable = true;
setupOpts = {
ui = {
code_action = "";
};
lightbulb = {
sign = false;
virtual_text = true;
};
symbol_in_winbar.enable = false;
};
};
};
languages = {
enableExtraDiagnostics = true;
enableFormat = true;
enableTreesitter = true;
python = {
enable = true;
lsp = {
enable = true;
servers = ["pyright"];
};
};
astro.enable = true;
go.enable = true;
markdown = {
enable = true;
format.type = ["prettierd"];
extensions = {
markview-nvim = {
enable = true;
setupOpts = {
preview = {
hybrid_modes = ["n"];
};
};
};
};
extraDiagnostics.enable = true;
};
typescript.enable = true;
css.enable = true;
svelte.enable = true;
html.enable = true;
bash.enable = true;
nix.enable = true;
lua.enable = true;
};
formatter = {
conform-nvim = {
enable = true;
setupOpts.format_on_save = {
lsp_format = "fallback";
};
};
};
};
}
+99
View File
@@ -0,0 +1,99 @@
{lib, ...}: {
vim.luaConfigRC.mini-clue = ''
local miniclue = require('mini.clue')
miniclue.setup({
triggers = {
{ mode = 'n', keys = '<Leader>' },
{ mode = 'x', keys = '<Leader>' },
{ mode = 'n', keys = 'g' },
{ mode = 'x', keys = 'g' },
{ mode = 'n', keys = "'" },
{ mode = 'n', keys = '`' },
{ mode = 'n', keys = '"' },
{ mode = 'i', keys = '<C-r>' },
{ mode = 'c', keys = '<C-r>' },
{ mode = 'n', keys = '<C-w>' },
{ mode = 'n', keys = 'z' },
},
clues = {
miniclue.gen_clues.g(),
miniclue.gen_clues.marks(),
miniclue.gen_clues.registers(),
miniclue.gen_clues.windows({ submode_resize = true }),
miniclue.gen_clues.z(),
{ mode = 'n', keys = '<Leader>f', desc = '+find' },
{ mode = 'n', keys = '<Leader>s', desc = '+search' },
{ mode = 'n', keys = '<Leader>t', desc = '+tools' },
{ mode = 'n', keys = '<Leader>u', desc = '+ui' },
{ mode = 'n', keys = '<Leader>l', desc = '+lsp' },
{ mode = 'n', keys = '<Leader>x', desc = '+trouble' },
{ mode = 'n', keys = '<Leader>!', desc = 'shell' },
{ mode = 'v', keys = '<Leader>!', desc = 'shell' },
},
window = { delay = 300 },
})
'';
vim.mini = {
ai.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;
icons.enable = true;
indentscope.enable = true;
pairs.enable = true;
diff.enable = true;
git.enable = true;
jump2d.enable = true;
statusline.enable = true;
clue.enable = true;
surround.enable = true;
};
}
+45
View File
@@ -0,0 +1,45 @@
{lib, ...}: {
vim = {
viAlias = false;
vimAlias = true;
withNodeJs = true;
options = {
autoindent = true;
smartindent = true;
shiftwidth = 2;
foldlevel = 99;
foldcolumn = "auto:1";
mousescroll = "ver:1,hor:1";
mousemoveevent = true;
fillchars = "eob:,fold: ,foldopen:,foldsep:,foldclose:";
signcolumn = "yes";
tabstop = 2;
softtabstop = 2;
wrap = false;
};
globals.navic_silence = true;
clipboard = {
enable = true;
registers = "unnamedplus";
};
luaConfigRC.osc52-clipboard = ''
vim.g.clipboard = {
name = 'OSC 52',
copy = {
['+'] = require('vim.ui.clipboard.osc52').copy '+',
['*'] = require('vim.ui.clipboard.osc52').copy '*',
},
paste = {
['+'] = require('vim.ui.clipboard.osc52').paste '+',
['*'] = require('vim.ui.clipboard.osc52').paste '*',
},
}
'';
theme = {
enable = true;
name = lib.mkForce "catppuccin";
style = lib.mkForce "mocha";
transparent = lib.mkForce true;
};
};
}
+162
View File
@@ -0,0 +1,162 @@
{
vim = {
utility = {
snacks-nvim = {
setupOpts = {
picker.enabled = true;
explorer.enabled = true;
};
};
};
keymaps = [
# Top Pickers & Explorer
{
key = "<leader> ";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.smart()<cr>";
desc = "Smart Find Files";
}
{
key = "<leader>e";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.explorer()<cr>";
desc = "File Explorer";
}
{
key = "<leader>/";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.lines()<cr>";
desc = "Buffer Lines";
}
# Find
{
key = "<leader>fb";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.buffers()<cr>";
desc = "Buffers";
}
{
key = "<leader>ff";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.files()<cr>";
desc = "Find Files";
}
{
key = "<leader>fp";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.projects()<cr>";
desc = "Projects";
}
{
key = "<leader>fr";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.recent()<cr>";
desc = "Recent";
}
{
key = "<leader>f:";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.command_history()<cr>";
desc = "Command History";
}
{
key = "<leader>fn";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.notifications()<cr>";
desc = "Notification History";
}
# Grep
{
key = "<leader>sg";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.grep()<cr>";
desc = "Grep";
}
{
key = "<leader>st";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.todo_comments()<cr>";
desc = "Todos";
}
{
key = "<leader>sw";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.grep_word()<cr>";
desc = "Visual selection or word";
}
{
key = "<leader>sr";
mode = "n";
silent = true;
action = "<cmd>nohlsearch<cr>";
desc = "Reset search";
}
# LSP
{
key = "gd";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.lsp_definitions()<cr>";
desc = "Goto Definition";
}
{
key = "gD";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.lsp_declarations()<cr>";
desc = "Goto Declaration";
}
{
key = "gr";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.lsp_references()<cr>";
desc = "References";
nowait = true;
}
{
key = "gI";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.lsp_implementations()<cr>";
desc = "Goto Implementation";
}
{
key = "gy";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.lsp_type_definitions()<cr>";
desc = "Goto Type Definition";
}
{
key = "<leader>ss";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.lsp_symbols()<cr>";
desc = "LSP Symbols";
}
{
key = "<leader>sS";
mode = "n";
silent = true;
action = "<cmd>lua Snacks.picker.lsp_workspace_symbols()<cr>";
desc = "LSP Workspace Symbols";
}
];
};
}
+18
View File
@@ -0,0 +1,18 @@
{
vim.utility.snacks-nvim = {
enable = true;
setupOpts = {
quickfile.enabled = true;
statuscolumn.enabled = true;
zen.enabled = true;
bufdelete.enabled = true;
gitsigns.enabled = true;
animate.enabled = true;
lazygit = {
enabled = true;
configure = false;
};
terminal.enabled = true;
};
};
}
+64
View File
@@ -0,0 +1,64 @@
{pkgs, ...}: {
vim = {
luaConfigRC.remove-todo-keymaps = ''
vim.keymap.del("n", "<leader>tdq")
vim.keymap.del("n", "<leader>tdt")
'';
undoFile.enable = true;
notes.todo-comments.enable = true;
autocomplete = {
nvim-cmp = {
enable = true;
sources = {
buffer = "[Buffer]";
path = "[Path]";
};
sourcePlugins = [
pkgs.vimPlugins.cmp-cmdline
];
};
};
snippets.luasnip.enable = true;
ui = {
noice.enable = true;
colorizer.enable = true;
};
visuals = {
rainbow-delimiters.enable = true;
};
extraPlugins = {
sttr-nvim = {
package = pkgs.vimUtils.buildVimPlugin {
name = "sttr-nvim";
src = pkgs.fetchFromGitHub {
owner = "anotherhadi";
repo = "sttr.nvim";
rev = "b41f2f51372222e23efbe5df9d72391cd933d4d1";
hash = "sha256-JPv0NNNUUNPNJM5LHYjcmTvilbOKB3OxI2Q6wxVbTks=";
};
};
setup = ''
require("sttr").setup()
'';
};
jwt-tui-nvim = {
package = pkgs.vimUtils.buildVimPlugin {
name = "jwt-tui-nvim";
src = pkgs.fetchFromGitHub {
owner = "anotherhadi";
repo = "jwt-tui.nvim";
rev = "c5100cb2cdfaf333014076a1a5c4c6a778bf3983";
hash = "sha256-qnQYZuQwyWkezhuyOorM67KBtatUboubofuT9A6McJI=";
};
};
setup = ''
require("jwt-tui").setup()
'';
};
};
};
}
+41
View File
@@ -0,0 +1,41 @@
{pkgs, ...}: {
home.packages = with pkgs; [
# I love TUIs
caligula # User-friendly, lightweight TUI for disk imaging (ISO, USB BOOT)
dysk # A terminal-based disk usage analyzer
wikiman # Offline search engine for manual pages (arch wiki, tldr)
tealdeer # Fast tldr client
sttr # A minimalist CyberChef-like, cross-platform CLI app for performing various operations on strings
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.nur.repos.anotherhadi.usbguard-tui # TUI for managing USBGuard rules
pkgs.nur.repos.anotherhadi.sheets # Terminal based spreadsheet tool
pkgs.nur.repos.anotherhadi.settuings # Terminal based settings (wifi, bluetooth, audio, ...)
rainfrog # TODO: To test
posting # TODO: To test
newsboat # TODO: To test
dooit # TODO: To test
# 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.
# Just cool
tty-solitaire
bastet
peaclock
cbonsai
pipes
cmatrix
fastfetch
];
home.persistence."/persist".directories = [".config/gh" ".config/gh-dash"];
}
+11
View File
@@ -0,0 +1,11 @@
# Import all shell configurations
{
imports = [
./fzf.nix
./zsh.nix
./starship.nix
./zoxide.nix
./eza.nix
./direnv.nix
];
}
+8
View File
@@ -0,0 +1,8 @@
{
programs.direnv = {
enable = true;
nix-direnv = {
enable = true;
};
};
}
@@ -1,5 +1,8 @@
# Eza is a ls replacement # Eza is a ls replacement
{ {
programs.zsh.initContent = ''
compdef eza=ls
'';
programs.eza = { programs.eza = {
enable = true; enable = true;
icons = "auto"; icons = "auto";
@@ -7,7 +10,6 @@
extraOptions = [ extraOptions = [
"--group-directories-first" "--group-directories-first"
"--no-quotes" "--no-quotes"
"--git-ignore"
"--icons=always" "--icons=always"
]; ];
}; };
+50
View File
@@ -0,0 +1,50 @@
# Fzf is a general-purpose command-line fuzzy finder.
{
config,
lib,
...
}: let
accent = "#" + config.lib.stylix.colors.base0D;
foreground = "#" + config.lib.stylix.colors.base05;
muted = "#" + config.lib.stylix.colors.base03;
previewCmd = "bat --color=always --style=plain,numbers --line-range=:500 {}";
in {
programs.fzf = {
enable = true;
enableZshIntegration = true;
defaultCommand = "fd --type f --hidden --strip-cwd-prefix";
fileWidgetCommand = "fd --type f --hidden --strip-cwd-prefix";
fileWidgetOptions = ["--preview '${previewCmd}'"];
colors = lib.mkForce {
"fg+" = accent;
"bg+" = "-1";
"fg" = foreground;
"bg" = "-1";
"prompt" = muted;
"pointer" = accent;
};
defaultOptions = [
"--height=60%"
"--layout=reverse"
"--border=none"
"--prompt='/ '"
"--preview-window=right:65%:wrap:border-left"
"-i"
"--no-bold"
];
};
programs.zsh.initContent = lib.mkAfter ''
_fzf_file_no_hidden() {
local cmd result
cmd="''${FZF_DEFAULT_COMMAND/--hidden /}"
result=$(eval "''${cmd:-find . -type f}" | fzf --preview "${previewCmd}") \
&& LBUFFER+="$result"
zle reset-prompt
}
zle -N _fzf_file_no_hidden
'';
}
@@ -1,6 +1,9 @@
# starship is a minimal, fast, and extremely customizable prompt for any shell! # starship is a minimal, fast, and extremely customizable prompt for any shell!
{ config, lib, ... }: {
let config,
lib,
...
}: let
accent = "#${config.lib.stylix.colors.base0D}"; accent = "#${config.lib.stylix.colors.base0D}";
background-alt = "#${config.lib.stylix.colors.base01}"; background-alt = "#${config.lib.stylix.colors.base01}";
in { in {
@@ -9,13 +12,17 @@ in {
settings = { settings = {
add_newline = true; add_newline = true;
format = lib.concatStrings [ format = lib.concatStrings [
"$nix_shell"
"$hostname"
"$directory" "$directory"
"$git_branch" "$git_branch"
"$git_state" "$git_state"
"$git_status" "$git_status"
"$character" "$character"
]; ];
directory = { style = accent; }; directory = {
style = accent;
};
character = { character = {
success_symbol = "[](${accent})"; success_symbol = "[](${accent})";
@@ -23,6 +30,12 @@ in {
vimcmd_symbol = "[](cyan)"; vimcmd_symbol = "[](cyan)";
}; };
nix_shell = {
format = "[$symbol]($style) ";
symbol = "🐚";
style = "";
};
git_branch = { git_branch = {
symbol = "[](${background-alt}) "; symbol = "[](${background-alt}) ";
style = "fg:${accent} bg:${background-alt}"; style = "fg:${accent} bg:${background-alt}";
@@ -30,8 +43,7 @@ in {
}; };
git_status = { git_status = {
format = format = "[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218)($ahead_behind$stashed)]($style)";
"[[(*$conflicted$untracked$modified$staged$renamed$deleted)](218)($ahead_behind$stashed)]($style)";
style = "cyan"; style = "cyan";
conflicted = ""; conflicted = "";
renamed = ""; renamed = "";

Some files were not shown because too many files have changed in this diff Show More