193 Commits

Author SHA1 Message Date
Hadi
30293a616b change the way workflow works
Former-commit-id: de125e21a7
2025-02-21 15:55:13 +01:00
Hadi
16c76c92b3 change to kofi
Former-commit-id: 58bae6e2c0
2025-02-21 15:54:02 +01:00
Hadi
d22a30be53 change process name
Former-commit-id: 074dc5864b
2025-02-21 15:49:49 +01:00
Hadi
92e165396d woops mb
Former-commit-id: 9312ef84a2
2025-02-21 15:49:17 +01:00
Hadi
b0899442ab only show cava when media is playing
Former-commit-id: a4bd708f24
2025-02-21 15:44:04 +01:00
Hadi
991b456713 add cava to hyprpanel
Former-commit-id: 3383fe5af7
2025-02-21 15:42:50 +01:00
Hadi
53dc030c22 special workspace for ProtonMail
Former-commit-id: d64e096e8c
2025-02-21 15:29:03 +01:00
Hadi
afd27f2a92 Fix alpha-nvim keybindings
Former-commit-id: 4eb6d59909
2025-02-21 14:07:44 +01:00
Hadi
6a5c430830 Create FUNDING.yml
Former-commit-id: 56b4a77d1f
2025-02-19 18:01:04 +01:00
Hadi
f04821fffe Planify in fullscreen by default
Former-commit-id: e63b86345b
2025-02-19 17:56:38 +01:00
github-actions
eeeaf1a7c4 Update KEYBINDINGS-HYPRLAND.md (auto)
Former-commit-id: 0f6f40ab23
2025-02-19 16:47:15 +00:00
Hadi
2c42201b15 Add key binding for Planify
Former-commit-id: b5147a52ba
2025-02-19 17:46:56 +01:00
Hadi
e3e7714f4c open planify in special workspace
Former-commit-id: ef189b3b62
2025-02-19 16:54:55 +01:00
Hadi
28ff9b7e6a update flake
Former-commit-id: 813dca5d40
2025-02-19 14:55:11 +01:00
Hadi
c92d1ac1ad increase opacity for inactive windows
Former-commit-id: bac6ec2f82
2025-02-19 14:55:08 +01:00
Hadi
3d214c7c2d Make no sense in offload mode ?
Former-commit-id: a0ffe24e7d
2025-02-19 14:54:55 +01:00
Hadi
bfd689beab let's try proton mail desktop
Former-commit-id: 052fd7cada
2025-02-19 14:54:41 +01:00
Hadi
8879e0c222 screenshot now save & copy
Former-commit-id: 0eca13a163
2025-02-19 10:44:18 +01:00
Hadi
794932ee3b cleaner solution
Former-commit-id: a91c0e37c0
2025-02-19 10:44:05 +01:00
Hadi
d5e56f4092 disable the hyprpanel shadow
Former-commit-id: 480e2bf2da
2025-02-19 10:43:53 +01:00
Hadi
ad0cc491f8 reenable hyprspace & static workspace for some apps
Former-commit-id: fa3d207375
2025-02-19 10:43:40 +01:00
Hadi
a90dfeac07 batsignal now locks on very low battery
Former-commit-id: 3b200caed9
2025-02-19 10:43:08 +01:00
Hadi
61ae19567a wallpaper change for yoru theme
Former-commit-id: 19a48aee14
2025-02-19 10:42:58 +01:00
Hadi
2ffa0a3abf update todo
Former-commit-id: d56f39275c
2025-02-18 23:40:07 +01:00
Hadi
651de22342 change apps
Former-commit-id: 7aa07cde8e
2025-02-11 20:59:24 +01:00
Hadi
3d5516e20c Merge branch 'main' of github.com:anotherhadi/nixy
Former-commit-id: 4e438e9f78
2025-02-11 20:58:45 +01:00
Hadi
2270fe77b6 update flakes
Former-commit-id: ca73bf3af3
2025-02-11 20:58:40 +01:00
Hadi
6514624612 remove resurrect
Former-commit-id: af79d8031d
2025-02-11 20:58:30 +01:00
github-actions
4d4db27d49 Update KEYBINDINGS-HYPRLAND.md (auto)
Former-commit-id: c5f99341d5
2025-02-04 19:42:52 +00:00
Hadi
9ff48eb543 update flake
Former-commit-id: 1f4be60931
2025-02-04 20:42:09 +01:00
Hadi
519de26e6a edit
Former-commit-id: 43f27ff383
2025-02-04 20:41:21 +01:00
Hadi
e1915e1741 change bindings
Former-commit-id: 2433d287f8
2025-02-04 20:41:13 +01:00
Hadi
de177e0003 screenshot to clipboard
Former-commit-id: e4f6f611d6
2025-02-04 20:41:10 +01:00
Hadi
c054d85b1c markdown writting
Former-commit-id: 6f1bcbf4dc
2025-02-04 20:40:54 +01:00
Hadi
47e9b45cfa update flakes
Former-commit-id: 0e5fbb9ea5
2025-01-27 09:53:06 +01:00
Hadi
f1f8d50c2e add mimes for zen
Former-commit-id: 7906679e9a
2025-01-27 08:36:23 +01:00
Hadi
e514c9ca09 change homepage path
Former-commit-id: d694a57ae6
2025-01-27 08:36:12 +01:00
Hadi
336574206c edit nextcloud notes path
Former-commit-id: 2ebed4ab9c
2025-01-27 08:35:50 +01:00
Hadi
dcd302bf5b update flakes
Former-commit-id: 406889a019
2025-01-23 17:49:40 +01:00
Hadi
5aad861057 update my nvim config
Former-commit-id: cd54511aa0
2025-01-23 17:36:26 +01:00
Hadi
1098005af6 delete old modules
Former-commit-id: 5cc7a65ea1
2025-01-23 17:36:13 +01:00
github-actions
223b91e075 Update SCRIPTS.md (auto)
Former-commit-id: 726bb896dd
2025-01-22 19:16:05 +00:00
Hadi
ee80453e77 update flakes
Former-commit-id: 57f9723b87
2025-01-22 20:15:49 +01:00
Hadi
a49bc73bbd disable hyprspace, broken
Former-commit-id: d8a45d947b
2025-01-22 20:15:45 +01:00
Hadi
818dfda0e3 temp fix for nvidia drivers
Former-commit-id: b26a7b9dd0
2025-01-22 20:15:38 +01:00
Hadi
33f62390c5 remove desktop & pia
Former-commit-id: fd8f7de9b1
2025-01-22 19:41:19 +01:00
Hadi
fe143348a4 edit theme
Former-commit-id: 44a8ac06ec
2025-01-22 19:41:09 +01:00
Hadi
937c0a70d9 app test
Former-commit-id: 722efcf03a
2025-01-22 19:41:03 +01:00
Hadi
11c88abded delete desktop
Former-commit-id: a030370542
2025-01-22 19:40:41 +01:00
Hadi
9c43f16027 open vpn scripts
Former-commit-id: f83370b4fa
2025-01-22 19:40:23 +01:00
github-actions
ffc3b1baed Update KEYBINDINGS-HYPRLAND.md (auto)
Former-commit-id: dbe30d164e
2025-01-21 19:55:49 +00:00
Hadi
73c349918f remove systemd.enable
Former-commit-id: 8c92529ef2
2025-01-21 20:55:36 +01:00
Hadi
662009000d add keybind to toggle the bar
Former-commit-id: 141f6d8fc1
2025-01-21 20:55:27 +01:00
Hadi
d4ffdae2f4 open webpage to display wallpapers
Former-commit-id: 2fb93eaff5
2025-01-21 20:55:17 +01:00
Hadi
1a69437e3f fix hyprpanel toggleWindow call
Former-commit-id: 943ea80ac2
2025-01-21 20:54:47 +01:00
Hadi
a2210756c5 fix
Former-commit-id: 4d63588ddc
2025-01-21 20:54:37 +01:00
Hadi
76dabd905e copilot nvim broken on unstable
Former-commit-id: 2962bd8503
2025-01-21 20:54:28 +01:00
Hadi
3c1be077b9 add duckduckgo colorscheme
Former-commit-id: ed605769b0
2025-01-21 20:54:16 +01:00
Hadi
5aef2f7d40 update flake
Former-commit-id: c828520da1
2025-01-21 20:54:03 +01:00
Hadi
7342a52609 update theme
Former-commit-id: 5fab44846d
2025-01-21 20:53:59 +01:00
Hadi
8f1949c3fb flake update
Former-commit-id: f10612b1d1
2025-01-12 20:00:10 +01:00
Hadi
09352dbcbc fix hyprpanel hide & show
Former-commit-id: 3a34579f35
2025-01-07 21:34:54 +01:00
Hadi
b32cc2ade5 flake update
Former-commit-id: 05aa21e311
2025-01-07 21:34:46 +01:00
Hadi
eb457f8069 edit theme
Former-commit-id: 5b4670d6e2
2025-01-07 20:23:59 +01:00
Hadi
bba6f699bd config edit
Former-commit-id: 972490513f
2025-01-07 20:22:54 +01:00
Hadi
532b2e4e0a change theme & update flake
Former-commit-id: 868c3b4e4f
2025-01-07 00:27:57 +01:00
Hadi
21beb27859 update flake & fix nixpkgs error
Former-commit-id: 8f3645996a
2025-01-06 23:35:06 +01:00
Hadi
029655cb72 enable the hyprpanel overlay
Former-commit-id: b1702060f2
2025-01-06 20:58:55 +01:00
Hadi
ec8f733408 treesitter ensure installed
Former-commit-id: d158c6160f
2025-01-06 20:58:41 +01:00
Hadi
47449eb534 migrate config to hyprpanel v2
Former-commit-id: d7dbea9437
2025-01-02 19:42:41 +01:00
Hadi
8d585f941d new theme!
Former-commit-id: ada0a0761c
2025-01-02 19:42:26 +01:00
Hadi
35e8d0a6a6 flakes update
Former-commit-id: 3941e15c5c
2025-01-02 19:01:55 +01:00
Hadi
5662804337 update flake
Former-commit-id: f6f203f848
2025-01-02 18:31:06 +01:00
Hadi
523a3819d1 add a configuration limit in boot menu
Former-commit-id: ce32ac84fa
2025-01-02 18:31:02 +01:00
Hadi
4532330c0c enable auto gc
Former-commit-id: 70baebf547
2025-01-02 18:30:54 +01:00
Hadi
0362bbec14 update flakes
Former-commit-id: 87cf8f6bfa
2024-12-30 20:41:31 +01:00
Hadi
fcdd2dc92c remove GTK theming
Former-commit-id: 8ceabe0a8a
2024-12-30 20:41:27 +01:00
Hadi
e7b81f510c hyprpanel v2 migration
Former-commit-id: d4db565e46
2024-12-30 20:41:20 +01:00
Hadi
c3517e5f56 removed some imports
Former-commit-id: 4551530344
2024-12-30 20:41:12 +01:00
Hadi
9af2f9f691 toolbar-items
Former-commit-id: a957fe856c
2024-12-30 20:40:38 +01:00
Hadi
9ca1a031b5 Merge pull request #11 from hcw9iu/fix-btop-gpu
Former-commit-id: 50b01f235d
2024-12-22 23:47:53 +01:00
william1209
640f815782 fix btop not show gpu
Former-commit-id: 2a50a895ef
2024-12-23 02:38:42 +08:00
Hadi
5885d6e400 update flakes
Former-commit-id: b6014cc3a1
2024-12-20 21:49:52 +01:00
Hadi
897dcfb7e3 update flakes
Former-commit-id: dbfc4887f0
2024-12-17 13:55:08 +01:00
Hadi
17589f5697 update flake
Former-commit-id: 277bafd297
2024-12-16 15:47:02 +01:00
Hadi
914f8bfa7e update flake
Former-commit-id: d1a14bb22c
2024-12-15 22:01:15 +01:00
Hadi
65f98fd3ec update flakes
Former-commit-id: 0d1ff6074f
2024-12-12 21:38:50 +01:00
Hadi
f65f5a28e8 Add typescript LSP
Former-commit-id: 1577960c51
2024-12-12 21:37:18 +01:00
Hadi
c9ca8c21f3 Fixed!!
Former-commit-id: 46bf6c9cb3
2024-12-12 21:37:05 +01:00
Hadi
b0e4113b3b update flakes
Former-commit-id: 65acc4d2da
2024-12-09 10:08:01 +01:00
Hadi
2a200b0e75 new theme!
Former-commit-id: 89db4101fd
2024-12-06 17:02:23 +01:00
Hadi
f1b6044ed1 update flakes
Former-commit-id: dbe720e366
2024-12-06 16:49:51 +01:00
Hadi
8891834ae1 remove old temp packages
Former-commit-id: 275178807d
2024-12-06 16:34:02 +01:00
Hadi
4356ad0e2f add desktop to .sops.yaml
Former-commit-id: e928fcf59a
2024-12-05 23:16:46 +01:00
Hadi
3cbf606230 add secrets
Former-commit-id: b94c673084
2024-12-05 23:04:30 +01:00
Hadi
fb75ecc61d add desktop host
Former-commit-id: e3e5be7b73
2024-12-05 23:03:57 +01:00
Hadi
792970dc7f Change zen input
Former-commit-id: c79a153478
2024-12-05 22:22:01 +01:00
Hadi
30220aba6c Merge pull request #9 from underscoregeb/patch-1
new zen url

Former-commit-id: 88c1d7f6e0
2024-12-05 19:23:36 +01:00
geb
6f0e14a560 new zen url
Former-commit-id: ad8a0ccf53
2024-12-05 08:54:14 -06:00
Hadi
fb297a1016 wallpaper change
Former-commit-id: 30bd93f973
2024-12-04 17:24:13 +01:00
Hadi
ea3baad219 flake update
Former-commit-id: a16a9acd49
2024-12-04 17:24:09 +01:00
Hadi
f12c527cdc Update flake
Former-commit-id: b3b191831f
2024-12-04 09:19:18 +01:00
github-actions
f16312b953 Update KEYBINDINGS-HYPRLAND.md (auto)
Former-commit-id: 8309831a6e
2024-12-03 21:46:55 +00:00
Hadi
de8abc2c4f change cursor
Former-commit-id: 4107af5343
2024-12-03 22:46:42 +01:00
Hadi
3308c7424a change browser binding
Former-commit-id: 4a42049faf
2024-12-03 22:46:38 +01:00
Hadi
12ca3743a1 update
Former-commit-id: b8920ade11
2024-12-03 20:08:04 +01:00
Hadi
fc7fbfe0ee oops
Former-commit-id: c8c8738bfd
2024-12-03 20:07:49 +01:00
Hadi
916a9ed923 Switch from Firefox to Zen, ...
Former-commit-id: 7add142ab1
2024-12-03 19:36:15 +01:00
Hadi
bd98e149f9 update flake
Former-commit-id: 52213697ea
2024-11-29 22:03:36 +01:00
Hadi
a66048b432 fix nixd encoding
Former-commit-id: ea3d436c6e
2024-11-25 10:24:53 +01:00
Hadi
d8d8d7e990 put bindings to hyprspace file
Former-commit-id: b991c66c2e
2024-11-25 10:01:58 +01:00
Hadi
8c5ce4880e move hyprspace to file
Former-commit-id: de8de47de4
2024-11-25 09:59:45 +01:00
Hadi
14ef376f03 Firefox homepage
Former-commit-id: cb041ad452
2024-11-25 09:34:08 +01:00
Hadi
ff5a75f687 Firefox config
Former-commit-id: c8aff9ee96
2024-11-25 09:33:56 +01:00
Hadi
bbfd3a5de2 update flakes
Former-commit-id: a6cc144770
2024-11-19 18:16:55 +01:00
Hadi
a980904382 try transparentBackground config
Former-commit-id: fd4535f566
2024-11-17 19:53:03 +01:00
Hadi
25d6f672a4 switch to firefox
Former-commit-id: 8a692431e4
2024-11-17 19:52:52 +01:00
Hadi
1922a9550b doesn't build on unstable
Former-commit-id: 69c0605202
2024-11-17 19:52:22 +01:00
Hadi
79b3cec6fb add backupFileExtension in HM
Former-commit-id: 887668d962
2024-11-17 19:52:10 +01:00
Hadi
e9f8555d37 update flakes
Former-commit-id: d7a03d4a80
2024-11-17 19:51:53 +01:00
Hadi
0875217932 fix colors for the workspace modules
Former-commit-id: 619b0d3724
2024-11-16 12:06:44 +01:00
Hadi
7dc0964759 update flakes & fix
Former-commit-id: 9f1b464ce4
2024-11-16 11:57:00 +01:00
Hadi
d7553fbce8 Fix ssh kitty
Former-commit-id: 8b6f98d153
2024-11-14 20:53:26 +01:00
Hadi
458e61b19c update flakes
Former-commit-id: 65a9e23d90
2024-11-08 14:19:32 +01:00
Hadi
d20693de9a change theme
Former-commit-id: 48c334cb5e
2024-11-08 14:19:25 +01:00
Hadi
ea770a10ec regroup calls
Former-commit-id: 3b45228e47
2024-11-08 14:19:14 +01:00
Hadi
970aa3133b new theme
Former-commit-id: d2aa568fff
2024-11-08 14:18:55 +01:00
Hadi
fe323511a4 Hyprland breaking changes. (Stylix fix, waiting for upstream)
Former-commit-id: f4f9f889ed
2024-11-08 13:32:25 +01:00
Hadi
ea806f21d4 update flakes
Former-commit-id: 61a4d11ca4
2024-11-08 11:37:33 +01:00
Hadi
a6a6cc3c09 update flakes
Former-commit-id: a43e3e36cf
2024-11-05 15:39:17 +01:00
Hadi
c334ff2851 private internet access (vpn)
Former-commit-id: 53efbb88d6
2024-11-05 15:39:11 +01:00
Hadi
40c8ca00db update todos
Former-commit-id: 67f96bde02
2024-11-05 11:36:03 +01:00
Hadi
a25c5fd551 Add colored output for git
Former-commit-id: d721e1bc1c
2024-11-05 11:07:21 +01:00
github-actions
b6d0f00b34 Update SCRIPTS.md (auto)
Former-commit-id: 868cf5d3b3
2024-11-05 10:01:56 +00:00
Hadi
c020deea69 update docs
Former-commit-id: b6f9d2b570
2024-11-05 11:01:41 +01:00
Hadi
01e6c36348 hyprshade -> hyprsunset
Former-commit-id: 8d5eefced0
2024-11-05 10:59:34 +01:00
Hadi
1c9454a1cd broken on unstable
Former-commit-id: f343ef25d2
2024-11-05 10:59:01 +01:00
Hadi
0b65935549 update flakes
Former-commit-id: f2b11b84a2
2024-11-05 10:58:49 +01:00
Hadi
b48b9d1ef2 rename underscore
Former-commit-id: c0cdd3fcde
2024-11-05 10:47:07 +01:00
Hadi
c52a218305 update github actions
Former-commit-id: b0bb2016bc
2024-11-05 10:46:24 +01:00
Hadi
b5638ad2c8 rename underscore
Former-commit-id: 63d38846d8
2024-11-05 10:42:32 +01:00
Hadi
ca94ff3e9b update flake
Former-commit-id: 9fc781c7da
2024-11-01 20:01:30 +01:00
Hadi
a306013288 add nh informations
Former-commit-id: 999b3abda5
2024-10-29 11:19:37 +01:00
Hadi
90a73be013 init nh
Former-commit-id: 9ffeb42e14
2024-10-29 11:17:40 +01:00
Hadi
4aa1b4eb50 switch to nh
Former-commit-id: 1ae412cf5b
2024-10-29 11:12:35 +01:00
Hadi
c2c92cf19c update todos
Former-commit-id: 46b7f8d1b7
2024-10-29 10:44:49 +01:00
Hadi
d767f47422 update flake
Former-commit-id: 2551b8c9ec
2024-10-29 09:23:55 +01:00
Hadi
442a0ad2b8 init docker
Former-commit-id: 4657ca3d75
2024-10-28 12:56:55 +01:00
Hadi
8b4fae6767 disable channels
Former-commit-id: 863253bc74
2024-10-25 18:10:08 +02:00
Hadi
886e10612b update flake
Former-commit-id: 34e71c0efd
2024-10-25 18:10:01 +02:00
Hadi
5734351eca Init hyprsunset
Former-commit-id: 9a41310dd7
2024-10-23 20:21:49 +02:00
Hadi
c52894ecf0 update todos
Former-commit-id: be5b996255
2024-10-23 20:21:33 +02:00
Hadi
72dd09aca1 fix mistake
Former-commit-id: 0c169156bb
2024-10-23 20:20:26 +02:00
Hadi
4bd0343a63 Init hyprpolkitagent
Former-commit-id: 965ef9e76e
2024-10-23 20:15:46 +02:00
Hadi
961bb66e39 add nix path to nixd config
Former-commit-id: d7831f4115
2024-10-23 20:00:11 +02:00
Hadi
3e2f341bdb add nixpkgs path
Former-commit-id: a74e365403
2024-10-23 19:59:57 +02:00
Hadi
e0dcde257a update flake
Former-commit-id: f38ee3051c
2024-10-22 20:34:24 +02:00
github-actions
e2ce1c442c Update README.md (auto)
Former-commit-id: a1fcbd51d8
2024-10-21 15:08:56 +00:00
Hadi
d3a25298d8 update readme theme section
Former-commit-id: 4e69c6702f
2024-10-21 17:08:34 +02:00
Hadi
b4edee45c2 add the theme variables inside the theme dir
Former-commit-id: ba911dc627
2024-10-21 17:06:15 +02:00
Hadi
c830e627b0 add just to dev packages
Former-commit-id: c36755f90e
2024-10-21 16:54:39 +02:00
Hadi
fcec5fff43 add position option for hyprpanel
Former-commit-id: 1ac07c3ace
2024-10-21 13:16:27 +02:00
Hadi
8a81c97ef3 Merge branch 'main' of github.com:anotherhadi/nixy
Former-commit-id: 7af05cf3b3
2024-10-21 13:04:00 +02:00
Hadi
6d46bb179c update todos
Former-commit-id: b1a5af1257
2024-10-21 13:03:51 +02:00
github-actions
a38eb82a2d Update KEYBINDINGS-HYPRLAND.md (auto)
Former-commit-id: 893260f073
2024-10-20 18:38:06 +00:00
Hadi
2c01fd4182 tofi rules & dbus activation
Former-commit-id: f42dc43810
2024-10-20 20:37:53 +02:00
Hadi
ad01749b10 playerctl shortcuts
Former-commit-id: bb06cc673a
2024-10-20 20:37:10 +02:00
Hadi
201e9141a9 launch drun through tofi
Former-commit-id: d4761c8c51
2024-10-20 20:36:54 +02:00
Hadi
dfbabf721d Add gpu & disable ghost monitors
Former-commit-id: 6744550bf6
2024-10-17 20:29:08 +02:00
Hadi
24553acae4 add hints for changeme comments
Former-commit-id: b8b9d16f8c
2024-10-16 18:56:56 +02:00
Hadi
ace16b05dd remove kde connect
Former-commit-id: 4c5963dcaa
2024-10-16 18:56:41 +02:00
Hadi
9222b90b24 add aliases for git reset
Former-commit-id: 968ca31d18
2024-10-16 16:19:20 +02:00
Hadi
ac7da3935e update todos
Former-commit-id: c283b9cb9c
2024-10-16 16:17:55 +02:00
Hadi
c08d1bd231 sort by lines
Former-commit-id: 339349661a
2024-10-16 16:16:49 +02:00
github-actions
9635c7c8d5 Update KEYBINDINGS-HYPRLAND.md (auto)
Former-commit-id: c904a81267
2024-10-15 23:59:19 +00:00
Hadi
51c00c532f init quickmenu
Former-commit-id: c9663e1da6
2024-10-16 01:59:04 +02:00
Hadi
e386a42a43 update todos
Former-commit-id: 37c6ba8d1b
2024-10-16 01:29:47 +02:00
Hadi
26f5c4d041 disable autoDrag (overview)
Former-commit-id: 6f052316e9
2024-10-16 01:29:36 +02:00
github-actions
c3c4d5a027 Update KEYBINDINGS-HYPRLAND.md (auto)
Former-commit-id: 01a5992be0
2024-10-15 23:22:27 +00:00
Hadi
c416c53ec3 Init Hyprspace (overview)
Former-commit-id: e0e09df208
2024-10-16 01:22:12 +02:00
Hadi
51c1e94c15 fix prompts
Former-commit-id: 0d50980a8d
2024-10-16 00:43:59 +02:00
Hadi
12657964c0 add tofi commandw
Former-commit-id: fdec6ed81c
2024-10-16 00:40:40 +02:00
Hadi
b4a41673ed change markdown title highlight
Former-commit-id: f878719b3d
2024-10-15 21:20:43 +02:00
Hadi
a0c9d2570d disable treesitter context
Former-commit-id: 491e29a8fc
2024-10-15 20:15:22 +02:00
Hadi
abca34497f buttons background color fix if transparent bar
Former-commit-id: e513c2cb44
2024-10-15 19:53:20 +02:00
Hadi
3a66e81390 nixy loop prompt fix
Former-commit-id: f36410f05f
2024-10-15 19:53:08 +02:00
Hadi
9c8ff97621 init nixy loop
Former-commit-id: 51c64ace97
2024-10-15 17:42:52 +02:00
Hadi
fd3b272e31 Delete .sops.yaml
Former-commit-id: a88496af4f
2024-10-15 17:37:01 +02:00
Hadi
b14941d499 remove .sops.yaml from github
Former-commit-id: 3c72f875ed
2024-10-15 17:36:37 +02:00
Hadi
b503ef1dec remove .sops.yaml from github
Former-commit-id: 159e4aad23
2024-10-15 17:36:01 +02:00
Hadi
f600f4903f tmux shortcuts for config
Former-commit-id: 3dee75c5d5
2024-10-15 17:30:47 +02:00
Hadi
023bf6d570 update flake
Former-commit-id: e5c39e4f2c
2024-10-15 16:54:19 +02:00
Hadi
3e23890e43 update github actions
Former-commit-id: 05fb0f494a
2024-10-15 15:08:08 +02:00
81 changed files with 2477 additions and 1204 deletions

15
.github/FUNDING.yml vendored Normal file
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']

View File

@@ -65,8 +65,7 @@ Those are the system-level configurations. (audio, bluetooth, gpu, bootloader, .
### 🎨 themes ### 🎨 themes
Those are the themes used in the system configuration. 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.
Those themes are based on [stylix](https://github.com/danth/stylix).
See avaiable themes in [THEMES.md](docs/THEMES.md) See avaiable themes in [THEMES.md](docs/THEMES.md)
### 💻 hosts ### 💻 hosts

0
.github/scripts/create_scripts_docs.sh vendored Normal file → Executable file
View File

View File

@@ -16,9 +16,9 @@ jobs:
- name: Run a script - name: Run a script
run: | run: |
chmod +x ./.github/scripts/keybindings_to_markdown.sh chmod +x ./.github/scripts/keybindings_to_markdown.sh
./docs/.github/keybindings_to_markdown.sh ./.github/scripts/keybindings_to_markdown.sh
git config user.name github-actions git config user.name github-actions
git config user.email github-actions@github.com git config user.email github-actions@github.com
git add . git add .
git commit -m "Update KEYBINDINGS-HYPRLAND.md (auto)" git commit -m "Update KEYBINDINGS-HYPRLAND.md (auto)" && git push
git push exit 0

View File

@@ -27,5 +27,5 @@ jobs:
git config user.name github-actions git config user.name github-actions
git config user.email github-actions@github.com git config user.email github-actions@github.com
git add . git add .
git commit -m "Update README.md (auto)" git commit -m "Update README.md (auto)" && git push
git push exit 0

View File

@@ -1,7 +1,7 @@
on: on:
push: push:
paths: paths:
- 'home/scripts' - 'home/scripts/**'
permissions: permissions:
contents: write contents: write
jobs: jobs:
@@ -20,5 +20,5 @@ jobs:
git config user.name github-actions git config user.name github-actions
git config user.email github-actions@github.com git config user.email github-actions@github.com
git add . git add .
git commit -m "Update SCRIPTS.md (auto)" git commit -m "Update SCRIPTS.md (auto)" && git push
git push exit 0

1
.gitignore vendored
View File

@@ -1 +1,2 @@
todolist.md todolist.md
.sops.yaml

View File

@@ -1,11 +0,0 @@
keys:
- &primary age12yvtj49pfh3fqzqflscm0ek4yzrjhr6cqhn7x89gdxnlykq0xudq5c7334
creation_rules:
- path_regex: hosts/laptop/secrets/secrets.yaml$
key_groups:
- age:
- *primary
- path_regex: hosts/server/secrets/secrets.yaml$
key_groups:
- age:
- *primary

View File

@@ -74,8 +74,7 @@ Those are the system-level configurations. (audio, bluetooth, gpu, bootloader, .
### 🎨 themes ### 🎨 themes
Those are the themes used in the system configuration. 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.
Those themes are based on [stylix](https://github.com/danth/stylix).
See avaiable themes in [THEMES.md](docs/THEMES.md) See avaiable themes in [THEMES.md](docs/THEMES.md)
### 💻 hosts ### 💻 hosts

View File

@@ -10,12 +10,14 @@
| Move app to Workspace | SHIFT + SUPER + {Number} | | Move app to Workspace | SHIFT + SUPER + {Number} |
| Kitty | SUPER + RETURN | | Kitty | SUPER + RETURN |
| Thunar | SUPER + E | | Thunar | SUPER + E |
| Qutebrowser | SUPER + B | | Zen Browser | SUPER + B |
| Bitwarden | SUPER + K | | Bitwarden | SUPER + K |
| Lock | SUPER + L | | Lock | SUPER + L |
| Powermenu | SUPER + X | | Powermenu | SUPER + X |
| Launcher | SUPER + SPACE | | Launcher | SUPER + SPACE |
| Quickmenu | SUPER + C |
| Toggle HyprFocus | SHIFT + SUPER + SPACE | | Toggle HyprFocus | SHIFT + SUPER + SPACE |
| Planify | SUPER + P |
| Close window | SUPER + Q | | Close window | SUPER + Q |
| Toggle Floating | SUPER + T | | Toggle Floating | SUPER + T |
| Toggle Fullscreen | SUPER + F | | Toggle Fullscreen | SUPER + F |
@@ -27,11 +29,11 @@
| Focus next monitor | SHIFT + SUPER + down | | Focus next monitor | SHIFT + SUPER + down |
| Add to master | SHIFT + SUPER + left | | Add to master | SHIFT + SUPER + left |
| Remove from master | SHIFT + SUPER + right | | Remove from master | SHIFT + SUPER + right |
| Screenshot window | SUPER + PRINT | | Screenshot region | SUPER + PRINT |
| Screenshot monitor | PRINT | | Screenshot monitor | PRINT |
| Screenshot region | SHIFT + SUPER + PRINT | | Screenshot window | SHIFT + SUPER + PRINT |
| Screenshot region then edit | ALTPRINT | | Screenshot region then edit | ALTPRINT |
| Search on internet with wofi | SHIFT + SUPER + S | | Toggle hyprpanel | SHIFT + SUPER + T |
| Clipboard picker with wofi | SHIFT + SUPER + C | | Clipboard picker with wofi | SHIFT + SUPER + C |
| Emoji picker with wofi | SHIFT + SUPER + E | | Emoji picker with wofi | SHIFT + SUPER + E |
| Toggle night shift | SUPER + F2 | | Toggle night shift | SUPER + F2 |
@@ -39,6 +41,9 @@
| Move Window (mouse) | SUPER + mouse:272 | | Move Window (mouse) | SUPER + mouse:272 |
| Resize Window (mouse) | SUPER + R | | Resize Window (mouse) | SUPER + R |
| Toggle Mute | XF86AudioMute | | Toggle Mute | XF86AudioMute |
| Play/Pause Song | XF86AudioPlay |
| Next Song | XF86AudioNext |
| Previous Song | XF86AudioPrev |
| Lock when closing Lid | switch:Lid Switch | | Lock when closing Lid | switch:Lid Switch |
| Sound Up | XF86AudioRaiseVolume | | Sound Up | XF86AudioRaiseVolume |
| Sound Down | XF86AudioLowerVolume | | Sound Down | XF86AudioLowerVolume |

View File

@@ -31,11 +31,12 @@ A simple script to toggle focus on few windows in Hyprland.
## Hyprpanel ## Hyprpanel
Quick scripts to toggle, reload and kill hyprpanel. Quick scripts to toggle, reload, hide & show hyprpanel.
- `hyprpanel-toggle` - Toggle hyprpanel. - `hyprpanel-toggle` - Toggle hyprpanel (hide/show).
- `hyprpanel-show` - Show hyprpanel.
- `hyprpanel-hide` - Hide hyprpanel.
- `hyprpanel-reload` - Reload hyprpanel. - `hyprpanel-reload` - Reload hyprpanel.
- `hyprpanel-kill` - Kill hyprpanel.
## Nerdfont FZF ## Nerdfont FZF
@@ -46,6 +47,7 @@ This module provides a script to search for Nerd Fonts icons using fzf.
## Night-Shift ## 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. 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-on` activates Night-Shift.
- `night-shift-off` deactivates Night-Shift. - `night-shift-off` deactivates Night-Shift.
@@ -63,9 +65,17 @@ Nixy is a simple script that I use to manage my NixOS system. It's a simple scri
## 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 ## Screenshot
This module provides a script to take screenshots using `hyprshot` and `swappy`. 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. - `screenshot [region|window|monitor] [swappy]` - Take a screenshot of the region, window, or monitor. Optionally, use `swappy` to copy the screenshot to the clipboard.
@@ -82,7 +92,7 @@ This module provides a set of scripts to control the volume of the default audio
Usefull quick scripts Usefull quick scripts
- `menu` - Open wofi with drun mode. - `menu` - Open wofi with drun mode. (wofi)
- `powermenu` - Open power dropdown menu. - `powermenu` - Open power dropdown menu. (wofi)
- `lock` - Lock the screen. - `lock` - Lock the screen. (hyprlock)

View File

@@ -2,12 +2,4 @@
feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md)) feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md))
- [!] Qutebrowser Bitwarden integration (I need this.) - [ ] <https://github.com/isabelroses/dotfiles/blob/main/home/comfy/system/xdg.nix>
- [ ] Nixvim
- [ ] Change headings foreground
- [ ] neotest golang
- [ ] nvim dap
- [ ] Tofi configuration
- [ ] OS Hardening with nix-mineral

950
flake.lock generated

File diff suppressed because it is too large Load Diff

View File

@@ -24,33 +24,38 @@
url = "github:Mic92/sops-nix"; url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; hyprspace = {
hyprpanel.url = "github:Jas-SinghFSU/HyprPanel"; url = "github:KZDKM/Hyprspace";
nixy-wallpapers = { inputs.hyprland.follows = "hyprland";
url = "github:anotherhadi/nixy-wallpapers";
flake = false;
}; };
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
hyprpolkitagent.url = "github:hyprwm/hyprpolkitagent";
hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";
stylix.url = "github:danth/stylix"; stylix.url = "github:danth/stylix";
apple-fonts.url = "github:Lyndeno/apple-fonts.nix"; apple-fonts.url = "github:Lyndeno/apple-fonts.nix";
hyprswitch.url = "github:h3rmt/hyprswitch/release"; nur.url = "github:nix-community/NUR";
zen-browser.url =
"git+https://git.sr.ht/~canasta/zen-browser-flake/"; # updated flake
}; };
outputs = inputs@{ nixpkgs, ... }: { outputs = inputs@{ nixpkgs, ... }: {
nixosConfigurations = { nixosConfigurations = {
nixy = # CHANGEME nixy = # CHANGEME: This should match the 'hostname' in your variables.nix file
nixpkgs.lib.nixosSystem { nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
{ {
nixpkgs.overlays = [ inputs.hyprpanel.overlay ]; nixpkgs.overlays =
[ inputs.hyprpanel.overlay inputs.nur.overlays.default ];
_module.args = { inherit inputs; }; _module.args = { inherit inputs; };
} }
inputs.nixos-hardware.nixosModules.omen-16-n0005ne # CHANGEME inputs.nixos-hardware.nixosModules.omen-16-n0005ne # CHANGEME: check https://github.com/NixOS/nixos-hardware
inputs.home-manager.nixosModules.home-manager inputs.home-manager.nixosModules.home-manager
inputs.stylix.nixosModules.stylix inputs.stylix.nixosModules.stylix
./hosts/laptop/configuration.nix # CHANGEME ./hosts/laptop/configuration.nix # CHANGEME: change the path to match your host folder
]; ];
}; };
}; };
}; };
} }

View File

@@ -0,0 +1,44 @@
# 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();
'';
}

View File

@@ -22,6 +22,7 @@ in {
extraConfig = { extraConfig = {
init.defaultBranch = "main"; init.defaultBranch = "main";
push.autoSetupRemote = true; push.autoSetupRemote = true;
color.ui = "1";
}; };
aliases = { aliases = {
essa = "push --force"; essa = "push --force";

View File

@@ -1,4 +0,0 @@
# Work in progress on another repo
{ pkgs, ... }: {
home.packages = with pkgs; [ wkhtmltopdf ];
}

View File

@@ -0,0 +1,187 @@
{
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
'';
}
];
};
}

View File

@@ -2,19 +2,19 @@
{ inputs, ... }: { { inputs, ... }: {
imports = [ imports = [
inputs.nixvim.homeManagerModules.nixvim inputs.nixvim.homeManagerModules.nixvim
./plugins/cmp.nix
./plugins/dashboard.nix
./plugins/lsp.nix ./plugins/lsp.nix
./plugins/markdown.nix
./plugins/tree.nix ./plugins/tree.nix
./plugins/ui.nix
./plugins/utils.nix
./plugins/dap.nix
./plugins/telescope.nix ./plugins/telescope.nix
./plugins/zenmode.nix ./plugins/cmp.nix
./plugins/ui.nix
./plugins/lualine.nix
./plugins/utils.nix
./plugins/dashboard.nix
./plugins/markdown.nix
./options.nix ./options.nix
./keymaps.nix ./keymaps.nix
./autocmds.nix
]; ];
programs.nixvim.enable = true; programs.nixvim.enable = true;

View File

@@ -1,38 +1,151 @@
{ {
programs.nixvim.globals.mapleader = " "; programs.nixvim = {
programs.nixvim.opts = { globals.mapleader = " ";
updatetime = 50; # Faster completion opts = {
number = true;
relativenumber = true;
autoindent = true; autoindent = true;
clipboard = "unnamed,unnamedplus";
expandtab = true;
tabstop = 2;
softtabstop = 2;
shiftwidth = 2;
smartindent = true; smartindent = true;
breakindent = true;
ignorecase = true;
incsearch = true; incsearch = true;
hlsearch = true; hlsearch = true;
smartcase = true;
wildmode = "list:longest"; wildmode = "list:longest";
completeopt = [ "menuone" "noselect" "noinsert" ];
signcolumn = "yes";
cursorline = false;
scrolloff = 8; scrolloff = 8;
mouse = "a";
termguicolors = true;
showmode = false;
wrap = false;
swapfile = false; swapfile = false;
undofile = true;
conceallevel = 3; 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;
};
}; };
} }

View File

@@ -112,6 +112,5 @@
}; };
}; };
}; };
}; };
} }

View File

@@ -1,28 +0,0 @@
{ pkgs, ... }: {
programs.nixvim.plugins.dap = {
enable = true;
adapters = { };
signs = {
dapBreakpoint = {
text = "";
texthl = "DapBreakpoint";
};
dapBreakpointCondition = {
text = "";
texthl = "DapBreakpointCondition";
};
dapLogPoint = {
text = "";
texthl = "DapLogPoint";
};
};
extensions = {
dap-go = {
enable = true;
delve.path = "${pkgs.delve}/bin/dlv";
};
dap-ui = { enable = true; };
dap-virtual-text = { enable = true; };
};
};
}

View File

@@ -50,6 +50,16 @@ in {
val = "󰭎 Find file"; val = "󰭎 Find file";
on_press.__raw = "function() vim.cmd[[Telescope find_files]] end"; on_press.__raw = "function() vim.cmd[[Telescope find_files]] end";
opts = { opts = {
keymap = [
"n"
"nf"
":Telescope find_files <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "nf"; shortcut = "nf";
position = "center"; position = "center";
cursor = 3; cursor = 3;
@@ -64,6 +74,16 @@ in {
val = " New file"; val = " New file";
on_press.__raw = "function() vim.cmd[[ene]] end"; on_press.__raw = "function() vim.cmd[[ene]] end";
opts = { opts = {
keymap = [
"n"
"nn"
":ene <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "nn"; shortcut = "nn";
position = "center"; position = "center";
cursor = 3; cursor = 3;
@@ -78,6 +98,16 @@ in {
val = " NixOs Config"; val = " NixOs Config";
on_press.__raw = "function() vim.cmd[[Neotree ${configDir}]] end"; on_press.__raw = "function() vim.cmd[[Neotree ${configDir}]] end";
opts = { opts = {
keymap = [
"n"
"nc"
":Neotree ${configDir} <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "nc"; shortcut = "nc";
position = "center"; position = "center";
cursor = 3; cursor = 3;
@@ -93,7 +123,17 @@ in {
on_press.__raw = on_press.__raw =
"function() vim.cmd[[e ${configDir}/docs/KEYBINDINGS.md]] end"; "function() vim.cmd[[e ${configDir}/docs/KEYBINDINGS.md]] end";
opts = { opts = {
shortcut = "nc"; shortcut = "nk";
keymap = [
"n"
"nk"
":e ${configDir}/docs/KEYBINDINGS-HYPRLAND.md <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
position = "center"; position = "center";
cursor = 3; cursor = 3;
width = 50; width = 50;
@@ -108,6 +148,16 @@ in {
on_press.__raw = "function() vim.cmd[[Telescope oldfiles]] end"; on_press.__raw = "function() vim.cmd[[Telescope oldfiles]] end";
opts = { opts = {
shortcut = "no"; shortcut = "no";
keymap = [
"n"
"no"
":Telescope oldfiles <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
position = "center"; position = "center";
cursor = 3; cursor = 3;
width = 50; width = 50;
@@ -121,7 +171,17 @@ in {
val = "󰱽 Find text"; val = "󰱽 Find text";
on_press.__raw = "function() vim.cmd[[Telescope live_grep]] end"; on_press.__raw = "function() vim.cmd[[Telescope live_grep]] end";
opts = { opts = {
shortcut = "nt"; shortcut = "ng";
keymap = [
"n"
"ng"
":Telescope live_grep <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
position = "center"; position = "center";
cursor = 3; cursor = 3;
width = 50; width = 50;
@@ -136,6 +196,16 @@ in {
on_press.__raw = "function() vim.cmd[[qa]] end"; on_press.__raw = "function() vim.cmd[[qa]] end";
opts = { opts = {
shortcut = "nq"; shortcut = "nq";
keymap = [
"n"
"nq"
":qa <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
position = "center"; position = "center";
cursor = 3; cursor = 3;
width = 50; width = 50;

View File

@@ -7,7 +7,16 @@
bashls.enable = true; bashls.enable = true;
clangd.enable = true; clangd.enable = true;
gopls.enable = true; gopls.enable = true;
nixd.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; tailwindcss.enable = true;
html.enable = true; html.enable = true;
svelte.enable = true; svelte.enable = true;

View File

@@ -0,0 +1,30 @@
{
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")'' ];
};
};
};
}

View File

@@ -1,16 +1,110 @@
# The render-markdown.nvim plugin is a plugin that renders markdown files in a neovim in a more readable way.
{ config, ... }: { config, ... }:
let let
accent = "#${config.lib.stylix.colors.base0D}"; accent = "#${config.lib.stylix.colors.base0D}";
muted = "#${config.lib.stylix.colors.base03}"; muted = "#${config.lib.stylix.colors.base03}";
background = "#${config.lib.stylix.colors.base00}";
in { in {
programs.nixvim = { programs.nixvim = {
plugins.mkdnflow = { # 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; enable = true;
modules = { conceal = false; }; modules = { conceal = false; };
toDo.symbols = [ " " "-" "x" "!" "/" ]; toDo.symbols = [ " " "-" "x" "!" "/" ];
mappings = { mappings = {
MkdnCreateLink = false; MkdnCreateLink = false;
@@ -28,14 +122,17 @@ in {
modes = [ "v" ]; modes = [ "v" ];
}; };
MkdnExtendList = false; MkdnExtendList = false;
MkdnFoldSection = { MkdnFoldSection = {
key = "<leader>mf"; key = "<leader>mf";
modes = "n"; modes = "n";
}; };
MkdnUnfoldSection = { MkdnUnfoldSection = {
key = "<leader>mF"; key = "<leader>mF";
modes = "n"; modes = "n";
}; };
MkdnFollowLink = { MkdnFollowLink = {
key = "gd"; key = "gd";
modes = "n"; modes = "n";
@@ -112,57 +209,31 @@ in {
}; };
}; };
}; };
extraFiles = {
"after/ftplugin/markdown.lua".text = '' # Render UI elements
vim.bo.tabstop = 2 render-markdown = {
vim.bo.shiftwidth = 2
vim.bo.expandtab = true
'';
};
highlight = {
RenderMarkdownBg.bg = background;
RenderMarkdownH1.fg = accent;
RenderMarkdownH2.fg = muted;
RenderMarkdownH3.fg = muted;
RenderMarkdownH4.fg = muted;
RenderMarkdownH5.fg = muted;
RenderMarkdownH6.fg = muted;
RenderMarkdownTodo.fg = muted;
RenderMarkdownWarning.fg = accent;
};
plugins.render-markdown = {
enable = true; enable = true;
settings = { settings = {
heading = { heading = { enabled = false; };
icons = [ "# " "󰲣 " "󰲥 " "󰲧 " "󰲩 " "󰲫 " ];
backgrounds = [ "RenderMarkdownBg" ];
foregrounds = [
"RenderMarkdownH1"
"RenderMarkdownH2"
"RenderMarkdownH3"
"RenderMarkdownH4"
"RenderMarkdownH5"
"RenderMarkdownH6"
];
};
checkbox = { checkbox = {
unchecked = { highlight = "RenderMarkdownTodo"; }; unchecked = { highlight = "RenderMarkdownTodo"; };
checked = { highlight = "RenderMarkdownTodo"; }; checked = { highlight = "RenderMarkdownDone"; };
custom = { custom = {
pending = { pending = {
raw = "[-]"; raw = "[-]";
rendered = "󰥔 "; rendered = " ";
highlight = "RenderMarkdownTodo"; highlight = "RenderMarkdownTodo";
}; };
important = { important = {
raw = "[!]"; raw = "[!]";
rendered = " "; rendered = "󰰱 ";
highlight = "RenderMarkdownWarning"; highlight = "RenderMarkdownWarning";
}; };
cancel = { cancel = {
raw = "[/]"; raw = "[/]";
rendered = "󱋬 "; rendered = "󱋬 ";
highlight = "RenderMarkdownTodo"; highlight = "RenderMarkdownWarning";
};
}; };
}; };
}; };

View File

@@ -7,6 +7,11 @@
settings = { settings = {
default_file_explorer = false; default_file_explorer = false;
skip_confirm_for_simple_edits = true; skip_confirm_for_simple_edits = true;
view_options.is_hidden_file = ''
function(name, bufnr)
return vim.startswith(name, ".") or name == "img"
end
'';
win_options = { win_options = {
concealcursor = "ncv"; concealcursor = "ncv";
conceallevel = 3; conceallevel = 3;

View File

@@ -1,54 +1,14 @@
{ pkgs, ... }: { { pkgs, ... }: {
home.packages = with pkgs; [ ctags ]; home.packages = with pkgs; [ ctags ];
programs.nixvim = { programs.nixvim.plugins = {
plugins = {
lualine = {
enable = true;
settings = {
options.disabled_filetypes.statusline =
[ "dashboard" "alpha" "neo-tree" ];
alwaysDivideMiddle = true;
globalstatus = true;
ignoreFocus = [ "neo-tree" ];
extensions = [ "fzf" ];
theme = "auto";
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")'' ];
};
};
};
web-devicons.enable = true; web-devicons.enable = true;
noice.enable = true; noice.enable = true;
notify = {
enable = true;
level = "warn";
};
gitsigns = { gitsigns = {
enable = true; enable = true;
settings.current_line_blame = false; settings.current_line_blame = false;
}; };
trouble.enable = true; trouble.enable = true;
indent-blankline.enable = true; bufferline.enable = true;
nvim-colorizer.enable = true;
tagbar = {
enable = true;
tagsPackage = pkgs.universal-ctags;
};
};
}; };
} }

View File

@@ -3,47 +3,23 @@
highlightOverride = { highlightOverride = {
FloatBorder.fg = "#${config.lib.stylix.colors.base0D}"; FloatBorder.fg = "#${config.lib.stylix.colors.base0D}";
}; };
nixpkgs.config = { allowUnfree = true; };
plugins = { plugins = {
copilot-vim.enable = true; copilot-vim.enable = true;
flash.enable = true; flash.enable = true;
image = {
enable = true;
integrations.markdown = {
clearInInsertMode = true;
onlyRenderImageAtCursor = true;
};
};
tmux-navigator.enable = true; tmux-navigator.enable = true;
comment.enable = true; comment.enable = true;
nvim-autopairs.enable = true; nvim-autopairs.enable = true;
friendly-snippets.enable = true;
todo-comments.enable = true; todo-comments.enable = true;
treesitter = { treesitter = {
enable = true; enable = true;
nixGrammars = true; nixGrammars = true;
settings = { settings = {
ensure_installed = "all";
indent.enable = true; indent.enable = true;
highlight.enable = true; highlight.enable = true;
}; };
}; };
harpoon = {
enable = true;
enableTelescope = true;
keymapsSilent = true;
keymaps = {
addFile = "<leader>ha";
toggleQuickMenu = "<leader>hu";
navNext = "<leader>hl";
navPrev = "<leader>hh";
navFile = {
"1" = "<leader>h1";
"2" = "<leader>h2";
"3" = "<leader>h3";
"4" = "<leader>h4";
};
};
};
treesitter-context.enable = true;
}; };
}; };
} }

View File

@@ -1,46 +0,0 @@
{
programs.nixvim.plugins = {
zen-mode = {
enable = true;
settings = {
on_close = ''
function()
require("gitsigns.actions").toggle_current_line_blame()
vim.cmd('IBLEnable')
vim.opt.signcolumn = "yes:2"
vim.wo.wrap = false
vim.wo.linebreak = false
require("gitsigns.actions").refresh()
end
'';
on_open = ''
function()
require("gitsigns.actions").toggle_current_line_blame()
vim.cmd('IBLDisable')
vim.opt.relativenumber = false
vim.opt.signcolumn = "no"
vim.wo.wrap = true
vim.wo.linebreak = true
require("gitsigns.actions").refresh()
end
'';
window = {
backdrop = 1;
height = 1;
options = {
signcolumn = "no";
number = false;
relativenumber = false;
cursorline = false;
cursorcolumn = false;
foldcolumn = "0";
list = false;
};
width = 0.8;
};
};
};
};
}

View File

@@ -2,7 +2,6 @@
# My homepage is generated using https://github.com/anotherhadi/homepage # My homepage is generated using https://github.com/anotherhadi/homepage
{ pkgs, config, ... }: { pkgs, config, ... }:
let let
accent = "#${config.lib.stylix.colors.base0D}"; accent = "#${config.lib.stylix.colors.base0D}";
background = "#${config.lib.stylix.colors.base00}"; background = "#${config.lib.stylix.colors.base00}";
foreground = "#${config.lib.stylix.colors.base05}"; foreground = "#${config.lib.stylix.colors.base05}";

View File

@@ -2,7 +2,7 @@
{ {
programs.eza = { programs.eza = {
enable = true; enable = true;
icons = true; icons = "auto";
extraOptions = [ extraOptions = [
"--group-directories-first" "--group-directories-first"

View File

@@ -1,5 +1,30 @@
# Tmux is a terminal multiplexer that allows you to run multiple terminal sessions in a single window. # Tmux is a terminal multiplexer that allows you to run multiple terminal sessions in a single window.
{ pkgs, ... }: { { 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 = { programs.tmux = {
enable = true; enable = true;
mouse = true; mouse = true;
@@ -16,7 +41,6 @@
set -gq allow-passthrough on set -gq allow-passthrough on
bind-key x kill-pane # skip "kill-pane 1? (y/n)" prompt bind-key x kill-pane # skip "kill-pane 1? (y/n)" prompt
set -g detach-on-destroy off # don't exit from tmux when closing a session
bind-key -n C-Tab next-window bind-key -n C-Tab next-window
bind-key -n C-S-Tab previous-window bind-key -n C-S-Tab previous-window
@@ -25,9 +49,10 @@
plugins = with pkgs; [ plugins = with pkgs; [
tmuxPlugins.vim-tmux-navigator tmuxPlugins.vim-tmux-navigator
tmuxPlugins.resurrect # tmuxPlugins.resurrect
tmuxPlugins.sensible tmuxPlugins.sensible
tmuxPlugins.tokyo-night-tmux tmuxPlugins.tokyo-night-tmux
]; ];
}; };
home.packages = [ Config ];
} }

View File

@@ -49,6 +49,18 @@ in {
}" }"
''; '';
#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 = { shellAliases = {
vim = "nvim"; vim = "nvim";
vi = "nvim"; vi = "nvim";
@@ -61,13 +73,14 @@ in {
ls = "eza --icons=always --no-quotes"; ls = "eza --icons=always --no-quotes";
tree = "eza --icons=always --tree --no-quotes"; tree = "eza --icons=always --tree --no-quotes";
sl = "ls"; sl = "ls";
open = "${pkgs.xdg_utils}/bin/xdg-open"; open = "${pkgs.xdg-utils}/bin/xdg-open";
icat = "${pkgs.kitty}/bin/kitty +kitten icat"; icat = "${pkgs.kitty}/bin/kitty +kitten icat";
ssh = "kitty +kitten ssh";
wireguard-import = "nmcli connection import type wireguard file"; wireguard-import = "nmcli connection import type wireguard file";
notes = notes =
"nvim ~/nextcloud/Notes/index.md --cmd 'cd ~/nextcloud/Notes' -c ':Telescope find_files'"; "nvim ~/nextcloud/notes/index.md --cmd 'cd ~/nextcloud/notes' -c ':Telescope find_files'";
note = "notes"; note = "notes";
# git # git
@@ -82,6 +95,8 @@ in {
gco = "git checkout"; gco = "git checkout";
gcb = "git checkout -b"; gcb = "git checkout -b";
gbr = "git branch"; gbr = "git branch";
grs = "git reset HEAD~1";
grh = "git reset --hard HEAD~1";
gaa = "git add ."; gaa = "git add .";
gcm = "git commit -m"; gcm = "git commit -m";

View File

@@ -6,9 +6,6 @@ let
in { in {
imports = [ inputs.spicetify-nix.homeManagerModules.default ]; imports = [ inputs.spicetify-nix.homeManagerModules.default ];
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [ "spotify" ];
stylix.targets.spicetify.enable = false; stylix.targets.spicetify.enable = false;
programs.spicetify = { programs.spicetify = {

View File

@@ -41,6 +41,7 @@
<property name="last-show-hidden" type="bool" value="false"/> <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-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-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> </channel>
''; '';
} }

View File

@@ -1,17 +0,0 @@
# Yazi is a TUI file explorer
{
programs.yazi = {
enable = true;
enableZshIntegration = true;
settings = {
log = { enabled = false; };
manager = {
show_hidden = false;
sort_by = "modified";
sort_dir_first = true;
sort_reverse = true;
};
};
};
}

View File

@@ -0,0 +1,86 @@
{ pkgs, config, inputs, ... }:
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 {
home.file.".config/homepage" = {
source = "${homepage}/build";
recursive = true;
};
home.packages = with pkgs;
[ inputs.zen-browser.packages."${system}".default ];
}

View File

@@ -8,8 +8,9 @@
./hyprfocus ./hyprfocus
./night-shift ./night-shift
./screenshot ./screenshot
./nerdfont_fzf ./nerdfont-fzf
./notification ./notification
./system ./system
./openvpn
]; ];
} }

View File

@@ -11,14 +11,19 @@ let
hyprfocus-on = pkgs.writeShellScriptBin "hyprfocus-on" hyprfocus-on = pkgs.writeShellScriptBin "hyprfocus-on"
# bash # bash
'' ''
hyprctl keyword "general:gaps_in" 0
hyprctl keyword "general:gaps_out" 0
hyprpanel-hide hyprpanel-hide
hyprctl keyword "general:border_size" 1
hyprctl keyword "decoration:rounding" 0 hyprctl --batch "\
hyprctl keyword "decoration:drop_shadow" false keyword animations:enabled 0;\
hyprctl keyword "decoration:inactive_opacity" 0.98 keyword decoration:shadow:enabled 0;\
hyprctl keyword "decoration:active_opacity" 1 keyword decoration:blur:enabled 0;\
keyword general:gaps_in 0;\
keyword general:gaps_out 0;\
keyword general:border_size 1;\
keyword decoration:rounding 0;\
keyword decoration:inactive_opacity 1;\
keyword decoration:active_opacity 1"
echo "1" > /tmp/hyprfocus echo "1" > /tmp/hyprfocus
''; '';

View File

@@ -1,43 +1,44 @@
# - ## Hyprpanel # - ## Hyprpanel
#- #-
#- Quick scripts to toggle, reload and kill hyprpanel. #- Quick scripts to toggle, reload, hide & show hyprpanel.
#- #-
#- - `hyprpanel-toggle` - Toggle hyprpanel. #- - `hyprpanel-toggle` - Toggle hyprpanel (hide/show).
#- - `hyprpanel-show` - Show hyprpanel.
#- - `hyprpanel-hide` - Hide hyprpanel.
#- - `hyprpanel-reload` - Reload hyprpanel. #- - `hyprpanel-reload` - Reload hyprpanel.
#- - `hyprpanel-kill` - Kill hyprpanel.
{ pkgs, ... }: { pkgs, ... }:
let let
hyprpanel-toggle = pkgs.writeShellScriptBin "hyprpanel-toggle" '' hyprpanel-toggle = pkgs.writeShellScriptBin "hyprpanel-toggle" ''
hyprpanel -t bar-0 hyprpanel toggleWindow bar-0
hyprpanel -t bar-1 hyprpanel toggleWindow bar-1
hyprpanel -t bar-2 hyprpanel toggleWindow bar-2
hyprpanel -t bar-3 hyprpanel toggleWindow bar-3
''; '';
hyprpanel-hide = pkgs.writeShellScriptBin "hyprpanel-hide" '' hyprpanel-hide = pkgs.writeShellScriptBin "hyprpanel-hide" ''
status=$(hyprpanel -r "isWindowVisible('bar-0')") status=$(hyprpanel isWindowVisible bar-0)
if [[ $status == "true" ]]; then if [[ $status == "true" ]]; then
hyprpanel -t bar-0 hyprpanel toggleWindow bar-0
fi fi
status=$(hyprpanel -r "isWindowVisible('bar-1')") status=$(hyprpanel isWindowVisible bar-1)
if [[ $status == "true" ]]; then if [[ $status == "true" ]]; then
hyprpanel -t bar-1 hyprpanel toggleWindow bar-1
fi fi
''; '';
hyprpanel-show = pkgs.writeShellScriptBin "hyprpanel-show" '' hyprpanel-show = pkgs.writeShellScriptBin "hyprpanel-show" ''
status=$(hyprpanel -r "isWindowVisible('bar-0')") status=$(hyprpanel isWindowVisible bar-0)
if [[ $status == "false" ]]; then if [[ $status == "false" ]]; then
hyprpanel -t bar-0 hyprpanel toggleWindow bar-0
fi fi
status=$(hyprpanel -r "isWindowVisible('bar-1')") status=$(hyprpanel isWindowVisible bar-1)
if [[ $status == "false" ]]; then if [[ $status == "false" ]]; then
hyprpanel -t bar-1 hyprpanel toggleWindow bar-1
fi fi
''; '';
hyprpanel-reload = pkgs.writeShellScriptBin "hyprpanel-reload" '' hyprpanel-reload = pkgs.writeShellScriptBin "hyprpanel-reload" ''
[ $(pgrep "ags") ] && pkill ags [ $(pgrep "hyprpanel") ] && pkill hyprpanel
hyprctl dispatch exec hyprpanel hyprctl dispatch exec hyprpanel
''; '';
in { in {

View File

@@ -1,6 +1,7 @@
# - ## Night-Shift # - ## 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. #- 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-on` activates Night-Shift.
#- - `night-shift-off` deactivates Night-Shift. #- - `night-shift-off` deactivates Night-Shift.
@@ -9,42 +10,52 @@
#- - `night-shift-status-icon` checks if Night-Shift is active. (icon) #- - `night-shift-status-icon` checks if Night-Shift is active. (icon)
{ pkgs, ... }: { pkgs, ... }:
let let
value = "4500"; # Default value for night-shift temperature
night-shift-on = pkgs.writeShellScriptBin "night-shift-on" '' night-shift-on = pkgs.writeShellScriptBin "night-shift-on"
${pkgs.hyprshade}/bin/hyprshade on blue-light-filter # bash
''
${pkgs.hyprsunset}/bin/hyprsunset -t ${value} &
title="󰖔 Night-Shift Activated" title="󰖔 Night-Shift Activated"
description="Night-Shift is now activated! Your screen will be warmer and easier on the eyes." description="Night-Shift is now activated! Your screen will be warmer and easier on the eyes."
notif "night-shift" "$title" "$description" notif "night-shift" "$title" "$description"
''; '';
night-shift-off = pkgs.writeShellScriptBin "night-shift-off" '' night-shift-off = pkgs.writeShellScriptBin "night-shift-off"
${pkgs.hyprshade}/bin/hyprshade off # bash
''
pkill hyprsunset
title="󰖕 Night-Shift Deactivated" title="󰖕 Night-Shift Deactivated"
description="Night-Shift is now deactivated! Your screen will return to normal." description="Night-Shift is now deactivated! Your screen will return to normal."
notif "night-shift" "$title" "$description" notif "night-shift" "$title" "$description"
''; '';
night-shift = pkgs.writeShellScriptBin "night-shift" '' night-shift = pkgs.writeShellScriptBin "night-shift"
if [[ $(${pkgs.hyprshade}/bin/hyprshade current) ]]; then # bash
''
if pidof "hyprsunset"; then
night-shift-off night-shift-off
else else
night-shift-on night-shift-on
fi fi
''; '';
night-shift-status = pkgs.writeShellScriptBin "night-shift-status" '' night-shift-status = pkgs.writeShellScriptBin "night-shift-status"
if [[ $(${pkgs.hyprshade}/bin/hyprshade current) ]]; then # bash
''
if pidof "hyprsunset"; then
echo "1" echo "1"
else else
echo "0" echo "0"
fi fi
''; '';
night-shift-status-icon = night-shift-status-icon = pkgs.writeShellScriptBin "night-shift-status-icon"
pkgs.writeShellScriptBin "night-shift-status-icon" '' # bash
if [[ $(hyprshade current) ]]; then ''
if pidof "hyprsunset"; then
echo "󰖔" echo "󰖔"
else else
echo "󰖕" echo "󰖕"
@@ -52,6 +63,7 @@ let
''; '';
in { in {
home.packages = [ home.packages = [
pkgs.hyprsunset
night-shift-on night-shift-on
night-shift-off night-shift-off
night-shift night-shift

View File

@@ -29,7 +29,7 @@ let
";Collect Garbage;nixy gc" ";Collect Garbage;nixy gc"
"󰍜;Clean Boot Menu;nixy cb" "󰍜;Clean Boot Menu;nixy cb"
"󰌌;Hyprland Keybindings;nvim ${configDirectory}/docs/KEYBINDINGS-HYPRLAND.md" "󰌌;Hyprland Keybindings;nvim ${configDirectory}/docs/KEYBINDINGS-HYPRLAND.md"
"󰋩;Wallpapers;nvim ${inputs.nixy-wallpapers}/docs/MOBILE-VIEW.md" "󰋩;Wallpapers;zen https://github.com/anotherhadi/nixy-wallpapers"
) )
# Apply default icons if empty: # Apply default icons if empty:
@@ -52,7 +52,7 @@ let
if [[ $1 == "rebuild" ]];then if [[ $1 == "rebuild" ]];then
sudo nixos-rebuild switch --flake ${configDirectory}#${hostname} sudo nixos-rebuild switch --flake ${configDirectory}#${hostname}
elif [[ $1 == "upgrade" ]];then elif [[ $1 == "upgrade" ]];then
sudo nixos-rebuild switch --upgrade --flake ${configDirectory}#${hostname} sudo nixos-rebuild switch --upgrade --flake '${configDirectory}#${hostname}'
elif [[ $1 == "update" ]];then elif [[ $1 == "update" ]];then
cd ${configDirectory} && nix flake update cd ${configDirectory} && nix flake update
elif [[ $1 == "gc" ]];then elif [[ $1 == "gc" ]];then
@@ -62,6 +62,14 @@ let
elif [[ $1 == "remote" ]];then elif [[ $1 == "remote" ]];then
cd ~/.config/nixos && git add . && git commit -m "update" && git push cd ~/.config/nixos && git add . && git commit -m "update" && git push
ssh jack -S -C "cd /home/hadi/.config/nixos && git pull && sudo -S nixos-rebuild switch --flake ~/.config/nixos#jack" ssh jack -S -C "cd /home/hadi/.config/nixos && git pull && sudo -S nixos-rebuild switch --flake ~/.config/nixos#jack"
elif [[ $1 == "loop" ]];then
while true; do
nixy
echo "Press enter to continue, e to exit"
read -n 1 REPLY
clear
[[ $REPLY == "e" ]] && exit 0
done
else else
echo "Unknown argument" echo "Unknown argument"
fi fi

View File

@@ -0,0 +1,37 @@
# - ## 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
{ pkgs, ... }:
let
id = "home"; # ID of the connection
password-file = "/home/hadi/.config/vpn-password";
openvpn-up = pkgs.writeShellScriptBin "openvpn-up"
# bash
''
nmcli con up id ${id} passwd-file ${password-file}
notif "VPN" "VPN activated" "The OpenVPN connection to ${id} has been activated"
'';
openvpn-down = pkgs.writeShellScriptBin "openvpn-down"
# bash
''
nmcli con down id ${id}
notif "VPN" "VPN deactivated" "The OpenVPN connection to ${id} has been deactivated"
'';
openvpn-toggle = pkgs.writeShellScriptBin "openvpn-toggle"
# bash
''
if nmcli connection show --active | grep -q "${id}"; then
openvpn-down
else
openvpn-up
fi
'';
in { home.packages = [ openvpn-up openvpn-down openvpn-toggle ]; }

View File

@@ -21,7 +21,7 @@ let
mode="output" mode="output"
fi fi
${pkgs.grimblast}/bin/grimblast --notify --freeze save $mode "$folder/$filename" || exit 1 ${pkgs.grimblast}/bin/grimblast --notify --freeze copysave $mode "$folder/$filename" || exit 1
if [[ $2 == "swappy" ]];then if [[ $2 == "swappy" ]];then
${pkgs.swappy}/bin/swappy -f "$folder/$filename" -o "$HOME/Pictures/$filename" ${pkgs.swappy}/bin/swappy -f "$folder/$filename" -o "$HOME/Pictures/$filename"

View File

@@ -14,8 +14,13 @@ let
if pgrep wofi; then if pgrep wofi; then
pkill wofi pkill wofi
else else
wofi --show drun wofi -p " Apps" --show drun
fi fi
# if pgrep tofi; then
# pkill tofi
# else
# tofi-drun --drun-launch=true
# fi
''; '';
powermenu = pkgs.writeShellScriptBin "powermenu" powermenu = pkgs.writeShellScriptBin "powermenu"
@@ -23,6 +28,8 @@ let
'' ''
if pgrep wofi; then if pgrep wofi; then
pkill wofi pkill wofi
# if pgrep tofi; then
# pkill tofi
else else
options=( options=(
"󰌾 Lock" "󰌾 Lock"
@@ -32,7 +39,8 @@ let
"󰿅 Shutdown" "󰿅 Shutdown"
) )
selected=$(printf '%s\n' "''${options[@]}" | wofi --dmenu) selected=$(printf '%s\n' "''${options[@]}" | wofi -p " Powermenu" --dmenu)
# selected=$(printf '%s\n' "''${options[@]}" | tofi --prompt-text "> ")
selected=''${selected:2} selected=''${selected:2}
case $selected in case $selected in
@@ -55,10 +63,50 @@ let
fi fi
''; '';
quickmenu = pkgs.writeShellScriptBin "quickmenu"
# bash
''
if pgrep wofi; then
pkill wofi
# if pgrep tofi; then
# pkill tofi
else
options=(
"󰅶 Caffeine"
"󰖔 Night-shift"
" Nixy"
"󰈊 Hyprpicker"
"󰖂 Toggle VPN"
)
selected=$(printf '%s\n' "''${options[@]}" | wofi -p " Quickmenu" --dmenu)
# selected=$(printf '%s\n' "''${options[@]}" | tofi --prompt-text "> ")
selected=''${selected:2}
case $selected in
"Caffeine")
caffeine
;;
"Night-shift")
night-shift
;;
"Nixy")
kitty zsh -c nixy
;;
"Hyprpicker")
sleep 0.2 && ${pkgs.hyprpicker}/bin/hyprpicker -a
;;
"Toggle VPN")
openvpn-toggle
;;
esac
fi
'';
lock = pkgs.writeShellScriptBin "lock" lock = pkgs.writeShellScriptBin "lock"
# bash # bash
'' ''
${pkgs.hyprlock}/bin/hyprlock ${pkgs.hyprlock}/bin/hyprlock
''; '';
in { home.packages = [ menu powermenu lock ]; } in { home.packages = [ menu powermenu lock quickmenu ]; }

View File

@@ -1,7 +1,8 @@
# Batsignal is a simple utility to send battery notifications. # Batsignal is a simple utility to send battery notifications.
{ { pkgs, ... }: {
services.batsignal = { services.batsignal = {
enable = true; enable = true;
extraArgs = [ "-c 10" "-w 30" "-f disabled" ]; extraArgs =
[ "-c 10" "-w 30" "-f disabled" "-D ${pkgs.hyprlock}/bin/hyprlock" ];
}; };
} }

View File

@@ -1,142 +0,0 @@
# GTK & QT theme configuration
{ config, pkgs, lib, ... }:
let
accent = "#${config.lib.stylix.colors.base0D}";
foreground = "#${config.lib.stylix.colors.base05}";
background = "#${config.lib.stylix.colors.base00}";
background-alt = "#${config.lib.stylix.colors.base01}";
c0 = "#${config.lib.stylix.colors.base00}";
c1 = "#${config.lib.stylix.colors.base08}";
c2 = "#${config.lib.stylix.colors.base0B}";
c3 = "#${config.lib.stylix.colors.base0A}";
c4 = "#${config.lib.stylix.colors.base0D}";
c5 = "#${config.lib.stylix.colors.base0E}";
c6 = "#${config.lib.stylix.colors.base0C}";
c7 = "#${config.lib.stylix.colors.base05}";
c8 = "#${config.lib.stylix.colors.base03}";
c9 = "#${config.lib.stylix.colors.base08}";
c10 = "#${config.lib.stylix.colors.base0B}";
c11 = "#${config.lib.stylix.colors.base0A}";
c12 = "#${config.lib.stylix.colors.base0D}";
c13 = "#${config.lib.stylix.colors.base0E}";
c14 = "#${config.lib.stylix.colors.base0C}";
c15 = "#${config.lib.stylix.colors.base07}";
in {
qt = {
enable = true;
platformTheme.name = "gtk2";
style.name = "gtk2";
};
gtk = {
enable = true;
theme = lib.mkForce { name = "FlatColor"; };
iconTheme = {
package = pkgs.kora-icon-theme;
name = "Kora";
};
font = { name = config.stylix.fonts.serif.name; };
gtk3.extraConfig = { gtk-application-prefer-dark-theme = 1; };
gtk4.extraConfig = { gtk-application-prefer-dark-theme = 1; };
};
home.file = {
".local/share/themes/FlatColor" = {
recursive = true;
source = pkgs.stdenv.mkDerivation {
name = "FlatColor";
src = pkgs.fetchFromGitHub {
owner = "jasperro";
repo = "FlatColor";
rev = "0a56c50e8c5e2ad35f6174c19a00e01b30874074";
hash = "sha256-P8RnYTk9Z1rCBEEMLTVRrNr5tUM/Pc9dsdMtpHd1Y18=";
};
buildPhase = ''
mkdir -p $out
# delete the default gtk-color-scheme:
file="./gtk-2.0/gtkrc"
sed -i '3,29d' $file
sed -i '3i include "../colors2"' $file
file="./gtk-3.0/gtk.css"
sed -i '2,10d' $file
sed -i '2i @import url("../colors3");' $file
file="./gtk-3.20/gtk.css"
sed -i '2,26d' $file
sed -i '2i @import url("../colors3");' $file
cp -r . $out
'';
};
};
".local/share/themes/FlatColor/colors2".text = ''
bg_color:${background}
color0:${c0}
color1:${c1}
color2:${c2}
color3:${c3}
color4:${c4}
color5:${c5}
color6:${c6}
color7:${c7}
color8:${c8}
color9:${c9}
color10:${c10}
color11:${c11}
color12:${c12}
color13:${c13}
color14:${c14}
color15:${c15}
text_color:${foreground}
selected_bg_color:${accent}
selected_fg_color:${foreground}
tooltip_bg_color:${background-alt}
tooltip_fg_color:${foreground}
titlebar_bg_color:${background}
titlebar_fg_color:${foreground}
menu_bg_color:${background-alt}
menu_fg_color:${foreground}
link_color:${accent}
'';
".local/share/themes/FlatColor/colors3".text = ''
@define-color color0 ${c0};
@define-color color1 ${c1};
@define-color color2 ${c2};
@define-color color3 ${c3};
@define-color color4 ${c4};
@define-color color5 ${c5};
@define-color color6 ${c6};
@define-color color7 ${c7};
@define-color color8 ${c8};
@define-color color9 ${c9};
@define-color color10 ${c10};
@define-color color11 ${c11};
@define-color color12 ${c12};
@define-color color13 ${c13};
@define-color color14 ${c14};
@define-color color15 ${c15};
@define-color selected_bg_color ${accent};
@define-color selected_fg_color ${foreground};
@define-color bg_color ${background};
@define-color fg_color ${foreground};
@define-color base_color @bg_color;
@define-color text_color @fg_color;
@define-color text_color_disabled mix(@text_color, @base_color, 0.4);
@define-color tooltip_bg_color ${background-alt};
@define-color tooltip_fg_color ${foreground};
'';
};
}

View File

@@ -3,12 +3,14 @@
bind = [ bind = [
"$mod,RETURN, exec, ${pkgs.kitty}/bin/kitty" # Kitty "$mod,RETURN, exec, ${pkgs.kitty}/bin/kitty" # Kitty
"$mod,E, exec, ${pkgs.xfce.thunar}/bin/thunar" # Thunar "$mod,E, exec, ${pkgs.xfce.thunar}/bin/thunar" # Thunar
"$mod,B, exec, ${pkgs.qutebrowser}/bin/qutebrowser" # Qutebrowser "$mod,B, exec, zen" # Zen Browser
"$mod,K, exec, ${pkgs.bitwarden}/bin/bitwarden" # Bitwarden "$mod,K, exec, ${pkgs.bitwarden}/bin/bitwarden" # Bitwarden
"$mod,L, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock "$mod,L, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock
"$mod,X, exec, powermenu" # Powermenu "$mod,X, exec, powermenu" # Powermenu
"$mod,SPACE, exec, menu" # Launcher "$mod,SPACE, exec, menu" # Launcher
"$mod,C, exec, quickmenu" # Quickmenu
"$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus "$shiftMod,SPACE, exec, hyprfocus-toggle" # Toggle HyprFocus
"$mod,P, exec, ${pkgs.planify}/bin/io.github.alainm23.planify" # Planify
"$mod,Q, killactive," # Close window "$mod,Q, killactive," # Close window
"$mod,T, togglefloating," # Toggle Floating "$mod,T, togglefloating," # Toggle Floating
@@ -22,12 +24,12 @@
"$shiftMod,left, layoutmsg, addmaster" # Add to master "$shiftMod,left, layoutmsg, addmaster" # Add to master
"$shiftMod,right, layoutmsg, removemaster" # Remove from master "$shiftMod,right, layoutmsg, removemaster" # Remove from master
"$mod,PRINT, exec, screenshot window" # Screenshot window "$mod,PRINT, exec, screenshot region" # Screenshot region
",PRINT, exec, screenshot monitor" # Screenshot monitor ",PRINT, exec, screenshot monitor" # Screenshot monitor
"$shiftMod,PRINT, exec, screenshot region" # Screenshot region "$shiftMod,PRINT, exec, screenshot window" # Screenshot window
"ALT,PRINT, exec, screenshot region swappy" # Screenshot region then edit "ALT,PRINT, exec, screenshot region swappy" # Screenshot region then edit
"$shiftMod,S, exec, ${pkgs.qutebrowser}/bin/qutebrowser :open $(wofi --show dmenu -L 1 -p ' Search on internet')" # Search on internet with wofi "$shiftMod,T, exec, hyprpanel-toggle" # Toggle hyprpanel
"$shiftMod,C, exec, clipboard" # Clipboard picker with wofi "$shiftMod,C, exec, clipboard" # Clipboard picker with wofi
"$shiftMod,E, exec, ${pkgs.wofi-emoji}/bin/wofi-emoji" # Emoji picker with wofi "$shiftMod,E, exec, ${pkgs.wofi-emoji}/bin/wofi-emoji" # Emoji picker with wofi
"$mod,F2, exec, night-shift" # Toggle night shift "$mod,F2, exec, night-shift" # Toggle night shift
@@ -46,6 +48,9 @@
bindl = [ bindl = [
",XF86AudioMute, exec, sound-toggle" # Toggle Mute ",XF86AudioMute, exec, sound-toggle" # Toggle Mute
",XF86AudioPlay, exec, ${pkgs.playerctl}/bin/playerctl play-pause" # Play/Pause Song
",XF86AudioNext, exec, ${pkgs.playerctl}/bin/playerctl next" # Next Song
",XF86AudioPrev, exec, ${pkgs.playerctl}/bin/playerctl previous" # Previous Song
",switch:Lid Switch, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock when closing Lid ",switch:Lid Switch, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock when closing Lid
]; ];

View File

@@ -11,12 +11,13 @@ let
keyboardLayout = config.var.keyboardLayout; keyboardLayout = config.var.keyboardLayout;
in { in {
imports = [ ./animations.nix ./bindings.nix ]; imports =
[ ./animations.nix ./bindings.nix ./polkitagent.nix ./hyprspace.nix ];
home.packages = with pkgs; [ home.packages = with pkgs; [
qt5.qtwayland qt5.qtwayland
qt6.qtwayland qt6.qtwayland
qt5ct libsForQt5.qt5ct
qt6ct qt6ct
hyprshot hyprshot
hyprpicker hyprpicker
@@ -40,16 +41,23 @@ in {
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
systemd.enable = true; systemd.enable = true;
# withUWSM = true; # One day, but not today
package = inputs.hyprland.packages."${pkgs.system}".hyprland; package = inputs.hyprland.packages."${pkgs.system}".hyprland;
settings = { settings = {
"$mod" = "SUPER"; "$mod" = "SUPER";
"$shiftMod" = "SUPER_SHIFT"; "$shiftMod" = "SUPER_SHIFT";
exec-once = [ "${pkgs.bitwarden}/bin/bitwarden" ]; exec-once = [
"${pkgs.bitwarden}/bin/bitwarden"
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP"
];
monitor = [ monitor = [
"eDP-2,highres,0x0,1" "eDP-2,highres,0x0,1"
"DP-7, disable"
"DP-8, disable"
"DP-9, disable"
"HDMI-A-1,3440x1440@99.98,auto,1" "HDMI-A-1,3440x1440@99.98,auto,1"
",prefered,auto,1" ",prefered,auto,1"
]; ];
@@ -67,8 +75,8 @@ in {
"QT_QPA_PLATFORM=wayland,xcb" "QT_QPA_PLATFORM=wayland,xcb"
"QT_WAYLAND_DISABLE_WINDOWDECORATION,1" "QT_WAYLAND_DISABLE_WINDOWDECORATION,1"
"ELECTRON_OZONE_PLATFORM_HINT,auto" "ELECTRON_OZONE_PLATFORM_HINT,auto"
"GTK_THEME,FlatColor:dark" # "GTK_THEME,FlatColor:dark"
"GTK2_RC_FILES,/home/hadi/.local/share/themes/FlatColor/gtk-2.0/gtkrc" # "GTK2_RC_FILES,/home/hadi/.local/share/themes/FlatColor/gtk-2.0/gtkrc"
"__GL_GSYNC_ALLOWED,0" "__GL_GSYNC_ALLOWED,0"
"__GL_VRR_ALLOWED,0" "__GL_VRR_ALLOWED,0"
"DISABLE_QT5_COMPAT,0" "DISABLE_QT5_COMPAT,0"
@@ -80,7 +88,7 @@ in {
"XDG_SESSION_TYPE,wayland" "XDG_SESSION_TYPE,wayland"
"SDL_VIDEODRIVER,wayland" "SDL_VIDEODRIVER,wayland"
"CLUTTER_BACKEND,wayland" "CLUTTER_BACKEND,wayland"
"AQ_DRM_DEVICES,/dev/dri/card2" # CHANGEME: Related to the GPU "AQ_DRM_DEVICES,/dev/dri/card2:/dev/dri/card1" # CHANGEME: Related to the GPU
]; ];
cursor = { cursor = {
@@ -101,9 +109,11 @@ in {
active_opacity = active-opacity; active_opacity = active-opacity;
inactive_opacity = inactive-opacity; inactive_opacity = inactive-opacity;
rounding = rounding; rounding = rounding;
drop_shadow = true; shadow = {
shadow_range = 20; enabled = true;
shadow_render_power = 3; range = 20;
render_power = 3;
};
blur = { enabled = if blur then "true" else "false"; }; blur = { enabled = if blur then "true" else "false"; };
}; };
@@ -124,6 +134,20 @@ in {
new_window_takes_over_fullscreen = 2; new_window_takes_over_fullscreen = 2;
}; };
windowrulev2 =
[ "float, tag:modal" "pin, tag:modal" "center, tag:modal" ];
windowrule = [
"workspace 6, discord"
"workspace 7, spotify"
"workspace 8, io.github.alainm23.planify"
"fullscreen, io.github.alainm23.planify"
"workspace 9, Proton Mail"
"fullscreen, Proton Mail"
];
layerrule = [ "noanim, launcher" "noanim, ^ags-.*" ];
input = { input = {
kb_layout = keyboardLayout; kb_layout = keyboardLayout;

View File

@@ -0,0 +1,11 @@
{ inputs, pkgs, ... }: {
wayland.windowManager.hyprland = {
plugins = [ inputs.hyprspace.packages.${pkgs.system}.Hyprspace ];
settings = {
plugin = { overview = { autoDrag = false; }; };
bind = [
"$mod,TAB, overview:toggle" # Overview
];
};
};
}

View File

@@ -0,0 +1,7 @@
{ inputs, pkgs, ... }: {
home.packages =
[ inputs.hyprpolkitagent.packages."${pkgs.system}".hyprpolkitagent ];
wayland.windowManager.hyprland.settings.exec-once =
[ "systemctl --user start hyprpolkitagent" ];
}

View File

@@ -1,5 +1,5 @@
# Hyprlock is a lockscreen for Hyprland # Hyprlock is a lockscreen for Hyprland
{ config, ... }: { config, lib, ... }:
let let
foreground = "rgba(216, 222, 233, 0.70)"; foreground = "rgba(216, 222, 233, 0.70)";
imageStr = toString config.stylix.image; imageStr = toString config.stylix.image;
@@ -66,7 +66,7 @@ in {
]; ];
# INPUT FIELD # INPUT FIELD
input-field = [{ input-field = lib.mkForce {
monitor = ""; monitor = "";
size = "300, 60"; size = "300, 60";
outline_thickness = 2; outline_thickness = 2;
@@ -83,7 +83,7 @@ in {
position = "0, -250"; position = "0, -250";
halign = "center"; halign = "center";
valign = "center"; valign = "center";
}]; };
}; };
}; };
} }

View File

@@ -1,6 +1,6 @@
# Hyprpanel is the bar on top of the screen # Hyprpanel is the bar on top of the screen
# Display informations like workspaces, battery, wifi, ... # Display informations like workspaces, battery, wifi, ...
{ pkgs, config, ... }: { inputs, config, ... }:
let let
transparentButtons = config.var.theme.bar.transparentButtons; transparentButtons = config.var.theme.bar.transparentButtons;
@@ -20,219 +20,171 @@ let
floating = config.var.theme.bar.floating; floating = config.var.theme.bar.floating;
transparent = config.var.theme.bar.transparent; transparent = config.var.theme.bar.transparent;
position = config.var.theme.bar.position;
location = config.var.location; location = config.var.location;
username = config.var.username;
in { in {
wayland.windowManager.hyprland.settings.exec-once =
[ "${pkgs.hyprpanel}/bin/hyprpanel" ];
home.packages = with pkgs; [ hyprpanel libnotify ]; imports = [ inputs.hyprpanel.homeManagerModules.hyprpanel ];
home.file.".cache/ags/hyprpanel/options.json" = { programs.hyprpanel = {
text = # json enable = true;
'' hyprland.enable = true;
{ overwrite.enable = true;
"bar.layouts": { overlay.enable = true;
"0": { layout = {
"left": [ "bar.layouts" = {
"dashboard", "*" = {
"workspaces", "left" = [ "dashboard" "workspaces" "windowtitle" ];
"windowtitle" "middle" = [ "media" "cava" ];
], "right" = [
"middle": [ "systray"
"media" "volume"
], "bluetooth"
"right": [ "battery"
"systray", "network"
"volume", "clock"
"bluetooth",
"battery",
"network",
"clock",
"notifications" "notifications"
] ];
}, };
"1": { };
"left": [ };
"dashboard",
"workspaces", override = {
"windowtitle" "theme.font.name" = "${font}";
], "theme.font.size" = "${fontSize}px";
"middle": [ "theme.bar.outer_spacing" =
"media" "${if floating && transparent then "0" else "8"}px";
], "theme.bar.buttons.y_margins" =
"right": [ "${if floating && transparent then "0" else "8"}px";
"systray", "theme.bar.buttons.spacing" = "0.3em";
"volume", "theme.bar.buttons.radius" = "${
"bluetooth",
"battery",
"network",
"clock",
"notifications"
]
},
"2": {
"left": [
"dashboard",
"workspaces",
"windowtitle"
],
"middle": [
"media"
],
"right": [
"systray",
"volume",
"bluetooth",
"battery",
"network",
"clock",
"notifications"
]
}
},
"theme.font.name": "${font}",
"theme.font.size": "${fontSize}px",
"theme.bar.outer_spacing": "${
if floating && transparent then "0" else "8"
}px",
"theme.bar.buttons.y_margins": "${
if floating && transparent then "0" else "8"
}px",
"theme.bar.buttons.spacing": "0.3em",
"theme.bar.buttons.radius": "${
if transparent then toString rounding else toString (rounding - 8) if transparent then toString rounding else toString (rounding - 8)
}px", }px";
"theme.bar.floating": ${if floating then "true" else "false"}, "theme.bar.floating" = "${if floating then "true" else "false"}";
"theme.bar.buttons.padding_x": "0.8rem", "theme.bar.buttons.padding_x" = "0.8rem";
"theme.bar.buttons.padding_y": "0.4rem", "theme.bar.buttons.padding_y" = "0.4rem";
"theme.bar.buttons.workspaces.hover" = "${accent-alt}";
"theme.bar.buttons.workspaces.active" = "${accent}";
"theme.bar.buttons.workspaces.available" = "${accent-alt}";
"theme.bar.buttons.workspaces.occupied" = "${accent-alt}";
"theme.bar.margin_top" =
"${if position == "top" then toString (gaps-in * 2) else "0"}px";
"theme.bar.margin_bottom" =
"${if position == "top" then "0" else toString (gaps-in * 2)}px";
"theme.bar.margin_sides" = "${toString gaps-out}px";
"theme.bar.border_radius" = "${toString rounding}px";
"bar.launcher.icon" = "";
"theme.bar.transparent" = "${if transparent then "true" else "false"}";
"bar.workspaces.show_numbered" = false;
"bar.workspaces.workspaces" = 5;
"bar.workspaces.hideUnoccupied" = false;
"bar.windowtitle.label" = true;
"bar.volume.label" = false;
"bar.network.truncation_size" = 12;
"bar.bluetooth.label" = false;
"bar.clock.format" = "%a %b %d %I:%M %p";
"bar.notifications.show_total" = true;
"theme.notification.border_radius" = "${toString rounding}px";
"theme.osd.enable" = true;
"theme.osd.orientation" = "vertical";
"theme.osd.location" = "left";
"theme.osd.radius" = "${toString rounding}px";
"theme.osd.margins" = "0px 0px 0px 10px";
"theme.osd.muted_zero" = true;
"menus.clock.weather.location" = "${location}";
"menus.clock.weather.unit" = "metric";
"menus.dashboard.powermenu.confirmation" = false;
"theme.bar.buttons.workspaces.hover": "${accent-alt}", "menus.dashboard.shortcuts.left.shortcut1.icon" = "";
"theme.bar.buttons.workspaces.active": "${accent}", "menus.dashboard.shortcuts.left.shortcut1.command" = "zen";
"theme.bar.buttons.workspaces.available": "${background}", "menus.dashboard.shortcuts.left.shortcut1.tooltip" = "Zen";
"menus.dashboard.shortcuts.left.shortcut2.icon" = "󰅶";
"menus.dashboard.shortcuts.left.shortcut2.command" = "caffeine";
"menus.dashboard.shortcuts.left.shortcut2.tooltip" = "Caffeine";
"menus.dashboard.shortcuts.left.shortcut3.icon" = "󰖔";
"menus.dashboard.shortcuts.left.shortcut3.command" = "night-shift";
"menus.dashboard.shortcuts.left.shortcut3.tooltip" = "Night-shift";
"menus.dashboard.shortcuts.left.shortcut4.icon" = "";
"menus.dashboard.shortcuts.left.shortcut4.command" = "menu";
"menus.dashboard.shortcuts.left.shortcut4.tooltip" = "Search Apps";
"menus.dashboard.shortcuts.right.shortcut1.icon" = "";
"menus.dashboard.shortcuts.right.shortcut1.command" = "hyprpicker -a";
"menus.dashboard.shortcuts.right.shortcut1.tooltip" = "Color Picker";
"menus.dashboard.shortcuts.right.shortcut3.icon" = "󰄀";
"menus.dashboard.shortcuts.right.shortcut3.command" =
"screenshot region swappy";
"menus.dashboard.shortcuts.right.shortcut3.tooltip" = "Screenshot";
"theme.bar.margin_top": "${toString (gaps-in * 2)}px", "theme.bar.menus.monochrome" = true;
"theme.bar.margin_sides": "${toString gaps-out}px", "wallpaper.enable" = false;
"theme.bar.margin_bottom": "0px", "theme.bar.menus.background" = "${background}";
"theme.bar.border_radius": "${toString rounding}px", "theme.bar.menus.cards" = "${background-alt}";
"theme.bar.menus.card_radius" = "${toString rounding}px";
"bar.launcher.icon": "", "theme.bar.menus.label" = "${foreground}";
"theme.bar.transparent": ${if transparent then "true" else "false"}, "theme.bar.menus.text" = "${foreground}";
"bar.workspaces.show_numbered": false, "theme.bar.menus.border.size" = "${toString border-size}px";
"bar.workspaces.workspaces": 5, "theme.bar.menus.border.color" = "${accent}";
"bar.workspaces.monitorSpecific": true, "theme.bar.menus.border.radius" = "${toString rounding}px";
"bar.workspaces.hideUnoccupied": false, "theme.bar.menus.popover.text" = "${foreground}";
"bar.windowtitle.label": true, "theme.bar.menus.popover.background" = "${background-alt}";
"bar.volume.label": false, "theme.bar.menus.listitems.active" = "${accent}";
"bar.network.truncation_size": 12, "theme.bar.menus.icons.active" = "${accent}";
"bar.bluetooth.label": false, "theme.bar.menus.switch.enabled" = "${accent}";
"bar.clock.format": "%a %b %d %I:%M %p", "theme.bar.menus.check_radio_button.active" = "${accent}";
"bar.notifications.show_total": true, "theme.bar.menus.buttons.default" = "${accent}";
"theme.notification.border_radius": "${toString rounding}px", "theme.bar.menus.buttons.active" = "${accent}";
"theme.osd.enable": true, "theme.bar.menus.iconbuttons.active" = "${accent}";
"theme.osd.orientation": "vertical", "theme.bar.menus.progressbar.foreground" = "${accent}";
"theme.osd.location": "left", "theme.bar.menus.slider.primary" = "${accent}";
"theme.osd.radius": "${toString rounding}px", "theme.bar.menus.tooltip.background" = "${background-alt}";
"theme.osd.margins": "0px 0px 0px 10px", "theme.bar.menus.tooltip.text" = "${foreground}";
"theme.osd.muted_zero": true, "theme.bar.menus.dropdownmenu.background" = "${background-alt}";
"menus.clock.weather.location": "${location}", "theme.bar.menus.dropdownmenu.text" = "${foreground}";
"menus.clock.weather.key": "myapikey", "theme.bar.background" = "${background
"menus.clock.weather.unit": "metric", + (if transparentButtons && transparent then "00" else "")}";
"menus.dashboard.powermenu.avatar.image": "/home/${username}/.profile_picture.png", "theme.bar.buttons.style" = "default";
"menus.dashboard.powermenu.confirmation": false, "theme.bar.buttons.monochrome" = true;
"theme.bar.buttons.text" = "${foreground}";
"menus.dashboard.shortcuts.left.shortcut1.icon": "", "theme.bar.buttons.background" =
"menus.dashboard.shortcuts.left.shortcut1.command": "qutebrowser", "${(if transparent then background else background-alt)
"menus.dashboard.shortcuts.left.shortcut1.tooltip": "Qutebrowser", + (if transparentButtons then "00" else "")}";
"menus.dashboard.shortcuts.left.shortcut2.icon": "󰅶", "theme.bar.buttons.icon" = "${accent}";
"menus.dashboard.shortcuts.left.shortcut2.command": "caffeine", "theme.bar.buttons.notifications.background" = "${background-alt}";
"menus.dashboard.shortcuts.left.shortcut2.tooltip": "Caffeine", "theme.bar.buttons.hover" = "${background}";
"menus.dashboard.shortcuts.left.shortcut3.icon": "󰖔", "theme.bar.buttons.notifications.hover" = "${background}";
"menus.dashboard.shortcuts.left.shortcut3.command": "night-shift", "theme.bar.buttons.notifications.total" = "${accent}";
"menus.dashboard.shortcuts.left.shortcut3.tooltip": "Night-shift", "theme.bar.buttons.notifications.icon" = "${accent}";
"menus.dashboard.shortcuts.left.shortcut4.icon": "", "theme.notification.background" = "${background-alt}";
"menus.dashboard.shortcuts.left.shortcut4.command": "menu", "theme.notification.actions.background" = "${accent}";
"menus.dashboard.shortcuts.left.shortcut4.tooltip": "Search Apps", "theme.notification.actions.text" = "${foreground}";
"menus.dashboard.shortcuts.right.shortcut1.icon": "", "theme.notification.label" = "${accent}";
"menus.dashboard.shortcuts.right.shortcut1.command": "hyprpicker -a", "theme.notification.border" = "${background-alt}";
"menus.dashboard.shortcuts.right.shortcut1.tooltip": "Color Picker", "theme.notification.text" = "${foreground}";
"menus.dashboard.shortcuts.right.shortcut3.icon": "󰄀", "theme.notification.labelicon" = "${accent}";
"menus.dashboard.shortcuts.right.shortcut3.command": "screenshot region swappy", "theme.osd.bar_color" = "${accent}";
"menus.dashboard.shortcuts.right.shortcut3.tooltip": "Screenshot", "theme.osd.bar_overflow_color" = "${accent-alt}";
"theme.osd.icon" = "${background}";
"menus.dashboard.directories.left.directory1.label": "󰉍 Downloads", "theme.osd.icon_container" = "${accent}";
"menus.dashboard.directories.left.directory1.command": "bash -c \"thunar $HOME/Downloads/\"", "theme.osd.label" = "${accent}";
"menus.dashboard.directories.left.directory2.label": "󰉏 Pictures", "theme.osd.bar_container" = "${background-alt}";
"menus.dashboard.directories.left.directory2.command": "bash -c \"thunar $HOME/Pictures/\"", "theme.bar.menus.menu.media.background.color" = "${background-alt}";
"menus.dashboard.directories.left.directory3.label": "󱧶 Documents", "theme.bar.menus.menu.media.card.color" = "${background-alt}";
"menus.dashboard.directories.left.directory3.command": "bash -c \"thunar $HOME/Documents/\"", "theme.bar.menus.menu.media.card.tint" = 90;
"menus.dashboard.directories.right.directory1.label": "󱂵 Home", "bar.customModules.updates.pollingInterval" = 1440000;
"menus.dashboard.directories.right.directory1.command": "bash -c \"thunar $HOME/\"", "bar.media.show_active_only" = true;
"menus.dashboard.directories.right.directory2.label": "󰚝 Projects", "theme.bar.location" = "${position}";
"menus.dashboard.directories.right.directory2.command": "bash -c \"thunar $HOME/dev/\"", "bar.workspaces.numbered_active_indicator" = "color";
"menus.dashboard.directories.right.directory3.label": " Config", "bar.workspaces.monitorSpecific" = false;
"menus.dashboard.directories.right.directory3.command": "bash -c \"thunar $HOME/.config/\"", "bar.workspaces.applicationIconEmptyWorkspace" = "";
"bar.workspaces.showApplicationIcons" = true;
"theme.bar.menus.monochrome": true, "bar.workspaces.showWsIcons" = true;
"wallpaper.enable": false, "theme.bar.dropdownGap" = "4.5em";
"theme.bar.menus.background": "${background}", "theme.bar.menus.shadow" =
"theme.bar.menus.cards": "${background-alt}", "${if transparent then "0 0 0 0" else "0px 0px 3px 1px #16161e"}";
"theme.bar.menus.card_radius": "${toString rounding}px", "bar.customModules.cava.showIcon" = false;
"theme.bar.menus.label": "${foreground}", "bar.customModules.cava.stereo" = true;
"theme.bar.menus.text": "${foreground}", "bar.customModules.cava.showActiveOnly" = true;
"theme.bar.menus.border.size": "${toString border-size}px", };
"theme.bar.menus.border.color": "${accent}",
"theme.bar.menus.border.radius": "${toString rounding}px",
"theme.bar.menus.popover.text": "${foreground}",
"theme.bar.menus.popover.background": "${background-alt}",
"theme.bar.menus.listitems.active": "${accent}",
"theme.bar.menus.icons.active": "${accent}",
"theme.bar.menus.switch.enabled":"${accent}",
"theme.bar.menus.check_radio_button.active": "${accent}",
"theme.bar.menus.buttons.default": "${accent}",
"theme.bar.menus.buttons.active": "${accent}",
"theme.bar.menus.iconbuttons.active": "${accent}",
"theme.bar.menus.progressbar.foreground": "${accent}",
"theme.bar.menus.slider.primary": "${accent}",
"theme.bar.menus.tooltip.background": "${background-alt}",
"theme.bar.menus.tooltip.text": "${foreground}",
"theme.bar.menus.dropdownmenu.background":"${background-alt}",
"theme.bar.menus.dropdownmenu.text": "${foreground}",
"theme.bar.background": "${
background + (if transparentButtons then "00" else "")
}",
"theme.bar.buttons.style": "default",
"theme.bar.buttons.monochrome": true,
"theme.bar.buttons.text": "${foreground}",
"theme.bar.buttons.background": "${
background-alt + (if transparentButtons then "00" else "")
}",
"theme.bar.buttons.icon": "${accent}",
"theme.bar.buttons.notifications.background": "${background-alt}",
"theme.bar.buttons.hover": "${background}",
"theme.bar.buttons.notifications.hover": "${background}",
"theme.bar.buttons.notifications.total": "${accent}",
"theme.bar.buttons.notifications.icon": "${accent}",
"theme.notification.background": "${background-alt}",
"theme.notification.actions.background": "${accent}",
"theme.notification.actions.text": "${foreground}",
"theme.notification.label": "${accent}",
"theme.notification.border": "${background-alt}",
"theme.notification.text": "${foreground}",
"theme.notification.labelicon": "${accent}",
"theme.osd.bar_color": "${accent}",
"theme.osd.bar_overflow_color": "${accent-alt}",
"theme.osd.icon": "${background}",
"theme.osd.icon_container": "${accent}",
"theme.osd.label": "${accent}",
"theme.osd.bar_container": "${background-alt}",
"theme.bar.menus.menu.media.background.color": "${background-alt}",
"theme.bar.menus.menu.media.card.color": "${background-alt}",
"theme.bar.menus.menu.media.card.tint": 90,
"bar.customModules.updates.pollingInterval": 1440000,
"bar.media.show_active_only": true
}
'';
}; };
} }

View File

@@ -1,7 +0,0 @@
# KDE Connect is a project that enables all your devices to communicate with each other. (laptop/phone)
{
services.kdeconnect = {
enable = true;
indicator = true;
};
}

View File

@@ -19,15 +19,22 @@
"text/x-dockerfile" = "nvim.desktop"; "text/x-dockerfile" = "nvim.desktop";
"text/x-xml" = "nvim.desktop"; "text/x-xml" = "nvim.desktop";
"text/x-php" = "nvim.desktop"; "text/x-php" = "nvim.desktop";
"image/png" = "imv.desktop";
"image/jpeg" = "imv.desktop"; "image/jpeg" = "imv.desktop";
"image/jpg" = "imv.desktop"; "image/jpg" = "imv.desktop";
"image/webp" = "imv.desktop"; "image/webp" = "imv.desktop";
"image/gif" = "org.qutebrowser.qutebrowser.desktop"; "image/gif" = "zen.desktop";
"x-scheme-handler/http" = "org.qutebrowser.qutebrowser.desktop"; "x-scheme-handler/http" = "zen.desktop";
"x-scheme-handler/https" = "org.qutebrowser.qutebrowser.desktop"; "x-scheme-handler/https" = "zen.desktop";
"text/html" = "org.qutebrowser.qutebrowser.desktop"; "text/html" = "zen.desktop";
"application/pdf" = "zathura.desktop"; "application/pdf" = "zathura.desktop";
"image/png" = "imv-dir.desktop";
"x-scheme-handler/chrome" = "zen.desktop";
"application/x-extension-htm" = "zen.desktop";
"application/x-extension-html" = "zen.desktop";
"application/x-extension-shtml" = "zen.desktop";
"application/xhtml+xml" = "zen.desktop";
"application/x-extension-xhtml" = "zen.desktop";
"application/x-extension-xht" = "zen.desktop";
}; };
}; };
} }

View File

@@ -4,7 +4,6 @@
../../nixos/prime.nix # CHANGEME: Remove this line if you don't have an Nvidia GPU ../../nixos/prime.nix # CHANGEME: Remove this line if you don't have an Nvidia GPU
../../nixos/audio.nix ../../nixos/audio.nix
../../nixos/auto-upgrade.nix
../../nixos/bluetooth.nix ../../nixos/bluetooth.nix
../../nixos/fonts.nix ../../nixos/fonts.nix
../../nixos/home-manager.nix ../../nixos/home-manager.nix
@@ -16,9 +15,11 @@
../../nixos/users.nix ../../nixos/users.nix
../../nixos/utils.nix ../../nixos/utils.nix
../../nixos/xdg-portal.nix ../../nixos/xdg-portal.nix
../../nixos/docker.nix
../../nixos/variables-config.nix ../../nixos/variables-config.nix
../../themes/nixy.nix # Choose your theme here
../../themes/stylix/yoru.nix
./hardware-configuration.nix ./hardware-configuration.nix
./variables.nix ./variables.nix
@@ -26,15 +27,6 @@
home-manager.users."${config.var.username}" = import ./home.nix; home-manager.users."${config.var.username}" = import ./home.nix;
# For KDEConnect (Remove this if not needed)
networking.firewall = rec {
allowedTCPPortRanges = [{
from = 1714;
to = 1764;
}];
allowedUDPPortRanges = allowedTCPPortRanges;
};
# Don't touch this # Don't touch this
system.stateVersion = "24.05"; system.stateVersion = "24.05";
} }

View File

@@ -6,16 +6,16 @@
# Programs # Programs
../../home/programs/kitty ../../home/programs/kitty
../../home/programs/nvim ../../home/programs/nvim
../../home/programs/qutebrowser # ../../home/programs/qutebrowser
../../home/programs/shell ../../home/programs/shell
../../home/programs/fetch ../../home/programs/fetch
../../home/programs/git ../../home/programs/git
../../home/programs/spicetify ../../home/programs/spicetify
../../home/programs/nextcloud ../../home/programs/nextcloud
../../home/programs/yazi
../../home/programs/markdown
../../home/programs/thunar ../../home/programs/thunar
../../home/programs/lazygit ../../home/programs/lazygit
../../home/programs/zen
../../home/programs/duckduckgo-colorscheme
# Scripts # Scripts
../../home/scripts # All scripts ../../home/scripts # All scripts
@@ -26,15 +26,12 @@
../../home/system/hyprlock ../../home/system/hyprlock
../../home/system/hyprpanel ../../home/system/hyprpanel
../../home/system/hyprpaper ../../home/system/hyprpaper
../../home/system/gtk
../../home/system/wofi ../../home/system/wofi
../../home/system/batsignal ../../home/system/batsignal
../../home/system/zathura ../../home/system/zathura
../../home/system/mime ../../home/system/mime
../../home/system/udiskie ../../home/system/udiskie
../../home/system/clipman ../../home/system/clipman
../../home/system/kdeconnect
../../home/system/tofi
./secrets # CHANGEME: You should probably remove this line, this is where I store my secrets ./secrets # CHANGEME: You should probably remove this line, this is where I store my secrets
]; ];
@@ -49,6 +46,12 @@
bitwarden # Password manager bitwarden # Password manager
vlc # Video player vlc # Video player
blanket # White-noise app blanket # White-noise app
obsidian # Note taking app
planify # Todolists
gnome-calendar # Calendar
protonmail-desktop
textpieces # Manipulate texts
curtail # Compress images
# Dev # Dev
go go
@@ -56,6 +59,9 @@
python3 python3
jq jq
figlet figlet
just
pnpm
lazydocker
# Utils # Utils
zip zip
@@ -64,22 +70,21 @@
pfetch pfetch
pandoc pandoc
btop btop
fastfetch
# Just cool # Just cool
peaclock peaclock
cbonsai cbonsai
pipes pipes
cmatrix cmatrix
cava
# Backup # Backup
vscode
firefox firefox
neovide vscode
]; ];
# Import my profile picture, used by the hyprpanel dashboard # Import my profile picture, used by the hyprpanel dashboard
file.".profile_picture.png" = { source = ./profile_picture.png; }; file.".face.icon" = { source = ./profile_picture.png; };
# Don't touch this # Don't touch this
stateVersion = "24.05"; stateVersion = "24.05";

View File

@@ -11,10 +11,28 @@
github-key = { path = "/home/hadi/.ssh/github"; }; github-key = { path = "/home/hadi/.ssh/github"; };
gitlab-key = { path = "/home/hadi/.ssh/gitlab"; }; gitlab-key = { path = "/home/hadi/.ssh/gitlab"; };
jack-key = { path = "/home/hadi/.ssh/jack"; }; jack-key = { path = "/home/hadi/.ssh/jack"; };
ovpn = { path = "/home/hadi/.ovpn.ovpn"; }; pia = { path = "/home/hadi/.config/pia/pia.ovpn"; };
}; };
}; };
home.file.".config/nixos/.sops.yaml".text = ''
keys:
- &primary age12yvtj49pfh3fqzqflscm0ek4yzrjhr6cqhn7x89gdxnlykq0xudq5c7334
creation_rules:
- path_regex: hosts/laptop/secrets/secrets.yaml$
key_groups:
- age:
- *primary
- path_regex: hosts/desktop/secrets/secrets.yaml$
key_groups:
- age:
- *primary
- path_regex: hosts/server/secrets/secrets.yaml$
key_groups:
- age:
- *primary
'';
systemd.user.services.mbsync.Unit.After = [ "sops-nix.service" ]; systemd.user.services.mbsync.Unit.After = [ "sops-nix.service" ];
home.packages = with pkgs; [ sops age ]; home.packages = with pkgs; [ sops age ];

View File

@@ -1,8 +1,8 @@
pia: ENC[AES256_GCM,data:0bnhHeVqKSLHVimd78a94ShHlO3+LUoZ4oiKD3cnBYkaZsw=,iv:S+/IChlFlqdI+PyFF+Ti4AJUkch2MS0qKiqHL1Q3RMk=,tag:+v2kV70ou84eIc01dKnAhA==,type:str]
sshconfig: ENC[AES256_GCM,data:/sDTGVeYRjxF5Epp5kmVS0ScSYOqOs2grX0+Ap8HJc8CQftpNOYXNYdEyqLDMc5g5ualaO4iKg4sQ76J4j9ZPugt4iprIvOo2Uxmu7KRU47Z8SNwrrMNpv6x/XA2P6r261e/e/pOHyrmiFfV/I5Km9IwGqY5TWbEhvjx8qyRO2bQDIdffI1L1ZWJGC9ZOZ4o5RJCr2xB+qxLLI2pl8qHZhvfZlGHnyHw5ne0RfAFubIrW4nQJTamoaGHZqWro4tVSfXAEb+9IsYCc1aj3MehVdV8PUQ38/LxL2MAQTt9bs7sHLf9DmxZ6rGPWmpJ+IRoQbP1PA65tobFOd+Kf13XvWymNUcQpQFHDj0vpvDONxIikO+vj2T7SteRRPy+38UPdB8jrHfQ1JrGbxUQIrWOWeD3S44lINmquIMclJQ26zf6nvklXR7xCuzNAvmjublsnYK+CGDkt/ap/kDD7nCuQYYY,iv:VX55dyt2N80LJPDYoUES7ZWJjlqVyQrUQWvOQ/yItBc=,tag:6NlHwy0SqJ40+ltQHzmX7g==,type:str] sshconfig: ENC[AES256_GCM,data:/sDTGVeYRjxF5Epp5kmVS0ScSYOqOs2grX0+Ap8HJc8CQftpNOYXNYdEyqLDMc5g5ualaO4iKg4sQ76J4j9ZPugt4iprIvOo2Uxmu7KRU47Z8SNwrrMNpv6x/XA2P6r261e/e/pOHyrmiFfV/I5Km9IwGqY5TWbEhvjx8qyRO2bQDIdffI1L1ZWJGC9ZOZ4o5RJCr2xB+qxLLI2pl8qHZhvfZlGHnyHw5ne0RfAFubIrW4nQJTamoaGHZqWro4tVSfXAEb+9IsYCc1aj3MehVdV8PUQ38/LxL2MAQTt9bs7sHLf9DmxZ6rGPWmpJ+IRoQbP1PA65tobFOd+Kf13XvWymNUcQpQFHDj0vpvDONxIikO+vj2T7SteRRPy+38UPdB8jrHfQ1JrGbxUQIrWOWeD3S44lINmquIMclJQ26zf6nvklXR7xCuzNAvmjublsnYK+CGDkt/ap/kDD7nCuQYYY,iv:VX55dyt2N80LJPDYoUES7ZWJjlqVyQrUQWvOQ/yItBc=,tag:6NlHwy0SqJ40+ltQHzmX7g==,type:str]
github-key: ENC[AES256_GCM,data:xUgFMlBo8e+3eXqNscxbby1dWug3SgUagDiNUe/IGVbU6cczkaJ3uOaB0OuRBQ8AYhOLkzXj0pIKjUrElHwmYrhURtS1aF4SFEGJsjhhobNA//j3E2/5/nLVjfco+lRzyHdwmsNhEUCqEhsXrrodJMb39H4b5oip3z0rjc729YveiWUKQxXVZVPurp3nq9yNnix9R4CA6XYFRW6T6MNqgPD5qhbcDlhxLb/SN+uI5h+5eZIS24VDWlKaTaCLL5KLhZmfuA37SquOQ+edi9Yg8MnfrZkMrp/3qmAjP2rSQLMOc4QdQCLQBQSf0/snpydgLwY+FoJmMSztwtkqUdIZWOfDUJbJxegEOrAR68jLTNbp+GYiDn3thtOZDiK5p/M1amjCT+A9qeFMed5WS+aZHNTRbR9UcfiP6+48MGZFt1mr7q+/CoL04/DTp0w6tUf6/SZD31NvTJDqngkhpc0ZH9Dh5+2JcnBWpq25AM36kZTn1hIQCLNTr/oGWZXSLA2tksAhQCaUcFj4IIh6Bl96,iv:GEJsAs5NriwENYTV/VShgJF6iMmrtTwNiXOvfXyEP8E=,tag:nfZgsFqaet075GjQAoVZxQ==,type:str] github-key: ENC[AES256_GCM,data:xUgFMlBo8e+3eXqNscxbby1dWug3SgUagDiNUe/IGVbU6cczkaJ3uOaB0OuRBQ8AYhOLkzXj0pIKjUrElHwmYrhURtS1aF4SFEGJsjhhobNA//j3E2/5/nLVjfco+lRzyHdwmsNhEUCqEhsXrrodJMb39H4b5oip3z0rjc729YveiWUKQxXVZVPurp3nq9yNnix9R4CA6XYFRW6T6MNqgPD5qhbcDlhxLb/SN+uI5h+5eZIS24VDWlKaTaCLL5KLhZmfuA37SquOQ+edi9Yg8MnfrZkMrp/3qmAjP2rSQLMOc4QdQCLQBQSf0/snpydgLwY+FoJmMSztwtkqUdIZWOfDUJbJxegEOrAR68jLTNbp+GYiDn3thtOZDiK5p/M1amjCT+A9qeFMed5WS+aZHNTRbR9UcfiP6+48MGZFt1mr7q+/CoL04/DTp0w6tUf6/SZD31NvTJDqngkhpc0ZH9Dh5+2JcnBWpq25AM36kZTn1hIQCLNTr/oGWZXSLA2tksAhQCaUcFj4IIh6Bl96,iv:GEJsAs5NriwENYTV/VShgJF6iMmrtTwNiXOvfXyEP8E=,tag:nfZgsFqaet075GjQAoVZxQ==,type:str]
gitlab-key: ENC[AES256_GCM,data:6271Tg7LIJsXAw7Co32vva+iUWv+eRAfVfXaGkoirHxiPTAgZfq8yDpGJwti2D/aFnLvbURcUgp3B5zy1aURu9puXi6QMu3orJOE2Zx0dX3lyeHyIhOZ1hAWsQxwBDkJYODuMZbIKHNrF26Mkk6smFF9SrGoADZGxY7XSou/iopw6yrLvQAXP6lN55PQvoP5/ek/QzKNwjJAbAjp7FjjtPqPUbUdj7bfIfr9avs6gpRYnRzb2H3auyhb5qvyuRWnKu4+FeZUofC7HnfRU1eSI8UzG49Rg4f2b1Xqr0JtsjvEmuRx7lbptINXEAjW7zaSZ2B9NgotWPIzkNZRNZkuTEaOulBf5iH3wJ9GM1FcbUu2gpCt6y+CMIk5QkVvETYtKuALLbcPx9/sc90doiH1411LeKQCs5l88BBILG9KPkKmXiGGUVNxzFtjbRYQIUEmmyl95kPPEdCkkzGzHXNfE3F9HRu4MCGKPK2yZPZtCXd3Jp1b21wKSIRNYqLqxru+J8eLSljd3czO0SuTG/Vx,iv:E+y3aVLaiStlPLTQBqyfJuEXtAQyOvDUYS+XfuOHuA0=,tag:6d1IAsGcmcpgL1pE9dDcbw==,type:str] gitlab-key: ENC[AES256_GCM,data:6271Tg7LIJsXAw7Co32vva+iUWv+eRAfVfXaGkoirHxiPTAgZfq8yDpGJwti2D/aFnLvbURcUgp3B5zy1aURu9puXi6QMu3orJOE2Zx0dX3lyeHyIhOZ1hAWsQxwBDkJYODuMZbIKHNrF26Mkk6smFF9SrGoADZGxY7XSou/iopw6yrLvQAXP6lN55PQvoP5/ek/QzKNwjJAbAjp7FjjtPqPUbUdj7bfIfr9avs6gpRYnRzb2H3auyhb5qvyuRWnKu4+FeZUofC7HnfRU1eSI8UzG49Rg4f2b1Xqr0JtsjvEmuRx7lbptINXEAjW7zaSZ2B9NgotWPIzkNZRNZkuTEaOulBf5iH3wJ9GM1FcbUu2gpCt6y+CMIk5QkVvETYtKuALLbcPx9/sc90doiH1411LeKQCs5l88BBILG9KPkKmXiGGUVNxzFtjbRYQIUEmmyl95kPPEdCkkzGzHXNfE3F9HRu4MCGKPK2yZPZtCXd3Jp1b21wKSIRNYqLqxru+J8eLSljd3czO0SuTG/Vx,iv:E+y3aVLaiStlPLTQBqyfJuEXtAQyOvDUYS+XfuOHuA0=,tag:6d1IAsGcmcpgL1pE9dDcbw==,type:str]
jack-key: ENC[AES256_GCM,data:VfCl3wH0MMBc8QDyjLDFeSvzSEsf7uGpfJvRjFrmjW+bPRUXBpZhJV8a9VQIAz7z7zZXvzARMfCeI0ydyC57CW81GH5/H5pneJ4b+xreINjVfdLbL1nC1thelo/O64jda/L+xVKhgE+QQi8/zt4JmXGghkP+74nYcTTaMpmcbgWw354J1ybXqyCEY+88nsJ1d2s+M7M2bplx4fGb7sLUs6sqdsad3sENzhH/0HQCFXreHTtgsLbIs8ccmdRgFNKM8/wD0OoW76rOQsJoA9JY4yOTQNVoX5M8+Olj6+wVlt6QBrWrYRuEztGnHrHvzxiHXtmEkMwVNfoPpEflQyRYRa0rVp/66REOkMckGx6/LbxKFgrxnifRlsK3kWd28v2bRGVQOghUluYUtVkaJ+eh6o6ik0NQKx8/H6BznBSDE6MjDwbLv434LHBfDtAqhWN1eMbOlunFivsl5Hb/6rl9kydHlcCS6FY8cUHoKQ90gDaUuDrvUifwmdO5hU0GH5tgvGi1ReK9ndcpQsrHptG6,iv:oC1xU5Tu3The105VYRmxIw4kEwDoqe8T/EH6mmqpqwQ=,tag:Pu8c536u6W7ALrqjRsvXDw==,type:str] jack-key: ENC[AES256_GCM,data:VfCl3wH0MMBc8QDyjLDFeSvzSEsf7uGpfJvRjFrmjW+bPRUXBpZhJV8a9VQIAz7z7zZXvzARMfCeI0ydyC57CW81GH5/H5pneJ4b+xreINjVfdLbL1nC1thelo/O64jda/L+xVKhgE+QQi8/zt4JmXGghkP+74nYcTTaMpmcbgWw354J1ybXqyCEY+88nsJ1d2s+M7M2bplx4fGb7sLUs6sqdsad3sENzhH/0HQCFXreHTtgsLbIs8ccmdRgFNKM8/wD0OoW76rOQsJoA9JY4yOTQNVoX5M8+Olj6+wVlt6QBrWrYRuEztGnHrHvzxiHXtmEkMwVNfoPpEflQyRYRa0rVp/66REOkMckGx6/LbxKFgrxnifRlsK3kWd28v2bRGVQOghUluYUtVkaJ+eh6o6ik0NQKx8/H6BznBSDE6MjDwbLv434LHBfDtAqhWN1eMbOlunFivsl5Hb/6rl9kydHlcCS6FY8cUHoKQ90gDaUuDrvUifwmdO5hU0GH5tgvGi1ReK9ndcpQsrHptG6,iv:oC1xU5Tu3The105VYRmxIw4kEwDoqe8T/EH6mmqpqwQ=,tag:Pu8c536u6W7ALrqjRsvXDw==,type:str]
ovpn: ENC[AES256_GCM,data:dz42g5IQ9FvXkE/yDfnPFUgZGfuboko3oTLtFHHB3T1+dLSbkhSLEpNM6l0FTJwef9cP2fn98JjeoiNkhnCAyOJvdnmA6KPJhz1RQH3j+lt4IPgYry3uThZvxPCDWTSbS0JwnQua/iNGeeX90bAMalqLJtP25LrW9dp+Tu7TXgqc+qs7/owBAdxu2r96ehVGu63x+JB5nDWRxUOmOjqmkaX0B37PNQRhfAyWKGN3ELSuI2LhxuRHRee+pXKutr2wuQNyCsUT2Zv+kdjOCR2S50sWZqdYV7t1Vw/QzIUyaV/giMp07u/tCJxyz4axZpIc0WuZJGV+Bbbh8hbJchkrkqXbkyt2RsL7v+ylrnABLgjJAn7cZK6rR4/yn3WaZ58vicLYqgdUVwxWm2C6L2v4LqkW2ouuL1ibiYPLGrFchdPWnAQklBG7QMO9OhbKRu2ibt7+Ltu4hlWQIr6NFVxraNihzWYVuUZHHv5yByxM9qSNVm9GwozxXA3g/SR61akIK7iclV/A9fec+BInvh1FWBcW2AoYr7UfcwnKSSWtBZh+6Lj4/ZfORVWuEggj++14jhEr5pc1Qx4GRNeCAr7/FzxW4z6P29iTgCmRZ/KE2WdYrid0eVj2fC/P9XP+Ou/9NbJFp7cHYWM9SNIRNAS9h7vkhpsyp+3t+2q5NDrBTZFVAgmQNX7eu2TegE6YTExmnMFf4HCfwpre9ardwDNWdFjVqkqynYotGK+jg80YnlxnnMwhn2xYYGCebL/N19dhAdAHW853NftIkYR+rBbfBGhtj4RPWGqRFzRhOCVuLmexniHjtjJrJJCz0Eh7Md9PM7jYxUpVcpdC3W+Hg7oVOooc67hX8hiwZf8I7evxNxWmTC2tPN32fTUZexvwQCl1SSdg5vJGhhtdu1VkIZ5n9rdhBmeMQHRTa+woRAIVxZ6Y0dt41WbHN6WcVkHEuOZvDLy4+iZP5DOQFUZ9jEr8gDCTFS920Pguv2cZOFAN3bfSr4vRq72vrZuYAuMShTgPaMruNaOHSWOLhEdg2VQm0ce1cfcR0Dj9wyAMuxBzo7a0+N9ipmD6aUrjh6dTE+rtyClyLsVDGCLA9N2cqAVghdXIauvzpDq9OGwAQeL4+BtXlkiRihTzrc8oNydEYwO1ZTFiUhZEOgrpL1/pCr+jf1QHTXeV07XswySUSOerE2RIerp9FMxvf5O1Wwhw0eowBlgLTTG4RtafBTQGQ19JSTOTJQcBhpycFzRgwxrXGRBXNrhUqGr/bkWGaktEDtOQ0PzNmc1X8Cgn6+Z9mPSfMUrTuhak9MjGVqtBYc/Kg2kSfLoFiIxaX5yd64hlznZBAQ7jinPVAKeAPtIt13S/6gKQyXPePn11lsox/PY/L4HkryrAnbT5nnl7ISfouQzenLh+zTxNxihabviS9FXwyDgzFvJb3VkBroX2w6YaWs75254qZ2txzrNTX93LgnKwkD6cWLdeU6FNW2DB82R2c6oxh9ewape5QmFzhvjc584S3Uztbwr/dPMwDdmyO5vP+llDRfQdxXJ7ax0Z01L4PhtBMe+qwU709XKkVQCeno+g3/4tDFhfp4tCKhCHRj+8x9lYSQPpTm3GozChpG0QFbo+y3rjeF4CVHqA80EJKBkc8ikykhDcQrMwnL4rVcDAPLycOzI4aF8HPdcUA8lGSzahil1MrExUUaexIua6f4By2tRCuAJ2ScnF6IikW3z5gRNKo9o+1Tptg1t+iVj7kj7PWgGJIJRpOaw57t0goeCfSUE+9NPnjiWcAOUTzeV0/j5MX8sArTaXaKsBh7HgrPlbL9w1yC7Ai+zHUT1ajIH/5U91v2mOM8stUifrYZnG7/KKNt90eFgYQPcsM3UZlTR/2nQpHPmPkw9Ar2QY3t/4w9/qAyBdtiN/B9n2adtr4pPf88bTLLPS+7yiV4/7yHqrzKgXQ124fQDNCY5nNY5o/KmjHj+YCgHlkfTF9tgaF6rDjAJXuXgfVIBRuFtXttL1AHWXY4WYJX17PX8gMHt/JugqKE6BF/N01XDKH1nAMPHDlc7zCJvgtGrI7P0+vNJIE/M37014Qw/xk/KeDj/HzXNUQL8tisf4pc1PbKOIJpHd7Ab8lR1h0TPSyntl6zNgAtfXDL031/tUr61VknkPDsWAVMiVY2UUvAxP8cdeiCUl+qjiYGrB8jHrFyVifSks0atjmWBH0QbFDHr2GEi0kh881Do7IwebJpAEEDMk+p4WqqKY/I+TpiHm0hAZTDsqtsRcVWXlot4n4OH+Z+Wjqdos6K8XtCWNz0VhgYNQeGOmroN6ruk0+3+lpikDUaCMl9UfQhm6Ba4KPZWLnGuD4OOqLbRj1itUWAvU9Xounp8yqr7u60VjuL0Wge1C/Ynf51Nhe1dZWWESCbutZu65NNnnyj29UDDYzbnwpqRnbOAb6OV9b85jhHaoWy7XTSw8CW0o9OtH++0f8+6g8o+XutZdqc+ihP4O+TvT3Ly/ohaatphzjz2MNuZ03LcnGOr2Q3zOzunf0kXy2cXyxfWvEuvLfhEWpN7GD1kRVyL7NVutzkWR09TLZaZDst1RxJiKaxQC6GNjOUMTF6oBHTWc7VAmOoxTlyhaABt+ZHInd9KX41d+wo+vg8UAI8+H56Sy4fva/FSwxlJyMgM2GuXk312uGfM/HOFUzUHDOq7MwbxekVH71LBPetBxZ1PdIoAXiZLl3GC0FOTEukzqFEipKJuWknBqeuYKmNxQa1VwrmC0575mofV1AG71AK4vz/SHWQ4giaws29+HYXQCT3GWg54g9PHX++vaJtWZd6/jOTeehMbqhqNi8gfk24lWCBSzxCzVVWQifLxVaYoitMkhhQXSgg+ZWS5w4mG9S5T3ZJImEy+ClXxfkbdatpEFWulChWO3ROgPxX+2OtvAjx7hS66MvNirLC2h9YtV/Ki35SLaSQ6QGRtrmNRDd+hBO1bObTYmZYolzpJAnwym2/qPsdGZHYCJISF1zC7n1jKjf60aI1k8sfx80wivMgpFYlS22ktaqqyK23a1I+FzZro5EhpIGidFmg4of+YcMqzhhYQFcT60JThFoW5lzxmGZbC3xj4sZvFZHcMoZJWJhBJJFWovK5CKqJ+HrMkp3ubVDMnUU+A3n8eqvhtFlqBx9gvWjF5szs0FASX4L9P1/TNXwlJtlXSAw2Any8YpF5fqU/IpFnpPEquTCF8UfWwbswqA1tyeurcnIw+UUa222iNTCa0d1//zTmiQr+Qo5OJAEwSU35Y/RZGhDWZiOmpOrLM27vflYcbefrDR7AJBtLZCYlxD23QQ1zgfT9Z9f2O/XnWk7yistPVoMx47itPZyqVH5pttlNxHE94XwVjtp6W3hvRYPEQfAKOrZAXgOZmMqA6ykdbOPyZT5y6/xTo6Z8uJHvJe40XDPQgkm/7A3kimPTKXgXtsGT+bmpHubU5kUFKz+fMTRceZLGuPRbW+krWtQVqJD5wTn26OznYALEfLfSYGqSc9nfBGro0wJOEuIEnudSNZQxIOt0ZOR0VDCCOeZnyOwZUPV1o6+3a7v/JLse3y5DUhzo2vRL61bOrjaM45wYgSEiUAJK8tZ2NWUUi64Zqg0ipKWOp+mDtAVor+jCA8PrK0g5ReAXN5vwStAwXSQCwlDV9KD4fP5XkHZ0tESBWtpOvgYAy+Hw7LpfWTWiNSOo9WAj5LFKeYkVtoginSv+1FsYroNM82vCU3x+1X1C1HkjLXuskNiRJx1IjrKzqkPOIEw2CxypwmHKrP49OBiZsYdFf5zqc1TbkaoEx67Jqy+49iXXBUHg+hOOIL/PfGk2/pgiMIm/VrvYs7/592OPxzzQUZlmWc3tC2wLhWpCbxnraDvQbMibLVAiqyltvstR60XirRbXLdNXEVvhQ+wa9k4tI4yoQkBnejpuFxgG1/9cbU+GyR+T8t0DWcpdkj3f2movp0ZiJXmkCB+lx7QrWThcrU81gGm3MKspckvMwsFyFRt54oQIiL7wLt6zlbyN5f2tHGbfjua0UPKFRXkrO9al/BjVoNvzO+WogmS6SNMTEPDWTEv+MXY5AK53doPTMLHxM6ISy5C3SkojUczXVZf+YymFGZLXw6BtS4x28Oc1Jak5+Er81rY09CbRS2/SvwToatjY6SviVEuOYVBwln3UtDF385shlhsHtks89nvdccwUvznFhqg/9vZlvJQuSN4HEPxQ2bWg==,iv:24+CrCdb5f04Uv5aM8k616hyeikbFJzptERlb9tl+U4=,tag:mPOcv3EfaJrEHxBwYRXRHA==,type:str]
sops: sops:
kms: [] kms: []
gcp_kms: [] gcp_kms: []
@@ -18,8 +18,8 @@ sops:
cmVxVC8rVDlWMUdZaGw3bmdOaWZGS1EKYahBlc8XpB5UdKZQkvxbLcKQ/xkFJjWo cmVxVC8rVDlWMUdZaGw3bmdOaWZGS1EKYahBlc8XpB5UdKZQkvxbLcKQ/xkFJjWo
FSfQWnjhe/a7BJtJEcKZkjOQU0mYqlSu+uT2RA9diCQeRUJPRF+nAw== FSfQWnjhe/a7BJtJEcKZkjOQU0mYqlSu+uT2RA9diCQeRUJPRF+nAw==
-----END AGE ENCRYPTED FILE----- -----END AGE ENCRYPTED FILE-----
lastmodified: "2024-09-04T20:00:20Z" lastmodified: "2024-11-05T12:05:15Z"
mac: ENC[AES256_GCM,data:xKGnwLEpwzFrG7Xl5gaGTNL/0/z3pOfPBpEZ0rUqgMplc4UZ/LuBgc/2/ccaqoaJcou1IYYGFJGKqpAVEyLuSSWuvn4H63spbkt8LgZIToN3lxWa3EFB/4Xc2cCwUj9c6vAYaFQbnZ9Mm+ZsITluPAuLBHD1AWPPBlWOQbHbn4M=,iv:tE0WEj0YwsY2Tab8+AKNvIjU3dXLN5Bz/jYtG69x/Ow=,tag:a5kp6VqPa0hNfWK4T3SEZg==,type:str] mac: ENC[AES256_GCM,data:ggTUKhmfUp4CCE6w3uiuwV0ys6xUhaMBeXi4WiaxkED/lB9iUdP9UssE9iF5lToyNxt/6O2C60CXc4OvpqBxe5dsxPkVNeB6PNhQrD5Ga8+Cu0i6hKz6Fmm0Rq461OuX0Nu2Nl3MUBCWxjM0+1ywfLRKDcjoVC7RzP5eo1NtrV8=,iv:G+Ntog1claKwAY4PEpUK1hjNzspDZiO3bdWNxugUXDQ=,tag:Yg2ZJEV2VrnTmpw8TykmZg==,type:str]
pgp: [] pgp: []
unencrypted_suffix: _unencrypted unencrypted_suffix: _unencrypted
version: 3.9.0 version: 3.9.1

View File

@@ -20,24 +20,9 @@
}; };
autoUpgrade = false; autoUpgrade = false;
autoGarbageCollector = false; autoGarbageCollector = true;
theme = { # Choose your theme variables here
rounding = 15; theme = import ../../themes/var/yoru.nix;
gaps-in = 10;
gaps-out = 10 * 2;
active-opacity = 1;
inactive-opacity = 0.89;
blur = true;
border-size = 3;
animation-speed = "medium"; # "fast" | "medium" | "slow"
fetch = "nerdfetch"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
bar = {
transparent = true;
transparentButtons = false;
floating = true;
};
};
}; };
} }

View File

@@ -1,6 +1,6 @@
{ {
security.rtkit.enable = true; security.rtkit.enable = true;
hardware.pulseaudio.enable = false; services.pulseaudio.enable = false;
services.pipewire = { services.pipewire = {
enable = true; enable = true;

4
nixos/docker.nix Normal file
View File

@@ -0,0 +1,4 @@
{ config, ... }: {
virtualisation.docker.enable = true;
users.users."${config.var.username}".extraGroups = [ "docker" ];
}

View File

@@ -13,9 +13,10 @@
jost jost
dejavu_fonts dejavu_fonts
noto-fonts noto-fonts
noto-fonts-cjk noto-fonts-cjk-sans
noto-fonts-emoji noto-fonts-emoji
(nerdfonts.override { fonts = [ "FiraCode" "Meslo" ]; }) nerd-fonts.fira-code
nerd-fonts.meslo-lg
openmoji-color openmoji-color
twemoji-color-font twemoji-color-font
inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd

View File

@@ -2,6 +2,7 @@
home-manager = { home-manager = {
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
backupFileExtension = "hm-backup";
extraSpecialArgs = { inherit inputs; }; extraSpecialArgs = { inherit inputs; };
}; };
} }

View File

@@ -1,4 +1,4 @@
{ config, ... }: { config, inputs, ... }:
let autoGarbageCollector = config.var.autoGarbageCollector; let autoGarbageCollector = config.var.autoGarbageCollector;
in { in {
nixpkgs.config = { nixpkgs.config = {
@@ -6,6 +6,8 @@ in {
allowBroken = true; allowBroken = true;
}; };
nix = { nix = {
nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
channel.enable = false;
extraOptions = '' extraOptions = ''
warn-dirty = false warn-dirty = false
''; '';

View File

@@ -4,8 +4,13 @@ let
config.boot.kernelPackages.nvidiaPackages.beta; # stable, latest, beta, etc. config.boot.kernelPackages.nvidiaPackages.beta; # stable, latest, beta, etc.
in { in {
# Load nvidia driver for Xorg and Wayland # Load nvidia driver for Xorg and Wayland
services.xserver.videoDrivers = services.xserver.videoDrivers = [
[ "nvidia" "displayLink" ]; # or "nvidiaLegacy470 etc. "nvidia"
"displayLink"
"nvidia_modeset"
"nvidia_uvm"
"nvidia_drm"
]; # or "nvidiaLegacy470 etc.
boot.kernelParams = boot.kernelParams =
lib.optionals (lib.elem "nvidia" config.services.xserver.videoDrivers) [ lib.optionals (lib.elem "nvidia" config.services.xserver.videoDrivers) [
"nvidia-drm.modeset=1" "nvidia-drm.modeset=1"
@@ -15,7 +20,7 @@ in {
environment.variables = { environment.variables = {
# GBM_BACKEND = "nvidia-drm"; # If crash in firefox, remove this line # GBM_BACKEND = "nvidia-drm"; # If crash in firefox, remove this line
LIBVA_DRIVER_NAME = "nvidia"; # hardware acceleration LIBVA_DRIVER_NAME = "nvidia"; # hardware acceleration
__GLX_VENDOR_LIBRARY_NAME = "nvidia"; # __GLX_VENDOR_LIBRARY_NAME = "nvidia";
NVD_BACKEND = "direct"; NVD_BACKEND = "direct";
}; };
nixpkgs.config = { nixpkgs.config = {

10
nixos/pia.nix Normal file
View File

@@ -0,0 +1,10 @@
{ config, ... }: {
services.pia.enable = true;
# Alternatively, you can use the `authUserPassFile` attribute if you are using
# a Nix secrets manager. Here's an example using sops-nix.
#
# The secret you provide to `authUserPassFile` should be a multiline string with
# a single username on the first line a single password on the second line.
services.pia.authUserPassFile = "/home/hadi/.config/pia/pia.ovpn";
}

View File

@@ -6,6 +6,7 @@
systemd-boot = { systemd-boot = {
enable = true; enable = true;
consoleMode = "auto"; consoleMode = "auto";
configurationLimit = 8;
}; };
}; };
tmp.cleanOnBoot = true; tmp.cleanOnBoot = true;

9
nixos/virtualbox.nix Normal file
View File

@@ -0,0 +1,9 @@
{ config, ... }:
let username = config.var.username;
in {
virtualisation.virtualbox.host = {
enable = true;
enableExtensionPack = true;
};
users.extraGroups.vboxusers.members = [ username ];
}

73
themes/stylix/2025.nix Normal file
View File

@@ -0,0 +1,73 @@
{ pkgs, inputs, ... }: {
stylix = {
enable = true;
# Edited catppuccin
base16Scheme = {
base00 = "10101a"; # Default Background
base01 =
"16161f"; # Lighter Background (Used for status bars, line number and folding marks)
base02 = "2b2b2b"; # Selection Background
base03 = "45475a"; # Comments, Invisibles, Line Highlighting
base04 = "585b70"; # Dark Foreground (Used for status bars)
base05 = "fcfcfc"; # Default Foreground, Caret, Delimiters, Operators
base06 = "f5e0dc"; # Light Foreground (Not often used)
base07 = "b4befe"; # Light Background (Not often used)
base08 =
"f38ba8"; # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
base09 =
"fab387"; # Integers, Boolean, Constants, XML Attributes, Markup Link Url
base0A = "f9e2af"; # Classes, Markup Bold, Search Text Background
base0B = "a6e3a1"; # Strings, Inherited Class, Markup Code, Diff Inserted
base0C =
"94e2d5"; # Support, Regular Expressions, Escape Characters, Markup Quotes
base0D =
"A594FD"; # Functions, Methods, Attribute IDs, Headings, Accent color
base0E =
"cba6f7"; # Keywords, Storage, Selector, Markup Italic, Diff Changed
base0F =
"f2cdcd"; # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
};
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 24;
};
fonts = {
monospace = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrains Mono Nerd Font";
};
sansSerif = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
name = "SFProDisplay Nerd Font";
};
serif = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
name = "SFProDisplay Nerd Font";
};
emoji = {
package = pkgs.noto-fonts-emoji;
name = "Noto Color Emoji";
};
sizes = {
applications = 13;
desktop = 13;
popups = 13;
terminal = 13;
};
};
polarity = "dark";
image = pkgs.fetchurl {
url =
"https://github.com/anotherhadi/nixy-wallpapers/blob/main/wallpapers/"
+ "3.png" + "?raw=true";
sha256 = "sha256-fT2ah18IAxoy3hzlLl9SkqhchzfVvZneUrZWzntMo40=";
};
};
}

View File

@@ -30,14 +30,14 @@
}; };
cursor = { cursor = {
package = pkgs.bibata-cursors; package = pkgs.posy-cursors;
name = "Bibata-Modern-Ice"; name = "Posy-Cursor-Mono";
size = 24; size = 24;
}; };
fonts = { fonts = {
monospace = { monospace = {
package = pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" ]; }; package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrains Mono Nerd Font"; name = "JetBrains Mono Nerd Font";
}; };
sansSerif = { sansSerif = {

73
themes/stylix/pinky.nix Normal file
View File

@@ -0,0 +1,73 @@
{ pkgs, inputs, ... }: {
stylix = {
enable = true;
# Edited catppuccin
base16Scheme = {
base00 = "0b0b0b"; # Default Background
base01 =
"1b1b1b"; # Lighter Background (Used for status bars, line number and folding marks)
base02 = "2b2b2b"; # Selection Background
base03 = "45475a"; # Comments, Invisibles, Line Highlighting
base04 = "585b70"; # Dark Foreground (Used for status bars)
base05 = "fcfcfc"; # Default Foreground, Caret, Delimiters, Operators
base06 = "f5e0dc"; # Light Foreground (Not often used)
base07 = "b4befe"; # Light Background (Not often used)
base08 =
"f38ba8"; # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
base09 =
"fab387"; # Integers, Boolean, Constants, XML Attributes, Markup Link Url
base0A = "f9e2af"; # Classes, Markup Bold, Search Text Background
base0B = "a6e3a1"; # Strings, Inherited Class, Markup Code, Diff Inserted
base0C =
"94e2d5"; # Support, Regular Expressions, Escape Characters, Markup Quotes
base0D =
"c6a0f6"; # Functions, Methods, Attribute IDs, Headings, Accent color
base0E =
"cba6f7"; # Keywords, Storage, Selector, Markup Italic, Diff Changed
base0F =
"f2cdcd"; # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
};
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 20;
};
fonts = {
monospace = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrains Mono Nerd Font";
};
sansSerif = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
name = "SFProDisplay Nerd Font";
};
serif = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
name = "SFProDisplay Nerd Font";
};
emoji = {
package = pkgs.noto-fonts-emoji;
name = "Noto Color Emoji";
};
sizes = {
applications = 13;
desktop = 13;
popups = 13;
terminal = 13;
};
};
targets.nixvim.transparentBackground = {
main = true;
signColumn = true;
};
targets.nixvim.plugin = "base16-nvim";
polarity = "dark";
image = inputs.nixy-wallpapers + "/wallpapers/4.png";
};
}

73
themes/stylix/whitish.nix Normal file
View File

@@ -0,0 +1,73 @@
{ pkgs, inputs, ... }: {
stylix = {
enable = true;
# Edited catppuccin
base16Scheme = {
base00 = "0b0b0b"; # Default Background
base01 =
"1b1b1b"; # Lighter Background (Used for status bars, line number and folding marks)
base02 = "2b2b2b"; # Selection Background
base03 = "45475a"; # Comments, Invisibles, Line Highlighting
base04 = "585b70"; # Dark Foreground (Used for status bars)
base05 = "fcfcfc"; # Default Foreground, Caret, Delimiters, Operators
base06 = "f5e0dc"; # Light Foreground (Not often used)
base07 = "b4befe"; # Light Background (Not often used)
base08 =
"f38ba8"; # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
base09 =
"fab387"; # Integers, Boolean, Constants, XML Attributes, Markup Link Url
base0A = "f9e2af"; # Classes, Markup Bold, Search Text Background
base0B = "a6e3a1"; # Strings, Inherited Class, Markup Code, Diff Inserted
base0C =
"94e2d5"; # Support, Regular Expressions, Escape Characters, Markup Quotes
base0D =
"8492EB"; # Functions, Methods, Attribute IDs, Headings, Accent color
base0E =
"cba6f7"; # Keywords, Storage, Selector, Markup Italic, Diff Changed
base0F =
"f2cdcd"; # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
};
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 20;
};
fonts = {
monospace = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrains Mono Nerd Font";
};
sansSerif = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
name = "SFProDisplay Nerd Font";
};
serif = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
name = "SFProDisplay Nerd Font";
};
emoji = {
package = pkgs.noto-fonts-emoji;
name = "Noto Color Emoji";
};
sizes = {
applications = 13;
desktop = 13;
popups = 13;
terminal = 13;
};
};
targets.nixvim.transparentBackground = {
main = true;
signColumn = true;
};
targets.nixvim.plugin = "base16-nvim";
polarity = "dark";
image = inputs.nixy-wallpapers + "/wallpapers/zywgxy.png";
};
}

73
themes/stylix/yoru.nix Normal file
View File

@@ -0,0 +1,73 @@
{ pkgs, inputs, ... }: {
stylix = {
enable = true;
# Edited catppuccin
base16Scheme = {
base00 = "0c0e0f"; # Default Background
base01 =
"121415"; # Lighter Background (Used for status bars, line number and folding marks)
base02 = "161819"; # Selection Background
base03 = "1f2122"; # Comments, Invisibles, Line Highlighting
base04 = "27292a"; # Dark Foreground (Used for status bars)
base05 = "edeff0"; # Default Foreground, Caret, Delimiters, Operators
base06 = "e4e6e7"; # Light Foreground (Not often used)
base07 = "f2f4f5"; # Light Background (Not often used)
base08 =
"f26e74"; # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted
base09 =
"ecd28b"; # Integers, Boolean, Constants, XML Attributes, Markup Link Url
base0A = "e79881"; # Classes, Markup Bold, Search Text Background
base0B = "82c29c"; # Strings, Inherited Class, Markup Code, Diff Inserted
base0C =
"6791c9"; # Support, Regular Expressions, Escape Characters, Markup Quotes
base0D =
"709ad2"; # Functions, Methods, Attribute IDs, Headings, Accent color
base0E =
"c58cec"; # Keywords, Storage, Selector, Markup Italic, Diff Changed
base0F =
"e8646a"; # Deprecated, Opening/Closing Embedded Language Tags, e.g. <?php ?>
};
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 24;
};
fonts = {
monospace = {
package = pkgs.nerd-fonts.jetbrains-mono;
name = "JetBrains Mono Nerd Font";
};
sansSerif = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
name = "SFProDisplay Nerd Font";
};
serif = {
package = inputs.apple-fonts.packages.${pkgs.system}.sf-pro-nerd;
name = "SFProDisplay Nerd Font";
};
emoji = {
package = pkgs.noto-fonts-emoji;
name = "Noto Color Emoji";
};
sizes = {
applications = 13;
desktop = 13;
popups = 13;
terminal = 13;
};
};
polarity = "dark";
image = pkgs.fetchurl {
url =
"https://github.com/anotherhadi/nixy-wallpapers/blob/main/wallpapers/"
+ "wave-dark.png" + "?raw=true";
sha256 = "sha256-FjvbyAA2xLLZez/0aj43DPlbyrNfhjBTBPsUBywri5k=";
};
};
}

18
themes/var/2025.nix Normal file
View File

@@ -0,0 +1,18 @@
{
rounding = 16;
gaps-in = 9;
gaps-out = 9 * 2;
active-opacity = 1;
inactive-opacity = 0.93;
blur = true;
border-size = 3;
animation-speed = "fast"; # "fast" | "medium" | "slow"
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
bar = {
position = "top"; # "top" | "bottom"
transparent = false;
transparentButtons = false;
floating = true;
};
}

18
themes/var/nixy.nix Normal file
View File

@@ -0,0 +1,18 @@
{
rounding = 15;
gaps-in = 10;
gaps-out = 10 * 2;
active-opacity = 1;
inactive-opacity = 0.89;
blur = true;
border-size = 3;
animation-speed = "medium"; # "fast" | "medium" | "slow"
fetch = "nerdfetch"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
bar = {
position = "top"; # "top" | "bottom"
transparent = true;
transparentButtons = false;
floating = true;
};
}

18
themes/var/pinky.nix Normal file
View File

@@ -0,0 +1,18 @@
{
rounding = 25;
gaps-in = 12;
gaps-out = 12 * 2;
active-opacity = 1;
inactive-opacity = 0.87;
blur = true;
border-size = 3;
animation-speed = "slow"; # "fast" | "medium" | "slow"
fetch = "nerdfetch"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
bar = {
position = "top"; # "top" | "bottom"
transparent = true;
transparentButtons = false;
floating = true;
};
}

18
themes/var/whitish.nix Normal file
View File

@@ -0,0 +1,18 @@
{
rounding = 15;
gaps-in = 10;
gaps-out = 10 * 2;
active-opacity = 1;
inactive-opacity = 0.86;
blur = true;
border-size = 2;
animation-speed = "medium"; # "fast" | "medium" | "slow"
fetch = "nerdfetch"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
bar = {
position = "top"; # "top" | "bottom"
transparent = false;
transparentButtons = false;
floating = true;
};
}

18
themes/var/yoru.nix Normal file
View File

@@ -0,0 +1,18 @@
{
rounding = 12;
gaps-in = 9;
gaps-out = 9 * 2;
active-opacity = 1;
inactive-opacity = 0.98;
blur = true;
border-size = 3;
animation-speed = "fast"; # "fast" | "medium" | "slow"
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
bar = {
position = "top"; # "top" | "bottom"
transparent = false;
transparentButtons = true;
floating = true;
};
}