Compare commits

..

78 Commits

Author SHA1 Message Date
tux
87e065c659 refactor(shell): replace aichat with opencode 2025-10-10 23:48:30 +05:30
tux
767b2f601a feat(hyrpland): bind workspaces to monitor 2025-10-10 19:42:45 +05:30
tux
e5091a1e00 feat(hyprland): resize floating windows 2025-10-10 16:45:19 +05:30
tux
0aa20a37bc feat(canopus): update age public key 2025-10-10 16:44:47 +05:30
tux
94e3785df0 chore: update sha256 hash 2025-10-10 16:43:57 +05:30
tux
5e33aadcd3 feat: update disk config 2025-10-10 10:23:08 +05:30
tux
0934d3235d fix(input): adjust mouse sensitivity 2025-10-08 15:01:13 +05:30
tux
e55e55ddbf feat(input): configure mouse acceleration profile 2025-10-08 04:03:22 +05:30
tux
7006670315 chore: update tpanel flake input 2025-10-07 03:26:22 +05:30
tux
f180bf98fb feat(hyprland): update bindings for tpanel 2025-10-07 01:52:38 +05:30
tux
26c20eb13f feat(hyprland): add mouse bindings 2025-10-07 01:51:44 +05:30
tux
6f53a88817 fix: mouse sensitivity 2025-10-06 22:49:24 +05:30
tux
b7c1c5880d doc: update README 2025-10-06 19:04:17 +05:30
tux
4db41c2842 chore(assets): remove unused 2025-10-06 18:59:39 +05:30
tux
b330c11e90 chore(readme): update UI element references 2025-10-06 18:41:33 +05:30
tux
a43bea05f2 doc(assets): Organize assets by window manager 2025-10-06 18:38:53 +05:30
tux
5d9c95e7ca chore: update sha256 hash 2025-10-04 16:38:09 +05:30
tux
8d89b88b08 chore: update tnvim flake input 2025-10-04 16:31:13 +05:30
tux
e3e742b0ee fix(superfile): set default directory to home 2025-10-04 04:33:24 +05:30
tux
69d22c9be3 feat(hyprland): replace thunar with superfile 2025-10-03 21:53:39 +05:30
tux
4dbd7264a2 feat: update asusd config 2025-10-02 13:54:25 +05:30
tux
4a88e9bd60 style(editor): increase font size 2025-09-30 11:15:12 +05:30
tux
db81a357c9 feat(hyprland): add window centering shortcut 2025-09-30 11:14:48 +05:30
tux
410a202b3d feat(canopus): reduce battery charge threshold 2025-09-30 11:14:34 +05:30
tux
6e069ea386 chore: update tpanel flake input 2025-09-30 11:14:10 +05:30
tux
776b469267 chore: add iwd to persist dir 2025-09-28 05:12:02 +05:30
tux
6c5627e919 feat: add impala 2025-09-28 05:11:58 +05:30
tux
e869984a81 chore(hyprland): refine window floating toggle 2025-09-28 03:01:40 +05:30
tux
8d6e94b059 fix(mopidy): remove unused visualizer sync interval 2025-09-28 01:43:29 +05:30
tux
03fb51dd03 chore: update tpanel flake input 2025-09-28 01:30:02 +05:30
tux
5b76e660dd feat: add bluetui 2025-09-27 21:03:31 +05:30
tux
01c7859436 chore: update tpanel flake input 2025-09-26 13:29:25 +05:30
tux
3efd26e126 feat(hyprland): add tpanel control-center binding 2025-09-25 20:11:27 +05:30
tux
dce1b54011 chore: update tpanel flake input 2025-09-25 20:11:27 +05:30
tux
ba3adc4989 chore: add bigblue-terminal nerd font 2025-09-25 19:32:15 +05:30
tux
6b592db797 chore: update tpanel flake input 2025-09-24 17:52:19 +05:30
tux
7ce463a1b9 feat: migrate tpanel to ags v3 2025-09-24 16:42:10 +05:30
tux
333e87796e chore: correct typo 2025-09-23 15:57:23 +05:30
tux
386ecf0b24 refactor(qt): consolidate qt configuration options 2025-09-23 15:51:20 +05:30
tux
f74b3c6d3c refactor(hyprland): improve floating window rules 2025-09-23 15:50:40 +05:30
tux
bc8618512d feat(hyprland): setup window rules for kde connect 2025-09-23 15:48:19 +05:30
tux
ccbbcbde46 feat(hyprland): launch kde connect on startup 2025-09-23 14:33:03 +05:30
tux
f899f921e0 feat: add kdeconnect to persist dir 2025-09-23 14:32:46 +05:30
tux
1a8e7a2b27 feat: enable firmware update and filesystem trim 2025-09-23 13:56:25 +05:30
tux
91b2810464 feat: add optimisations 2025-09-23 13:55:24 +05:30
tux
f89d27db2e chore: update sha256 hash 2025-09-23 13:36:48 +05:30
tux
6b44e284b0 feat(hyprland): replace swaybg with hyprpaper 2025-09-23 13:36:38 +05:30
tux
da69c4b543 doc: update components 2025-09-22 19:00:32 +05:30
tux
88e4d73968 feat(hyprland): add hyprlock configuration 2025-09-22 18:38:07 +05:30
tux
3c330385d7 feat: add zed editor 2025-09-22 14:21:24 +05:30
tux
04663412b0 feat(boot): increase boot entry limit 2025-09-22 13:08:14 +05:30
tux
b06c8e48bc chore: change wallpaper 2025-09-21 23:37:29 +05:30
tux
3b64438b58 chore: update tnvim flake input 2025-09-18 16:12:01 +05:30
tux
64b8c3a296 feat: setup opencode 2025-09-18 15:55:30 +05:30
tux
4c98e05ec8 feat(hyprland): add display docking script 2025-09-18 15:29:25 +05:30
tux
f11851c6bc feat: add to persist dir 2025-09-17 21:39:28 +05:30
tux
3d5d81f551 feat: update flake inputs 2025-09-17 18:34:39 +05:30
tux
af60797e75 feat: replace spotify with spotify_player 2025-09-17 18:08:03 +05:30
tux
441f39e3c6 chore(ly): set session log to null 2025-09-17 14:41:12 +05:30
tux
82b0dbb27b feat: add superfile 2025-09-17 00:00:07 +05:30
tux
9eb052ff02 feat: add shell aliases for monitor 2025-09-16 23:22:34 +05:30
tux
28f764372b fix(flameshot): configure flameshot to use grim 2025-09-16 15:36:22 +05:30
tux
a4ce82e410 feat: update flake inputs 2025-09-16 14:02:55 +05:30
tux
17c7a507fd chore(hyprland): decrease animation time 2025-09-16 14:01:56 +05:30
tux
725a2a3dd3 refactor: remove unused file 2025-09-09 18:42:02 +05:30
tux
548913d088 feat: update flake inputs 2025-09-09 18:37:41 +05:30
tux
a59383ff91 refactor(ly): persist ly settings 2025-09-07 19:57:40 +05:30
tux
bf5cc15137 chore: update tnvim flake input 2025-09-06 04:53:43 +05:30
tux
9980483650 chore: update tawm flake input 2025-09-03 18:53:17 +05:30
tux
f627239c72 feat(desktop): specify display refresh rate 2025-09-02 02:41:05 +05:30
tux
067b11f0c0 chore: update sha256 hash 2025-08-29 16:16:31 +05:30
tux
d57ff4fe13 chore(deps): update nix flake inputs 2025-08-22 17:10:57 +05:30
tux
3fce605902 chore(deps): bump dependencies in flake.lock 2025-08-19 18:41:58 +05:30
tux
021f07a8b1 refactor(browser): apply scaling for Brave 2025-08-19 18:15:44 +05:30
tux
d397284704 chore: update package 2025-08-13 12:26:50 +05:30
tux
32febe5604 feat: update flake inputs 2025-08-13 12:26:25 +05:30
tux
d3a7405291 feat(browser): switch default browser to Brave 2025-08-13 11:54:18 +05:30
tux
cf9dddfbeb feat: update tnvim flake input 2025-08-12 18:49:11 +05:30
40 changed files with 810 additions and 399 deletions

View File

@@ -4,7 +4,7 @@ keys:
- &hosts
- &sirius age1f860dfewlx5jtt9ejr47gywx70p3dmyc8mat29gpr75psljwjv8q5xyxkq
- &canopus age1udt3cssu7ahdrhsvckt8450rswrr6mknn36xpq74dkfp9lpajvnq84kdzj
- &canopus age1x36yr8h993srfj29sfpzt4wyz52nztvncpmhgmfs0j26qvfecq3qvcm0an
- &homelab age1jg642q775gmnmxeu29gcf3lph8vem4xr8t84cxe809dpd0myrussh49h60
- &arcturus age1zsl5d4vj6gl3h96y5p53sq5y4vr4vtlwp727h7rp9a4xfkxm53lqrh6r50
- &alpha age1zujp5gxy7suv8ysnygv43cmzuvv36nxfg0ch7r3xg2emc6fz3vmqqujheq

View File

@@ -71,16 +71,30 @@ reboot
| DM | ly | ly |
| WM/DE | Hyprland | AwesomeWM |
| Compositor | Hyprland | Picom (Jonaburg) |
| Bar | Astal | Wibar |
| Bar | tPanel | Wibar |
| Hotkeys | Hyprland | Awful |
| Launcher | Astal | Rofi |
| Notifications | Astal | Naughty |
| Terminal | Ghostty | Wezterm |
| Launcher | tPanel | Rofi |
| Notifications | tPanel | Naughty |
| Terminal | Wezterm | Wezterm |
| Editor | Neovim | Neovim |
## Showcase
### Desktop
### Desktop Hyprland
![Desktop](https://raw.githubusercontent.com/tuxdotrs/nix-config/refs/heads/main/assets/hyprland/desktop.png)
### tPanel
![tPanel](https://raw.githubusercontent.com/tuxdotrs/nix-config/refs/heads/main/assets/hyprland/tPanel.png)
### Workflow
![Workflow](https://raw.githubusercontent.com/tuxdotrs/nix-config/refs/heads/main/assets/hyprland/workflow.png)
## Showcase
### Desktop AwesomeWM
![2024-08-08_18-33](https://github.com/user-attachments/assets/1cdcc387-0f68-486c-a76c-a36ad2acb78d)

View File

Before

Width:  |  Height:  |  Size: 3.2 MiB

After

Width:  |  Height:  |  Size: 3.2 MiB

View File

Before

Width:  |  Height:  |  Size: 2.6 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

View File

Before

Width:  |  Height:  |  Size: 439 KiB

After

Width:  |  Height:  |  Size: 439 KiB

View File

Before

Width:  |  Height:  |  Size: 487 KiB

After

Width:  |  Height:  |  Size: 487 KiB

View File

Before

Width:  |  Height:  |  Size: 559 KiB

After

Width:  |  Height:  |  Size: 559 KiB

View File

Before

Width:  |  Height:  |  Size: 574 KiB

After

Width:  |  Height:  |  Size: 574 KiB

View File

Before

Width:  |  Height:  |  Size: 645 KiB

After

Width:  |  Height:  |  Size: 645 KiB

BIN
assets/hyprland/desktop.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

BIN
assets/hyprland/tPanel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 642 KiB

354
flake.lock generated
View File

@@ -9,11 +9,11 @@
]
},
"locked": {
"lastModified": 1744557573,
"narHash": "sha256-XAyj0iDuI51BytJ1PwN53uLpzTDdznPDQFG4RwihlTQ=",
"lastModified": 1758577685,
"narHash": "sha256-iHT0kvsQJG+Z89quGi7rNCXEg2e3DBGfuuCMu/UwiIo=",
"owner": "aylur",
"repo": "ags",
"rev": "3ed9737bdbc8fc7a7c7ceef2165c9109f336bff6",
"rev": "aa7a8a2dd6e54aaeb4e13a73ed3bc2283995090b",
"type": "github"
},
"original": {
@@ -42,11 +42,11 @@
]
},
"locked": {
"lastModified": 1753216019,
"narHash": "sha256-zik7WISrR1ks2l6T1MZqZHb/OqroHdJnSnAehkE0kCk=",
"lastModified": 1755946532,
"narHash": "sha256-POePremlUY5GyA1zfbtic6XLxDaQcqHN6l+bIxdT5gc=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "be166e11d86ba4186db93e10c54a141058bdce49",
"rev": "81584dae2df6ac79f6b6dae0ecb7705e95129ada",
"type": "github"
},
"original": {
@@ -64,32 +64,11 @@
]
},
"locked": {
"lastModified": 1742571008,
"narHash": "sha256-5WgfJAeBpxiKbTR/gJvxrGYfqQRge5aUDcGKmU1YZ1Q=",
"lastModified": 1756474652,
"narHash": "sha256-iiBU6itpEqE0spXeNJ3uJTfioSyKYjt5bNepykpDXTE=",
"owner": "aylur",
"repo": "astal",
"rev": "dc0e5d37abe9424c53dcbd2506a4886ffee6296e",
"type": "github"
},
"original": {
"owner": "aylur",
"repo": "astal",
"type": "github"
}
},
"astal_2": {
"inputs": {
"nixpkgs": [
"tpanel",
"nixpkgs"
]
},
"locked": {
"lastModified": 1748416910,
"narHash": "sha256-FEQcs58HL8Fe4i7XlqVEUwthjxwvRvgX15gTTfW17sU=",
"owner": "aylur",
"repo": "astal",
"rev": "c1bd89a47c81c66ab5fc6872db5a916c0433fb89",
"rev": "20bd8318e4136fbd3d4eb2d64dbabc3acbc915dd",
"type": "github"
},
"original": {
@@ -125,11 +104,11 @@
"utils": "utils"
},
"locked": {
"lastModified": 1749105467,
"narHash": "sha256-hXh76y/wDl15almBcqvjryB50B0BaiXJKk20f314RoE=",
"lastModified": 1756719547,
"narHash": "sha256-N9gBKUmjwRKPxAafXEk1EGadfk2qDZPBQp4vXWPHINQ=",
"owner": "serokell",
"repo": "deploy-rs",
"rev": "6bc76b872374845ba9d645a2f012b764fecd765f",
"rev": "125ae9e3ecf62fb2c0fd4f2d894eb971f1ecaed2",
"type": "github"
},
"original": {
@@ -145,11 +124,11 @@
]
},
"locked": {
"lastModified": 1753140376,
"narHash": "sha256-7lrVrE0jSvZHrxEzvnfHFE/Wkk9DDqb+mYCodI5uuB8=",
"lastModified": 1757508292,
"narHash": "sha256-7lVWL5bC6xBIMWWDal41LlGAG+9u2zUorqo3QCUL4p4=",
"owner": "nix-community",
"repo": "disko",
"rev": "545aba02960caa78a31bd9a8709a0ad4b6320a5c",
"rev": "146f45bee02b8bd88812cfce6ffc0f933788875a",
"type": "github"
},
"original": {
@@ -160,15 +139,15 @@
},
"emacs": {
"inputs": {
"nixpkgs": "nixpkgs_6",
"nixpkgs": "nixpkgs_7",
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1754533799,
"narHash": "sha256-lz3wteHcXkm2tbUPg4lHBWLBtQd0a/2Pmi2ldpQm7t8=",
"lastModified": 1758074676,
"narHash": "sha256-9eBaBvXPcuEHgt0Hb2emoG4yqZqQ05yohsHBUazX8K0=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "04ec165c91c2fbe9026dd02a191638a325a18331",
"rev": "057134e47725e8f7b7fee1609ea8b4b434fd7007",
"type": "github"
},
"original": {
@@ -235,11 +214,11 @@
"flake-compat_3": {
"flake": false,
"locked": {
"lastModified": 1696426674,
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"lastModified": 1747046372,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885",
"type": "github"
},
"original": {
@@ -412,11 +391,11 @@
"zon2nix": "zon2nix"
},
"locked": {
"lastModified": 1754581278,
"narHash": "sha256-7+nwa//L2wN7sPxErlytwlJxBM57mJcgAu+xOEW+P9A=",
"lastModified": 1758065851,
"narHash": "sha256-4yQjtJnX3tyDASjZTVRZWOBADrjJCaXMESFzM2uMvXQ=",
"owner": "ghostty-org",
"repo": "ghostty",
"rev": "4aa12b76e7e537cd319b277b4f55ab1b6c00d0d3",
"rev": "0f0a61c38dbebbd70979afbd3df81bf143efca9d",
"type": "github"
},
"original": {
@@ -471,11 +450,11 @@
]
},
"locked": {
"lastModified": 1754575993,
"narHash": "sha256-0ut8TM76DeMnexgwNyMx2c5flhp4IPtqQ79XR0hpmY0=",
"lastModified": 1758111822,
"narHash": "sha256-Cpfyjkaft6yI5Ktvy2WTKDZehdU4sqKWs9EGaB2JFjs=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d8a475e179888553b6863204a93295da6ee13eb4",
"rev": "b035546241d842053c7f19c517e330d79d1dc801",
"type": "github"
},
"original": {
@@ -529,11 +508,11 @@
]
},
"locked": {
"lastModified": 1752149140,
"narHash": "sha256-gbh1HL98Fdqu0jJIWN4OJQN7Kkth7+rbkFpSZLm/62A=",
"lastModified": 1757542864,
"narHash": "sha256-8i9tsVoOmLQDHJkNgzJWnmxYFGkJNsSndimYpCoqmoA=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "340494a38b5ec453dfc542c6226481f736cc8a9a",
"rev": "aa9d14963b94186934fd0715d9a7f0f2719e64bb",
"type": "github"
},
"original": {
@@ -552,17 +531,17 @@
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_4",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_3",
"xdph": "xdph"
},
"locked": {
"lastModified": 1754583328,
"narHash": "sha256-UyM03UZbu5MMil/iz1dSQv1BlfmzlfGdAZcE9ZV5DwY=",
"lastModified": 1758110629,
"narHash": "sha256-uHE+FdhKBohAUeO29034b68RN0ITf/KRy2tkaXQdLCY=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "afbd8796859775a50687daacb254cdd1ba22328f",
"rev": "1cb8cd3930e2c8410bbc99baa0a5bea91994bd71",
"type": "github"
},
"original": {
@@ -588,11 +567,11 @@
]
},
"locked": {
"lastModified": 1754517526,
"narHash": "sha256-zPfU6I7AqlDpoC0ZLTnayqCOyEn9Emub/ca4ATP/XxY=",
"lastModified": 1757774228,
"narHash": "sha256-6jAtMjnWq8kty/dpPbIKxIupUG+WAE2AKMIKhxdLYNo=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "c8dc6f3d5437d26fae625c40388ba52e97bc5fdf",
"rev": "5ff379f4e525183cc6766ea95764b52ec97d8966",
"type": "github"
},
"original": {
@@ -681,11 +660,11 @@
]
},
"locked": {
"lastModified": 1753819801,
"narHash": "sha256-tHe6XeNeVeKapkNM3tcjW4RuD+tB2iwwoogWJOtsqTI=",
"lastModified": 1757508108,
"narHash": "sha256-bTYedtQFqqVBAh42scgX7+S3O6XKLnT6FTC6rpmyCCc=",
"owner": "hyprwm",
"repo": "hyprland-qtutils",
"rev": "b308a818b9dcaa7ab8ccab891c1b84ebde2152bc",
"rev": "119bcb9aa742658107b326c50dcd24ab59b309b7",
"type": "github"
},
"original": {
@@ -710,11 +689,11 @@
]
},
"locked": {
"lastModified": 1753622892,
"narHash": "sha256-0K+A+gmOI8IklSg5It1nyRNv0kCNL51duwnhUO/B8JA=",
"lastModified": 1756810301,
"narHash": "sha256-wgZ3VW4VVtjK5dr0EiK9zKdJ/SOqGIBXVG85C3LVxQA=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "23f0debd2003f17bd65f851cd3f930cff8a8c809",
"rev": "3d63fb4a42c819f198deabd18c0c2c1ded1de931",
"type": "github"
},
"original": {
@@ -735,11 +714,11 @@
]
},
"locked": {
"lastModified": 1753800567,
"narHash": "sha256-W0xgXsaqGa/5/7IBzKNhf0+23MqGPymYYfqT7ECqeTE=",
"lastModified": 1756117388,
"narHash": "sha256-oRDel6pNl/T2tI+nc/USU9ZP9w08dxtl7hiZxa0C/Wc=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "c65d41d4f4e6ded6fdb9d508a73e2fe90e55cdf7",
"rev": "b2ae3204845f5f2f79b4703b441252d8ad2ecfd0",
"type": "github"
},
"original": {
@@ -760,11 +739,11 @@
]
},
"locked": {
"lastModified": 1751897909,
"narHash": "sha256-FnhBENxihITZldThvbO7883PdXC/2dzW4eiNvtoV5Ao=",
"lastModified": 1755184602,
"narHash": "sha256-RCBQN8xuADB0LEgaKbfRqwm6CdyopE1xIEhNc67FAbw=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "fcca0c61f988a9d092cbb33e906775014c61579d",
"rev": "b3b0f1f40ae09d4447c20608e5a4faf8bf3c492d",
"type": "github"
},
"original": {
@@ -851,11 +830,11 @@
]
},
"locked": {
"lastModified": 1754195341,
"narHash": "sha256-YL71IEf2OugH3gmAsxQox6BJI0KOcHKtW2QqT/+s2SA=",
"lastModified": 1757822619,
"narHash": "sha256-3HIpe3P2h1AUPYcAH9cjuX0tZOqJpX01c0iDwoUYNZ8=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "b7fcd4e26d67fca48e77de9b0d0f954b18ae9562",
"rev": "050a5feb5d1bb5b6e5fc04a7d3d816923a87c9ea",
"type": "github"
},
"original": {
@@ -921,11 +900,11 @@
]
},
"locked": {
"lastModified": 1754533101,
"narHash": "sha256-N9mbCFOyVZlaDKnJvVjAs4gsT2v+5VGdC9HfAaQPRfg=",
"lastModified": 1758073856,
"narHash": "sha256-o13f4LtQnjSrViwSY5Nk5kwLL7ZSzqCdJNBFlisLW68=",
"owner": "nix-community",
"repo": "nix-vscode-extensions",
"rev": "4ed9caa20949c32af9dc3955f8073ef1fc4d11c3",
"rev": "4f7718392a369fad610c36d792d26386166f67e3",
"type": "github"
},
"original": {
@@ -938,14 +917,14 @@
"inputs": {
"flake-compat": "flake-compat_4",
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs_4"
"nixpkgs": "nixpkgs_5"
},
"locked": {
"lastModified": 1754583575,
"narHash": "sha256-GLCNsMGuQQLq3B3+C+jEybyQCtV0xJytGjibNU3tg70=",
"lastModified": 1758071854,
"narHash": "sha256-j+WhSfu+/gehgfV3zCVV7Nt8DERdXm8e3TAJ9r9wUtA=",
"owner": "kaylorben",
"repo": "nixcord",
"rev": "e049d77a74b3360791800a1d50cbe9518d96b764",
"rev": "cebd8615c6e896b34083986eeee1a9b5c662689a",
"type": "github"
},
"original": {
@@ -956,11 +935,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1754564048,
"narHash": "sha256-dz303vGuzWjzOPOaYkS9xSW+B93PSAJxvBd6CambXVA=",
"lastModified": 1757943327,
"narHash": "sha256-w6cDExPBqbq7fTLo4dZ1ozDGeq3yV6dSN4n/sAaS6OM=",
"owner": "nixos",
"repo": "nixos-hardware",
"rev": "26ed7a0d4b8741fe1ef1ee6fa64453ca056ce113",
"rev": "67a709cfe5d0643dafd798b0b613ed579de8be05",
"type": "github"
},
"original": {
@@ -977,11 +956,11 @@
]
},
"locked": {
"lastModified": 1754326498,
"narHash": "sha256-3ynDaygIzQYlBZFHGDeQzXmPkX2ILeZ0wWJ84FR4g7E=",
"lastModified": 1757937573,
"narHash": "sha256-B+MT526k5th4x22h213/CgzdkKWIaeaa0+Y0uuCkH/I=",
"owner": "nix-community",
"repo": "nixos-wsl",
"rev": "ca55236cd9ef3cdea29b51a0b52a9402c60e9a27",
"rev": "134e117c969f42277f1c5e60c8fbcac103c2c454",
"type": "github"
},
"original": {
@@ -1026,16 +1005,16 @@
"inputs": {
"emacs": "emacs",
"infuse": "infuse",
"nixpkgs": "nixpkgs_7",
"nixpkgs": "nixpkgs_8",
"nixpkgs-fmt": "nixpkgs-fmt",
"parts": "parts"
},
"locked": {
"lastModified": 1754538427,
"narHash": "sha256-+RQcIYrQ9F3omqyaFu3DsVTD5Vpg9FtHrCZevFTzWDQ=",
"lastModified": 1758077890,
"narHash": "sha256-0vZDdgdF/CyjfpmXxLzJmj9p7uBnMCd4Ypaq0UeiN9c=",
"owner": "moni-dz",
"repo": "nixpkgs-f2k",
"rev": "b080a65296482b1c133139eea75aac2fc28cf188",
"rev": "53a0c297bd908bd7997b2d669182aedb9b9c4004",
"type": "github"
},
"original": {
@@ -1100,11 +1079,11 @@
},
"nixpkgs-lib_2": {
"locked": {
"lastModified": 1753579242,
"narHash": "sha256-zvaMGVn14/Zz8hnp4VWT9xVnhc8vuL3TStRqwk22biA=",
"lastModified": 1754788789,
"narHash": "sha256-x2rJ+Ovzq0sCMpgfgGaaqgBSwY+LST+WbZ6TytnT9Rk=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "0f36c44e01a6129be94e3ade315a5883f0228a6e",
"rev": "a73b9c743612e4244d865a2fdee11865283c04e6",
"type": "github"
},
"original": {
@@ -1145,6 +1124,22 @@
"type": "github"
}
},
"nixpkgs_10": {
"locked": {
"lastModified": 1757746433,
"narHash": "sha256-fEvTiU4s9lWgW7mYEU/1QUPirgkn+odUBTaindgiziY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6d7ec06d6868ac6d94c371458fc2391ded9ff13d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1748189127,
@@ -1160,11 +1155,24 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1753939845,
"narHash": "sha256-K2ViRJfdVGE8tpJejs8Qpvvejks1+A4GQej/lBk5y7I=",
"lastModified": 1755972213,
"narHash": "sha256-VYK7aDAv8H1enXn1ECRHmGbeY6RqLnNwUJkOwloIsko=",
"rev": "73e96df7cff5783f45e21342a75a1540c4eddce4",
"type": "tarball",
"url": "https://releases.nixos.org/nixos/unstable-small/nixos-25.11pre850642.73e96df7cff5/nixexprs.tar.xz"
},
"original": {
"type": "tarball",
"url": "https://channels.nixos.org/nixos-unstable-small/nixexprs.tar.xz"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1757487488,
"narHash": "sha256-zwE/e7CuPJUWKdvvTCB7iunV4E/+G0lKfv4kk/5Izdg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "94def634a20494ee057c76998843c015909d6311",
"rev": "ab0f3607a6c7486ea22229b92ed2d355f1482ee0",
"type": "github"
},
"original": {
@@ -1174,7 +1182,7 @@
"type": "github"
}
},
"nixpkgs_4": {
"nixpkgs_5": {
"locked": {
"lastModified": 1754028485,
"narHash": "sha256-IiiXB3BDTi6UqzAZcf2S797hWEPCRZOwyNThJIYhUfk=",
@@ -1190,33 +1198,17 @@
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1754498491,
"narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c2ae88e026f9525daf89587f3cbee584b92b6134",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_6": {
"locked": {
"lastModified": 1754214453,
"narHash": "sha256-Q/I2xJn/j1wpkGhWkQnm20nShYnG7TI99foDBpXm1SY=",
"owner": "NixOS",
"lastModified": 1757745802,
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5b09dc45f24cf32316283e62aec81ffee3c3e376",
"rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1",
"type": "github"
},
"original": {
"owner": "NixOS",
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
@@ -1224,11 +1216,27 @@
},
"nixpkgs_7": {
"locked": {
"lastModified": 1754535410,
"narHash": "sha256-zAkPxVZ90Yb/qerKzk3gsO3igOTaPE0558jDrqmaaSM=",
"lastModified": 1757745802,
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ff774a42892b6893e786761060ea3f2d1bf2d7e5",
"rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_8": {
"locked": {
"lastModified": 1758077456,
"narHash": "sha256-BdoMXWGHPmciPf4pt0mVoHYV5s2DaHl+o/qW4g8SMHY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "789dbebe144b5f7d29197d27de9a01125ffb2e4b",
"type": "github"
},
"original": {
@@ -1238,13 +1246,13 @@
"type": "github"
}
},
"nixpkgs_8": {
"nixpkgs_9": {
"locked": {
"lastModified": 1754498491,
"narHash": "sha256-erbiH2agUTD0Z30xcVSFcDHzkRvkRXOQ3lb887bcVrs=",
"lastModified": 1757745802,
"narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c2ae88e026f9525daf89587f3cbee584b92b6134",
"rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1",
"type": "github"
},
"original": {
@@ -1254,22 +1262,6 @@
"type": "github"
}
},
"nixpkgs_9": {
"locked": {
"lastModified": 1744868846,
"narHash": "sha256-5RJTdUHDmj12Qsv7XOhuospjAjATNiTMElplWnJE9Hs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ebe4301cbd8f81c4f8d3244b3632338bbeb6d49c",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nmd": {
"flake": false,
"locked": {
@@ -1327,14 +1319,14 @@
"nur": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": "nixpkgs_8"
"nixpkgs": "nixpkgs_9"
},
"locked": {
"lastModified": 1754591155,
"narHash": "sha256-nxPdbZ79nVMaIJyIIrSxzijKQmYLDXU/YzRVHbLNkdY=",
"lastModified": 1758109308,
"narHash": "sha256-4AdIQNIxQkOjeOZ0ALsM6f2PA/vDG2rUVqhEGWpZFEE=",
"owner": "nix-community",
"repo": "nur",
"rev": "24300e18c5dbd2c2f99e26060af5a1bfced524bd",
"rev": "1db115a421a7cf95bd700b49482b63dcf9d9e80e",
"type": "github"
},
"original": {
@@ -1348,11 +1340,11 @@
"nixpkgs-lib": "nixpkgs-lib_2"
},
"locked": {
"lastModified": 1754487366,
"narHash": "sha256-pHYj8gUBapuUzKV/kN/tR3Zvqc7o6gdFB9XKXIp1SQ8=",
"lastModified": 1756770412,
"narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "af66ad14b28a127c5c0f3bbb298218fc63528a18",
"rev": "4524271976b625a4a605beefd893f270620fd751",
"type": "github"
},
"original": {
@@ -1371,11 +1363,11 @@
]
},
"locked": {
"lastModified": 1750779888,
"narHash": "sha256-wibppH3g/E2lxU43ZQHC5yA/7kIKLGxVEnsnVK1BtRg=",
"lastModified": 1757588530,
"narHash": "sha256-tJ7A8mID3ct69n9WCvZ3PzIIl3rXTdptn/lZmqSS95U=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "16ec914f6fb6f599ce988427d9d94efddf25fe6d",
"rev": "b084b2c2b6bc23e83bbfe583b03664eb0b18c411",
"type": "github"
},
"original": {
@@ -1401,7 +1393,7 @@
"nixcord": "nixcord",
"nixos-hardware": "nixos-hardware",
"nixos-wsl": "nixos-wsl",
"nixpkgs": "nixpkgs_5",
"nixpkgs": "nixpkgs_6",
"nixpkgs-f2k": "nixpkgs-f2k",
"nixpkgs-stable": "nixpkgs-stable_2",
"nur": "nur",
@@ -1470,14 +1462,14 @@
},
"sops-nix": {
"inputs": {
"nixpkgs": "nixpkgs_9"
"nixpkgs": "nixpkgs_10"
},
"locked": {
"lastModified": 1754328224,
"narHash": "sha256-glPK8DF329/dXtosV7YSzRlF4n35WDjaVwdOMEoEXHA=",
"lastModified": 1758007585,
"narHash": "sha256-HYnwlbY6RE5xVd5rh0bYw77pnD8lOgbT4mlrfjgNZ0c=",
"owner": "Mic92",
"repo": "sops-nix",
"rev": "49021900e69812ba7ddb9e40f9170218a7eca9f4",
"rev": "f77d4cfa075c3de66fc9976b80e0c4fc69e2c139",
"type": "github"
},
"original": {
@@ -1568,11 +1560,11 @@
]
},
"locked": {
"lastModified": 1751654356,
"narHash": "sha256-aUOqFgsEQu/g39uiVr8lCP0OyOJZiknCfVG0fq4T2qo=",
"lastModified": 1756904097,
"narHash": "sha256-niQjPQi2tdbKHtWuEe5dRiB+wXcXu/qlEbRzgsBbxtE=",
"owner": "tuxdotrs",
"repo": "tawm",
"rev": "cd71983294937a300f9a1132277c83e72ac5508a",
"rev": "1424e3718d9298addb30664dbc23dbd932fa44d6",
"type": "github"
},
"original": {
@@ -1608,11 +1600,11 @@
]
},
"locked": {
"lastModified": 1754659207,
"narHash": "sha256-xB9EsKSZ+RvSdg4TYl6jqKvUfcvoxjGTU1s3nfl2p4A=",
"lastModified": 1759575396,
"narHash": "sha256-wFybL+I7KyCsb8g9PvJVmLAiIgFocCbYcH0z4B4V/JM=",
"owner": "tuxdotrs",
"repo": "tnvim",
"rev": "32befeaebe16f01af913fa1b4f2d91f69e1c492b",
"rev": "13801bd8608abc9903fadcc240b143007d51dc32",
"type": "github"
},
"original": {
@@ -1624,17 +1616,16 @@
"tpanel": {
"inputs": {
"ags": "ags",
"astal": "astal_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1754642875,
"narHash": "sha256-BdLzQs/SAgHOjTWYkT7slWJA/cHyRkkbJMsao8MjKGY=",
"lastModified": 1759787748,
"narHash": "sha256-88M9+hiXY+C+C9xVLOWcRw1lbuv9bogltFQpYDnHDGo=",
"owner": "tuxdotrs",
"repo": "tpanel",
"rev": "6437cad6202b9398babc1dab8b74bc6217d35b7f",
"rev": "98203af3e4a034501f0f8dfa7218cfe8a0371e4f",
"type": "github"
},
"original": {
@@ -1695,11 +1686,11 @@
},
"locked": {
"dir": "nix",
"lastModified": 1753901871,
"narHash": "sha256-l/ZFg1KW506CvkQKstNkEHnfY7p9aX5q4L6rFmxiKbo=",
"lastModified": 1757426712,
"narHash": "sha256-z+jxV8FrUqmCS+aa3R38frr5dOVdA85P8SPIM7AkuMs=",
"owner": "wez",
"repo": "wezterm",
"rev": "6a493f88fab06a792308e0c704790390fd3c6232",
"rev": "bf9a2aeebacec19fd07b55234d626f006b22d369",
"type": "github"
},
"original": {
@@ -1738,11 +1729,11 @@
]
},
"locked": {
"lastModified": 1753633878,
"narHash": "sha256-js2sLRtsOUA/aT10OCDaTjO80yplqwOIaLUqEe0nMx0=",
"lastModified": 1755354946,
"narHash": "sha256-zdov5f/GcoLQc9qYIS1dUTqtJMeDqmBmo59PAxze6e4=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "371b96bd11ad2006ed4f21229dbd1be69bed3e8a",
"rev": "a10726d6a8d0ef1a0c645378f983b6278c42eaa0",
"type": "github"
},
"original": {
@@ -1799,27 +1790,20 @@
},
"zon2nix": {
"inputs": {
"flake-utils": [
"ghostty",
"flake-utils"
],
"nixpkgs": [
"ghostty",
"nixpkgs"
]
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1742104771,
"narHash": "sha256-LhidlyEA9MP8jGe1rEnyjGFCzLLgCdDpYeWggibayr0=",
"lastModified": 1757167408,
"narHash": "sha256-4XyJ6fmKd9wgJ7vHUQuULYy5ps2gUgkkDk/PrJb2OPY=",
"owner": "jcollie",
"repo": "zon2nix",
"rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
"rev": "dc78177e2ad28d5a407c9e783ee781bd559d7dd5",
"type": "github"
},
"original": {
"owner": "jcollie",
"repo": "zon2nix",
"rev": "56c159be489cc6c0e73c3930bd908ddc6fe89613",
"rev": "dc78177e2ad28d5a407c9e783ee781bd559d7dd5",
"type": "github"
}
}

View File

@@ -35,6 +35,11 @@
sopsFile = ./secrets.yaml;
owner = "${username}";
};
open_router_api_key = {
sopsFile = ./secrets.yaml;
owner = "${username}";
};
};
networking = {
@@ -45,7 +50,14 @@
};
firewall = {
enable = true;
allowedTCPPorts = [80 443 22 3000 6666 8081];
allowedTCPPorts = [
80
443
22
3000
6666
8081
];
# Facilitate firewall punching
allowedUDPPorts = [41641];
@@ -130,7 +142,7 @@
loader = {
systemd-boot = {
enable = true;
configurationLimit = 5;
configurationLimit = 10;
};
efi.canTouchEfiVariables = true;
timeout = 1;
@@ -174,7 +186,10 @@
file-roller.enable = true;
thunar = {
enable = true;
plugins = with pkgs.xfce; [thunar-archive-plugin thunar-volman];
plugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
];
};
nix-ld = {
enable = true;
@@ -185,6 +200,8 @@
};
services = {
fwupd.enable = true;
fstrim.enable = true;
resolved.enable = true;
flatpak.enable = true;
@@ -197,9 +214,11 @@
};
logind = {
extraConfig = "HandlePowerKey=suspend";
lidSwitch = "suspend";
lidSwitchExternalPower = "suspend";
settings.Login = {
HandlePowerKey = "suspend";
HanldeLidSwitch = "suspend";
HandleLidSwitchExternalPower = "suspend";
};
};
xrdp = {
@@ -225,6 +244,7 @@
};
libinput.touchpad.naturalScrolling = true;
libinput.mouse.accelProfile = "flat";
# To use Auto-cpufreq we need to
# disable TLP because it's enabled by nixos-hardware
@@ -271,26 +291,31 @@
enableUserService = true;
asusdConfig.text = ''
(
charge_control_end_threshold: 100,
panel_od: false,
mini_led_mode: false,
charge_control_end_threshold: 80,
disable_nvidia_powerd_on_battery: true,
ac_command: "",
bat_command: "",
platform_policy_on_battery: Quiet,
platform_policy_on_ac: Quiet,
ppt_pl1_spl: None,
ppt_pl2_sppt: None,
ppt_fppt: None,
ppt_apu_sppt: None,
ppt_platform_sppt: None,
nv_dynamic_boost: None,
nv_temp_target: None,
platform_profile_linked_epp: true,
platform_profile_on_battery: Quiet,
platform_profile_on_ac: Performance,
change_platform_profile_on_battery: true,
change_platform_profile_on_ac: true,
profile_quiet_epp: Power,
profile_balanced_epp: BalancePower,
profile_custom_epp: Performance,
profile_performance_epp: Performance,
ac_profile_tunings: {},
dc_profile_tunings: {},
armoury_settings: {},
)
'';
profileConfig.text = ''
(
active_profile: Balanced,
active_profile: Quiet,
)
'';
fanCurvesConfig.text = ''
@@ -301,13 +326,13 @@
fan: CPU,
pwm: (2, 22, 45, 68, 91, 153, 153, 153),
temp: (55, 62, 66, 70, 74, 78, 78, 78),
enabled: true,
enabled: false,
),
(
fan: GPU,
pwm: (2, 25, 48, 71, 94, 165, 165, 165)
pwm: (2, 25, 48, 71, 94, 165, 165, 165),
temp: (55, 62, 66, 70, 74, 78, 78, 78),
enabled: true,
enabled: false,
),
],
performance: [
@@ -315,19 +340,19 @@
fan: CPU,
pwm: (35, 68, 79, 91, 114, 175, 175, 175),
temp: (58, 62, 66, 70, 74, 78, 78, 78),
enabled: true,
enabled: false,
),
(
fan: GPU,
pwm: (35, 71, 84, 94, 119, 188, 188, 188),
temp: (58, 62, 66, 70, 74, 78, 78, 78),
enabled: true,
enabled: false,
),
],
quiet: [
(
fan: CPU,
pwm: (2, 12, 25, 35, 48, 61, 84, 90),
pwm: (2, 12, 22, 35, 45, 58, 79, 79),
temp: (55, 62, 66, 70, 74, 78, 82, 82),
enabled: true,
),
@@ -361,6 +386,7 @@
fonts.packages = with pkgs.nerd-fonts; [
fira-code
jetbrains-mono
bigblue-terminal
];
programs.fuse.userAllowOther = true;
@@ -374,10 +400,12 @@
"/var/lib/nixos"
"/var/lib/docker"
"/var/lib/waydroid"
"/var/lib/iwd"
"/etc/NetworkManager/system-connections"
];
files = [
# "/etc/machine-id"
"/etc/ly/save.ini"
"/etc/ssh/ssh_host_ed25519_key"
"/etc/ssh/ssh_host_ed25519_key.pub"
"/etc/ssh/ssh_host_rsa_key"

View File

@@ -7,13 +7,25 @@
partitions = {
# EFI Partition
ESP = {
size = "512M";
size = "1G";
type = "EF00";
content = {
type = "filesystem";
format = "vfat";
mountpoint = "/boot";
mountOptions = ["defaults" "umask=0077"];
mountOptions = [
"defaults"
"umask=0077"
];
};
};
# Swap Partition
swap = {
size = "32G";
content = {
type = "swap";
discardPolicy = "both";
resumeDevice = true; # Enable hibernation
};
};
# Btrfs Root Partition
@@ -24,11 +36,19 @@
type = "btrfs";
subvolumes = {
"/root" = {
mountOptions = ["compress=zstd"]; # Compression for better performance
mountOptions = [
"compress=zstd"
"noatime"
"space_cache=v2"
]; # Compression for better performance
mountpoint = "/"; # Root subvolume
};
"/persist" = {
mountOptions = ["compress=zstd"]; # Compression for persistent data
mountOptions = [
"compress=zstd"
"noatime"
"space_cache=v2"
]; # Compression for persistent data
mountpoint = "/persist"; # Persistent subvolume
};
"/nix" = {
@@ -36,6 +56,7 @@
"compress=zstd"
"noatime"
"noacl"
"space_cache=v2"
]; # Optimize for Nix store
mountpoint = "/nix"; # Nix subvolume
};

View File

@@ -15,12 +15,14 @@
../../modules/home/firefox
../../modules/home/brave
../../modules/home/vs-code
../../modules/home/zed
../../modules/home/mopidy
../../modules/home/thunderbird
../../modules/home/easyeffects
../../modules/home/discord
../../modules/home/kdeconnect
../../modules/home/obs-studio
../../modules/home/spotify
];
home.pointerCursor = {
@@ -28,10 +30,14 @@
name = "Bibata-Modern-Ice";
};
qt.enable = true;
qt.platformTheme.name = "gtk";
qt.style.name = "adwaita-dark";
qt.style.package = pkgs.adwaita-qt;
qt = {
enable = true;
platformTheme.name = "gtk";
style = {
name = "adwaita-dark";
package = pkgs.adwaita-qt;
};
};
gtk = {
enable = true;
@@ -48,6 +54,11 @@
services.flameshot = {
enable = true;
package = pkgs.flameshot.override {enableWlrSupport = true;};
settings = {
General = {
useGrimAdapter = true;
};
};
};
home.packages = with pkgs; [
@@ -58,12 +69,16 @@
stable.beekeeper-studio
libreoffice-qt
spotify
stremio
# @TODO Enable when qt5 webengine patched
# https://github.com/NixOS/nixpkgs/blob/b599843bad24621dcaa5ab60dac98f9b0eb1cabe/pkgs/development/libraries/qt-5/modules/qtwebengine.nix#L466
# stremio
galaxy-buds-client
copyq
vlc
tor-browser
distrobox
bluetui
impala
];
home.persistence."/persist/home/${username}" = {
@@ -81,6 +96,7 @@
".wakatime"
".rustup"
".cargo"
".cache/spotify-player"
".config/BraveSoftware"
".config/copyq"
".config/discord"
@@ -89,15 +105,15 @@
".config/sops"
".config/obs-studio"
".config/rustdesk"
".config/spotify"
".config/kdeconnect"
".local/share/nvim"
".local/share/opencode"
".local/share/zsh"
".local/share/zoxide"
".local/share/Smart\ Code\ ltd"
".local/share/GalaxyBudsClient"
".local/share/TelegramDesktop"
".local/state/lazygit"
".cache/spotify"
];
files = [
".wakatime.cfg"

View File

@@ -1,26 +1,27 @@
hyperbolic_api_key: ENC[AES256_GCM,data:FjDSbdutLa9hnVGRR+k2MznVfDGAx1/rNfjY/vaBuvKoBRj7aHqGpQ1cvhfxjyLMqPLqLnmimEtZeykvgkIIjKGzw5PewE23+lrN3oQyoYJvK+b8PRStjSaxOfzOnuLXi+YVnsU939nStLwnmSYKDabNWgFcWYsHwtHDafuWyovM9sVwasTn,iv:bxseG6GLKBL/CJOS8SrhgiLEyvMGSNQIMJSYLk2MqEo=,tag:4wxmkUwlcu23d7pMHbvIoQ==,type:str]
gemini_api_key: ENC[AES256_GCM,data:HiseQDB9nJBynCvdqLx0NcJZHB71uEvBlA3l/Lw2EMHFUXSHqPoS,iv:4C5EGUdfwxhT6ExDYNcbc+MFE+rGvLRsZjbo9L/o/Eo=,tag:hvaODOzhFoywgsXZSQKeKA==,type:str]
hyperbolic_api_key: ENC[AES256_GCM,data:WGvF0PPbMd7zWiO8GfmgluV7dW+ZpzLMO31uI5xo+nekvTBkXiAuHFDK/SXKEUFDMEboNkA/a6JUNsCRhuA4N7qhIZgyQ2bc1iafsj7c4F4X/py63Z4bMx8+byScOSoW+RKAvSFOLDGXQ4s9dKc3XNW7G15QyzTRYUFDbXxsSQ6n6DMJk4jr,iv:o+Shbpl3tXmefpdQB5sod3bNQHHsBnEEP0Bk3C1H5Yo=,tag:fi+7K3nAjVoavqy2Mt8W3Q==,type:str]
gemini_api_key: ENC[AES256_GCM,data:ToQn6NiBpebcSPIHbnAyTJm092Xv24pb7Q09hW/Qb0qZC0ORJGG5,iv:/VIw5hTKlZLaWYdEyaEvIv/ZPTBhq5OkguPL6wFs8A8=,tag:44tNJTBeHYW1ug+z+yKTrw==,type:str]
open_router_api_key: ENC[AES256_GCM,data:QLXIEqsUe8HQobJMvqh8fZi7azXjnz7B524kDPWB8Dk5tAv6EVvM0KHAa6aTGmeMB8LJiUPcLmPU0ifU07s2OyB3Q9w+IFvlfQ==,iv:pBr8SJG8FHP1oYrXrHG0gRMPfdXXoBNPGcYEXF3IJGg=,tag:Yf2FuncT3/9pcBIEN+irGQ==,type:str]
sops:
age:
- recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwUnhkNzR0TnNzL29xV3cv
R3lqYUtVWWlNOVFTZHhTMWJZL1ZJUDIxaG0wCnIvQnkxSWJxWTZYVEkvS1ZWSEhk
YmhuK2JtS3lmUjV6MW50SGZrTnpkeDAKLS0tIDkvbk5abnhkNlA0dmgwV0Z0L1BS
UUduZUV3OGcvaFdBOFFsc0xzVCtQcUUKrmZvR2onMD0snqPw8okxaK6Tz5sA/cmR
1ZczgwLslJA7kwGKYOslUGA7aGB4jyP+M74wBAVa71BqWatypp0RfA==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAwZ1V0UE0vT3FoZDhKYXBi
ODRvNGRmZzZQY2t0VDNYTzgzUW5TMlFRQzBnCm9sZEJ1WmY0QU1KR1AwS3R0NXlh
cHhYNjA2TWM3Z1JZM2E1UHluNzdBYXcKLS0tIFRwQm10VlJEUVFyemRGYXpUNHhq
eWNJdzc2dlNlR1N1THAzSVlDNEZZMUUK7kacPvAuwbl0hggMuKJS/hjy0j+i1Oeh
tw7bdZ6do30sf9uY8TWDCeOiK1uOJGATLcDd14VhHl968By8n/5pDw==
-----END AGE ENCRYPTED FILE-----
- recipient: age1udt3cssu7ahdrhsvckt8450rswrr6mknn36xpq74dkfp9lpajvnq84kdzj
- recipient: age1x36yr8h993srfj29sfpzt4wyz52nztvncpmhgmfs0j26qvfecq3qvcm0an
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBEOE0xbDN0UmdVdE1DR1lo
dmNudDk2TjNQdHFGc0lJTSt0dVVRU3BPRlg0ClV1ZUdxRVNpSmhYQm80QjdhdFc5
SVI4bi93WDBDWHQvejJIV21Bc2NsMjgKLS0tIEduZ2hHSnI3UXlGU2ZFZkpTRDJo
K0tiZ0swMmpuVW02OHMrRThlOXBWUjQKYHyJZuvQABh+gJ+THQ5SakVEqsKkyBMb
k6KnjRATpdZlmm0GjbD4aasF/j/V2fuH327Z72jPWQuI1y5ZfbDhSg==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByZk42NzVUMXV0ZDVWR3Q2
N3NUN1B3blNZS1lKbEU1VmhaTDVOMmFESm1FCi9VeEFXVkRjUnFxYUxERUg0ODY4
eFhFMXhOek1wWTRwOEd6Zk82Sm9VM0UKLS0tIGVBMHpQSWJzMVUxU09XeS8yVXFW
UVM3a1VIMWZGRGNxaUNwbStKekd4N28KvouH73cSd9xMUzDX3ib5tsR8deXGaGTB
N36MxnZcv9AhX7YErc18OkUv+lHZf2MoJ+x5+XOMCjhlUOlvqcBrAg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-08-08T13:20:36Z"
mac: ENC[AES256_GCM,data:WvY1VWONZarkRNjArqa2ASPLLRsUgOxA+QX2YPcUPvoAdpwuFS9Fs2kIaU61lOKQLKDwcR3XvtB2BhnwhUltF0OPSNY3651fc/HFQx3eIJaSAL8Qqa8OywCe897fcrNyvHROhi/h4HX6RI+NakTR1UVS8fR769IIkafE/Zbbn+8=,iv:wAg/ea6ScBK7kPYKjgfMMtACCxIh5agNIqv42iCwycg=,tag:tsWH1E+ulsLquT1TqtmN0A==,type:str]
lastmodified: "2025-10-10T10:15:15Z"
mac: ENC[AES256_GCM,data:ZkWoHKbfC9xqShgOy3KCDPzziQq6hHc6h/o+3MGd31juW2OLlkk4skyxF/u5Eoq6hAeMU27mKu3TnyvCQA3gv1trP5CObs5Cc/Rp8odN+B6549Ec5ljojQbmwwsTti3vo6CbbZXjBZyy6WzJqKWm6yotzp3AFC0CMe+GhsmKY30=,iv:JWWwy5mYdLOHQQ0f2mtRiAkG1LF0ckIe8ndrZfXuZ7Y=,tag:b3DCwgBBBmcJAEnL2qOH5g==,type:str]
unencrypted_suffix: _unencrypted
version: 3.10.2

View File

@@ -1,79 +1,79 @@
tux-password: ENC[AES256_GCM,data:ysw9mJef/l7WdXP9cCSM88GX019UMr8od80rSwZBftN8tWDGPe0/mdRmePXxaEY9yEXhvRON/4IaFIPVQ3VnbExcGrnbV5+u9A==,iv:P+BnLLJs7ePJvsBHgsaISvjy33KtLFQENS+YB2eroGI=,tag:D4dTQXzmBkeCkdFu2Ozlcg==,type:str]
tux-password: ENC[AES256_GCM,data:68ZXKJMBBLV1mkNP9LFf+xC5arsARqKPFQAtmfag3ftip1suuZ1FmQICqsuCqXgGuwcSfH4ACkuiQ769u4aI7+jPxs0A62hFig==,iv:Yx9EfqChjBtgxxkWmayfKWoE498w4wUYoS353cMUMsI=,tag:Zr3KuIiXsi2VahRZ7Ncpig==,type:str]
sops:
age:
- recipient: age14vktfes95f33vuefwnmuvryas7az04u76dsgyhfvsx73czkvmp2q7njkl4
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSByVkUyUU8wbXNqY0JVb2RD
N3NiNXJ3Tzc0bjU2QnJrbDcxTDVQeUJUYVhFCnNud3lXWmh5azByaEk0dkIyT1dP
V0NKMzlpdTZaM2JpTyt4L1V1M2l1MGsKLS0tIDlzbjVHNUw4ci9mZ0tBaVhSNjJS
MFdDa3hHMTlmU05TN2UxY3dhdGVFdU0KQ+hjPwBpv8g3x/N+Yd4kwUtiIxXDcZRx
EFjLnDiOA5gkZqXCo05E1lXJN17wU59pYs1+1pfBYbGKc2oV+3oquw==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWblJrWjErZC81d1IzTHV6
ZUkwTEhRdVdTTlJQb1pocnpnSkdZSWNTelVFCkJLR3VwT2dwM3IydCtkZ24yLzVF
ei9xMG51djNldnZkSnVqeEtsVFNSMkEKLS0tIGNEdi9OV0ZjVW93SUUyVURpT2tR
U3ZybTNac1JvVW9zTy9ocE5FUkpQTjAK2lAp5MC3B779uSWaOOxbnfdAa9xYDCL2
TloXlxfuYKe0j9Z2TIlYOa6z+/m8upOpE42Ux0qjZprE1LBq3g5uMA==
-----END AGE ENCRYPTED FILE-----
- recipient: age1f860dfewlx5jtt9ejr47gywx70p3dmyc8mat29gpr75psljwjv8q5xyxkq
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBqM1Z4MlNwY1VxdXF6RG1P
cWQ0S0hMOWh0aUUrdVF5VDVWZVNDYi82NERjCmZFSEdyNXNLMXBHeUp4NUNpZnp4
UEVWZEJhZC9YSzgzb1VVMDNsdUk2K00KLS0tIGpqaS92NmJzVXRRb09SSGhJYTlE
ZmpXd09Eam5EN1ExZFdYVXUxUEp5S0UKWZG87YOWIZR/eIFRjyZt4Jf8St+NEk/L
obwyOlDnRJ9wI30g9VXMoYTUdZcebY6t6tmRvIKL4pbadua2JXwamg==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBoZGdNSG5ER0JxbWhNanJU
WGlCZlIyT3JLWnFkSnBaakkyMXZBU0o0cjFVCml5VDB2d2dJTGkvVDh5M1NweXl1
ajl3R2RUWmtwWU5RUlpsVFIvM3R0cUUKLS0tIFNkbmtrRGdrcUFibDlldncrbjg2
TWJ1UFh5RnI2VDRocnZ0VVNmd2JRSVEKmqNV4dADO9ZxTjlDgMC5fNdioJrO6vrN
vTg3lTrwOTZ/TCg9PS2T5QEX9fZh2UthCEisPO7p1Q81Gyk7ySg2ow==
-----END AGE ENCRYPTED FILE-----
- recipient: age1udt3cssu7ahdrhsvckt8450rswrr6mknn36xpq74dkfp9lpajvnq84kdzj
- recipient: age1x36yr8h993srfj29sfpzt4wyz52nztvncpmhgmfs0j26qvfecq3qvcm0an
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQelFwUGIzc1RuVFpGYzd6
cjZOM3FGUDlPVTVuRkxqalEwamhlVjNFdVVBCjBiWFN0RVArYWNoL2ZuYXhSN0Y0
eTFEWFdYUFJVWU53cmNURS9jNEJTSDgKLS0tIHd3SFlISGdVSTBJSmd3UUp0VVBE
MCt6ZnMzRDNEK3I3ZXFucjRXRDJ3Wm8KltIXRrGVkr3AOvQ44/nlsqmGW6s/hlHF
84elOBidwgb95RIhetUppD6jUJz2p0GHIsIvEc9AuZRbPkntmVjHkA==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYZWRuaHIvT3BSZ2M0OUla
YWhSa2Q5SDJNbkRLQUZxaVFISmJENTIxc0hrCjlKTVBCK2g2WWNNNlNJQ25sMjVY
TURsSkNsbTQwRGlyU3NySis5azNvTVUKLS0tIGZHUEh3NHMyVXN5T0pXOWpOT1JP
UmZSM1J0elprbVBUZzU5QjVLRnVxNWsKFVdUQcKiHaSDR2+GqafXvoRQ0yyiKMcy
/UP/yCMoNUYIpiv4ocRhtDj4QrrO6NdJJTUifMkB9I1B6R7B7NG/gw==
-----END AGE ENCRYPTED FILE-----
- recipient: age1jg642q775gmnmxeu29gcf3lph8vem4xr8t84cxe809dpd0myrussh49h60
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxQXR2QVJCSk92WGF1dGxK
K0o3V3dPTS9ZZHBDUEcrVWxKMzZpem5uL0VFCnB2c2hIcmxQTWdmTHhnVFhLQXhT
b3V4Y01JSUdYMThqNy8zVEI4QXc3SmcKLS0tIDBuekhnaWRGUVF4a0tseUQxZW55
L1VsWHljZ3VaMjNkbHhhYlVTU0dTL1UKXe4osbjCyMzBuJoD8bnhnAJSmaeOmtpr
Gee9MSubfgxXKN+GNOjMF0DBB3SDlJTXjF7LpqqkiSbg0Jy4W6b+mA==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNeEpwakIyMkRYN1c0bUNy
eDFpUGlkTW02NWE1VlYxYnNsQTJ1NHIyWVY4ClI3VHlSWW1IK3I3SHY5YXN5S09q
OU5aSXVXU0FVU1VrNGlCTzFKWm95ZkkKLS0tIGV0Sy9LYlBuTm4xa2Zkc3JoaWo0
ZXllYnMwaXBXTW5vVVhoNXVFcEwvdlEKbuiT2/Isi3nsx/r3whpX6RiLEtsLMm6f
2A3bKpz1+MUupE6umEIBCXc+k58W6VhBkdrMxGtxZt1ZeA8ftz4bVA==
-----END AGE ENCRYPTED FILE-----
- recipient: age1zsl5d4vj6gl3h96y5p53sq5y4vr4vtlwp727h7rp9a4xfkxm53lqrh6r50
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmT3hudFJ5QTVLbHh1Zjg3
elA1VEw4TzdhNTJqSVk3MWdwUnhUZ0V3ZmgwCkdOKzJ4RlVuR1VJL0NhbTc0SnZY
MlFrbnhuN1UwYmE2ZlhpWnZVTWc4RncKLS0tIFdLT2k3dWdwQXJlSHQxWWJUd3Yx
UHJ1aDhWVXprMUcyVHQxTlJEV21MMjQKveI0EjbGWwsBlIzHUIvjrTM5G7ZtulM/
AuhqsH3qkDU4L3FdkVR5oG8yaCDbBxLDFhCDnXAGKrGCwOr1KB5hmQ==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnbFUwbXoyUnZGMElMdldX
UkJseC9XWEU3Vks2eGdYbHFjUjZMUVVGbkY0ClNIWFMvWEl1eDRncEt1dy9iVS81
ZE1rN25lR0w0Wno2OHZDZTRhSTVXVDgKLS0tIG9jNmFkdGxoRmRCT1RJQjVlOUJa
R0kxbllzMXZML1J6MitXSGhSTkF0MEkK8g7s87t956UTDtQO+IUEXe2B6WNM+KfH
aRobwCjvXcv5I8G+gkNll23MYlLMBRZ1qkeq24R0xA7cMYXj5APUsA==
-----END AGE ENCRYPTED FILE-----
- recipient: age1zujp5gxy7suv8ysnygv43cmzuvv36nxfg0ch7r3xg2emc6fz3vmqqujheq
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBkZlhyVVh6K2tvd2ZGODhY
ODRLbFFiYmlPM3F5L3VwNS9EVGtuSWQ1VHlvCk1GTWlRUk9WVURWOEdBVlVHb1Rw
c09EYlhFWFZHQmV3MUU5eU1ZYVE2MlEKLS0tIEFMV1FDTnBNMTEvTWREY3VFZjJ6
QVV5U3dvTDFBT2s4bTQ1SXQ4U2RaYnMKs8q7OeaK188bTvVmAia0oF5SnpMOPKTd
V31tngEgvmI7MxH9BrgjWneJye91Q/hCED0/aK0AuXIRapWgi1hGlA==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0bTBEck44R2ZxS0M3Ris1
VllxeEgyTjRWcHp3RUdpMytFQ0podkxXT1JrCi9VU2U2SHFrd1dPb3RESkQ4OGhi
RjZVVTZWQUVXSUxqaG5KVkJxQ0RCQncKLS0tIDJiVGpIU0NjelVCZkloOGhxQTdV
eHlaVm9iUFk2YThXZnU5SVpHUVVHbkEKcmUvbINRqmkkvXyyskNJ4eYD7VdQnxqg
7VuWV7zUK5ZVPv9kJiUl3OB3vNU8U15sNIdAjCp8//RtNkRyDJMgEQ==
-----END AGE ENCRYPTED FILE-----
- recipient: age1ydkclhk9kwqdq74utesqdfupt43lz64d5k65gz2z9uyljcqq9fcq3hv28l
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBESVVPNGpGYnB0aFAzYnF3
aUhkZkI1a2dWd2txSm9aWnpOKzBPdzg0VGdzCkJkeDJlZDdSZUVGTHVwQ2M2UjBj
MjRnM2lNMWNVNFF1bTA0NGI3SGNPdFUKLS0tIGV6UkRQUWFYWjBrMzhhTmd4QlBV
RTkvRVBSeUFUVXpyVHhHTFpZNzR3NlkKOksXAReInUnFJPuFsfu08MRQoA5J0j/H
3cUt2jBIheWXBtg1Plz9UcXdjPaUEROadFcRveiGBaBEVz0LyBs8WA==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjVjU1Vy9tMkp5MS96Si9v
bnB4OHpzdktPeStYZHFZTXVmSWphMkxFQkRZCjEvTEpZY1I4TWNlM0c4Wi9nUVhx
dktvOXdXQ0M1YzhVU3BlOUZ4Tjkrd28KLS0tIC9NT0NKZTd0VUVUQTB6UHhDSVVw
eFM1Q1JOVXZoSXltRVZpaTNTUWhNa3MKFoY5bWWQS9qh0j8sgIgRA4jT6sl0xRkC
Tu0WUz344TzkJFuy7MgOpviQMqAijmbyYjaRSdS3CLGHvTKY8GcpOA==
-----END AGE ENCRYPTED FILE-----
- recipient: age1y4luzn2jls7rvgphej23srvdlx563lxq29tvf66vhwwzaf7c3f3qzvresh
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0UVY1a1JFRTBZalRDeFll
aHVNTnQ0MEtpN0pObnhaMlYwaXp2b2tKM2gwCmIrL2dzb0xGR0NCZzFIL0o2SS8w
YnE2OE9rZFFWakgrYkNVcFpjUXJpbXMKLS0tIE9rZEoxNjdJbG9adVAydk1DVnhK
WGhPaC96dk9qUzNxT1hadTZZSGZKQ28KiNhLhLaUSTVltWzyYHWLk6M8M3lxgvHj
rPgFNVEcpVKN9f2v4N+XJipDaVgnP1YwwIlT0XSRQNrGWcO2JL6nmg==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSYlpXRGNpQVZTQ3hZK2lr
L2xodmhycTlRczN1c2Zib3RoeGlxQTAwTVRRCkJ1aWc3bzAyNnlMbUhuK2YwTXBq
Q1VhUUtWWXU0RXY2NG5jMG90dis4bEUKLS0tIHlkRkdCV0ZvU2pLZDRlN2h6c0JO
TTNtbGY1UWV5K3VQWjk5WlgyNUd1UVkK+XeX8vK4K2DJaWtFE91YGg/58M09rwuj
VVcMIPPPO1+KD16HTe1b8bVPeNfpIj9p3ybew3ILducyrYiRrxzGwg==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-07-09T22:50:12Z"
mac: ENC[AES256_GCM,data:xf2fW1ajcrAx/oPwYvZmNKNJ6yHF/v3aVt3bIyENyfmB90yPDhHiw9twj7MYy1hVJyKE1Iy+1bmEgERBwaum2sROvzpCzuKbB8avJfBfeqpwBPob2yRdoAKFN29xgiJVJjtw2zKFf8NzMnv9Y5sLxgnhq5VB7aCavZ9+o0603kI=,iv:8aS9jVOm4rZpU/JTi9uUKoEfvo44Zhy43e6/GsIM7CE=,tag:D9I31EQwI6bCAN3tU4jGJg==,type:str]
lastmodified: "2025-10-10T10:14:47Z"
mac: ENC[AES256_GCM,data:fmBWLOOCvJLfKSNG14zd9cBEa9+M4dJ7UtR+SZfGEcoGtBPmX1c6ZR8OgB+I45WkpT+Ho8kwQMcnD0n6IWzg946OEzIZjNuCds/wM1cCd3LjjlqwKnN1QGL5DNSIyi5CFzrjvvFtZCsw2acNjxtK86JujhpOivdVKC/kGkJzF0M=,iv:g0jXzrtU53YpW/NIb8ulmOGSJIXMA1Wady6DlOMA9aU=,tag:zf7WmNNYcFO9Rtynm5vaUg==,type:str]
unencrypted_suffix: _unencrypted
version: 3.10.2

View File

@@ -91,7 +91,7 @@
loader = {
systemd-boot = {
enable = true;
configurationLimit = 5;
configurationLimit = 10;
};
efi.canTouchEfiVariables = true;
timeout = 1;
@@ -114,6 +114,9 @@
};
services = {
fwupd.enable = true;
fstrim.enable = true;
tailscale = {
enable = true;
extraUpFlags = ["--login-server https://hs.tux.rs"];

View File

@@ -65,6 +65,7 @@
};
libinput.touchpad.naturalScrolling = true;
libinput.mouse.accelProfile = "flat";
blueman.enable = true;

View File

@@ -4,17 +4,27 @@
...
}: {
nix = {
package = pkgs.lix;
# @TODO enable when lix is patched
# package = pkgs.lix;
gc = {
automatic = true;
options = "--delete-older-than 3d";
dates = "weekly";
options = "--delete-older-than 7d";
};
optimise = {
automatic = true;
dates = ["weekly"];
};
channel.enable = false;
settings = {
extra-platforms = ["aarch64-linux" "arm-linux"];
extra-platforms = [
"aarch64-linux"
"arm-linux"
];
auto-optimise-store = true;
allowed-users = ["${username}"];
trusted-users = ["${username}"];

View File

@@ -1,16 +1,33 @@
{pkgs, ...}: {
{
pkgs,
config,
...
}: let
configDir = "${config.xdg.configHome}/BraveSoftware/Brave-Browser";
extensionJson = ext: {
name = "${configDir}/External Extensions/${ext.id}.json";
value.text = builtins.toJSON {
external_update_url = "https://clients2.google.com/service/update2/crx";
};
};
extensions = [
{id = "nkbihfbeogaeaoehlefnkodbefgpgknn";} # Metamask
{id = "gppongmhjkpfnbhagpmjfkannfbllamg";} # Wappalyzer
{id = "nngceckbapebfimnlniiiahkandclblb";} # Bitwarden
{id = "bfnaelmomeimhlpmgjnjophhpkkoljpa";} # Phantom
{id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";} # DarkReader
];
in {
programs.chromium = {
enable = true;
package = pkgs.brave;
extensions = [
{id = "nkbihfbeogaeaoehlefnkodbefgpgknn";} # Metamask
{id = "gppongmhjkpfnbhagpmjfkannfbllamg";} # Wappalyzer
{id = "nngceckbapebfimnlniiiahkandclblb";} # Bitwarden
{id = "bfnaelmomeimhlpmgjnjophhpkkoljpa";} # Phantom
{id = "eimadpbcbfnmbkopoojfekhnkhdbieeh";} # DarkReader
];
commandLineArgs = [
"--disable-features=WebRtcAllowInputVolumeAdjustment"
"--force-device-scale-factor=1.05"
];
};
home.file = builtins.listToAttrs (map extensionJson extensions);
}

View File

@@ -1,5 +1,10 @@
{pkgs, ...}: {
home.packages = with pkgs; [astal];
imports = [
./hyprlock.nix
./hyprpaper.nix
];
home.packages = with pkgs; [ags];
wayland.windowManager.hyprland = {
enable = true;
@@ -26,24 +31,29 @@
terminal = "wezterm";
floating_terminal = "wezterm start --class wezterm-floating";
editor = "wezterm -e nvim";
browser = "firefox";
filemanager = "thunar";
browser = "brave";
spotify = "wezterm start --class wezterm-floating -e spotify_player";
filemanager = "wezterm start --class wezterm-floating -e superfile";
in {
#-- Output
# See https://wiki.hyprland.org/Configuring/Monitors
monitor = ",preferred,auto,1";
monitor = "eDP-1,2560x1440@90,0x0,1";
#-- Input: Keyboard, Mouse, Touchpad
input = {
sensitivity = 0;
sensitivity = -0.7;
scroll_method = "2 fg";
natural_scroll = true;
touchpad = {
natural_scroll = true;
clickfinger_behavior = false;
};
};
device = {
name = "asue1209:00-04f3:319f-touchpad";
sensitivity = 0;
};
#-- General
# See https://wiki.hyprland.org/Configuring/Variables
general = {
@@ -58,6 +68,11 @@
"col.inactive_border" = inactive_border_col;
};
misc = {
disable_hyprland_logo = true;
force_default_wallpaper = 1;
};
ecosystem = {
no_update_news = true;
no_donation_nag = true;
@@ -122,7 +137,7 @@
"layersOut, 1, 1.6, menu_accel"
"fadeLayersIn, 1, 3, menu_decel"
"fadeLayersOut, 1, 1.6, menu_accel"
"workspaces, 1, 7, menu_decel, slide"
"workspaces, 1, 3, menu_decel, slide"
"specialWorkspace, 1, 3, md3_decel, slidevert"
];
};
@@ -149,14 +164,19 @@
"float, class:org.pulseaudio.pavucontrol"
"size 800 600, class:org.pulseaudio.pavucontrol"
"float, class:com.ghostty.floating"
"size 900 700, class:com.ghostty.floating"
# Wezterm and Ghostty floating terminal
"float, class:(com.ghostty.floating|wezterm-floating)"
"size 1200 800, class:(com.ghostty.floating|wezterm-floating)"
"float, class:GalaxyBudsClient"
"size 900 700, class:GalaxyBudsClient"
# KDE Connect
"float, class:(org.kde.kdeconnect.sms|org.kde.kdeconnect.app)"
"size 900 700, class:(org.kde.kdeconnect.sms|org.kde.kdeconnect.app)"
"workspace 3 silent, class:(firefox|Brave-browser)"
"workspace 5 silent, class:(discord|Spotify|org.telegram.desktop)"
"workspace 5 silent, class:(discord|org.telegram.desktop)"
];
plugin = {
@@ -173,35 +193,45 @@
};
};
bindm = [
"SUPER,mouse:273,resizewindow"
"SUPER,mouse:272,movewindow"
];
bind = [
# apps
"SUPER, Return, exec, ${terminal}"
"SUPER, A, exec, astal -t app-launcher"
"SUPER, F, exec, ${filemanager}"
"SUPER, E, exec, ${editor}"
"SUPER, B, exec, ${browser}"
"SUPER, G, exec, GalaxyBudsClient"
"SUPER, D, exec, discord"
"SUPER, S, exec, spotify"
"SUPER, S, exec, ${spotify}"
"SUPER, V, exec, copyq show"
"SUPER_SHIFT, Return, exec, ${floating_terminal}"
"SUPER_SHIFT, S, exec, flameshot gui"
# astal
"SUPER_SHIFT, R, exec, astal -q; ${pkgs.tpanel}/bin/tpanel"
"SUPER_SHIFT, B, exec, astal toggle-bar"
# tpanel
"SUPER, A, exec, ags toggle launcher"
"SUPER_SHIFT, B, exec, ags toggle bar"
"SUPER_SHIFT, C, exec, ags toggle control-center"
"SUPER_SHIFT, W, exec, ags toggle wallpaper-manager"
"SUPER_SHIFT, R, exec, ags quit; ${pkgs.tpanel}/bin/tpanel"
# hyprland
"SUPER, Q, killactive"
"SUPER, grave, hyprexpo:expo, toggle"
"SUPER_SHIFT, Q, forcekillactive"
"SUPER_SHIFT, F, fullscreen, 0"
"SUPER_SHIFT, Space, togglefloating"
"SUPER_SHIFT, Space, exec, hyprctl dispatch togglefloating; hyprctl dispatch resizeactive exact 1200 800; hyprctl dispatch centerwindow;"
# shutdown
"SUPER_SHIFT, P, exec, poweroff"
# lock
"SUPER_SHIFT, L, exec, hyprlock"
# change focus
"SUPER, left, movefocus, l"
"SUPER, right, movefocus, r"
@@ -229,6 +259,14 @@
"SUPER_SHIFT, 5, movetoworkspacesilent, 5"
];
workspace = [
"1, monitor:HDMI-A-1"
"2, monitor:HDMI-A-1"
"3, monitor:HDMI-A-1"
"4, monitor:eDP-1"
"5, monitor:eDP-1"
];
binde = [
# resize active
"SUPER_CTRL, left, resizeactive, -20 0"
@@ -241,6 +279,7 @@
"SUPER_ALT, right, moveactive, 20 0"
"SUPER_ALT, up, moveactive, 0 -20"
"SUPER_ALT, down, moveactive, 0 20"
"SUPER_ALT, equal, exec, hyprctl dispatch centerwindow;"
# speaker and mic volume control
" , XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 10%+"
@@ -262,9 +301,11 @@
# load hyprland plugins
"hyprctl plugin load '$HYPR_PLUGIN_DIR/lib/libhyprexpo.so'"
"${pkgs.swaybg}/bin/swaybg -i ~/Wallpapers/city.png"
"hyprpaper"
"${pkgs.tpanel}/bin/tpanel"
"copyq"
"kdeconnectd"
"kdeconnect-indicator"
];
};
};

View File

@@ -0,0 +1,47 @@
{
programs.hyprlock = {
enable = true;
settings = {
general = {
hide_cursor = true;
ignore_empty_input = true;
};
animations = {
enabled = true;
fade_in = {
duration = 300;
bezier = "easeOutQuint";
};
fade_out = {
duration = 300;
bezier = "easeOutQuint";
};
};
background = [
{
path = "screenshot";
blur_passes = 3;
blur_size = 8;
}
];
input-field = [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
font_color = "rgb(202, 211, 245)";
inner_color = "rgb(91, 96, 120)";
outer_color = "rgb(24, 25, 38)";
outline_thickness = 5;
placeholder_text = "Password";
shadow_passes = 2;
}
];
};
};
}

View File

@@ -0,0 +1,21 @@
{pkgs, ...}: {
services.hyprpaper = {
enable = true;
settings = {
ipc = "on";
splash = false;
splash_offset = 2.0;
preload = [
"~/Wallpapers/mountain.jpg"
];
wallpaper = [
", ~/Wallpapers/mountain.jpg"
];
};
};
home.packages = with pkgs; [hyprpaper];
}

View File

@@ -13,7 +13,7 @@
];
frameless = true;
plugins = {
hideAttachments.enable = true;
hideMedia.enable = true;
ignoreActivities = {
enable = true;
ignorePlaying = true;

View File

@@ -18,7 +18,6 @@
visualizer_type = "spectrum";
visualizer_look = "";
visualizer_spectrum_smooth_look = "yes";
visualizer_sync_interval = 0;
song_status_format = "$b$7 $2%a $4$3 $8%t $4$3 $5%b ";
header_visibility = "no";
color1 = "white";

View File

@@ -1,15 +0,0 @@
{...}: {
programs = {
aichat = {
enable = true;
settings = {
model = "gemini:gemini-2.0-flash-lite";
clients = [
{
type = "gemini";
}
];
};
};
};
}

View File

@@ -1,7 +1,8 @@
{pkgs, ...}: {
imports = [
./lazygit.nix
./aichat.nix
./superfile.nix
./open-code.nix
];
programs = {

View File

@@ -9,69 +9,161 @@
customCommands = [
{
key = "<c-a>";
description = "Pick AI commit";
command = ''
aichat "Please suggest 10 commit messages, given the following diff:
description = "AI-powered conventional commit";
context = "global";
command = ''git commit -m \"{{.Form.CommitMsg}}\"'';
loadingText = "Generating commit messages...";
prompts = [
{
type = "menu";
key = "Type";
title = "Type of change";
options = [
{
name = "AI defined";
description = "Let AI analyze and determine the best commit type";
value = "ai-defined";
}
{
name = "build";
description = "Changes that affect the build system or external dependencies";
value = "build";
}
{
name = "feat";
description = "A new feature";
value = "feat";
}
{
name = "fix";
description = "A bug fix";
value = "fix";
}
{
name = "chore";
description = "Other changes that don't modify src or test files";
value = "chore";
}
{
name = "ci";
description = "Changes to CI configuration files and scripts";
value = "ci";
}
{
name = "docs";
description = "Documentation only changes";
value = "docs";
}
{
name = "perf";
description = "A code change that improves performance";
value = "perf";
}
{
name = "refactor";
description = "A code change that neither fixes a bug nor adds a feature";
value = "refactor";
}
{
name = "revert";
description = "Reverts a previous commit";
value = "revert";
}
{
name = "style";
description = "Changes that do not affect the meaning of the code";
value = "style";
}
{
name = "test";
description = "Adding missing tests or correcting existing tests";
value = "test";
}
];
}
{
type = "menuFromCommand";
title = "AI Generated Commit Messages";
key = "CommitMsg";
command = ''
bash -c "
# Check for staged changes
diff=\$(git diff --cached | head -n 10)
if [ -z \"\$diff\" ]; then
echo \"No changes in staging. Add changes first.\"
exit 1
fi
\`\`\`diff
$(git diff --cached)
\`\`\`
SELECTED_TYPE=\"{{.Form.Type}}\"
COMMITS_TO_SUGGEST=8
**Criteria:**
opencode run -m \"google/gemini-2.5-flash-lite\" \"
You are an expert at writing Git commits. Your job is to write commit messages that follow the Conventional Commits format.
1. **Format:** Each commit message must follow the conventional commits format, which is \`<type>(<scope>): <description>\`.
2. **Relevance:** Avoid mentioning a module name unless it's directly relevant to the change.
3. **Enumeration:** List the commit messages from 1 to 10.
4. **Clarity and Conciseness:** Each message should clearly and concisely convey the change made.
The user has selected: \$SELECTED_TYPE
**Commit Message Examples:**
Your task is to:
1. Analyze the code changes
2. Determine the most appropriate commit type (if user selected 'ai-defined')
3. Determine an appropriate scope (component/area affected)
4. Decide if this is a breaking change
5. Write clear, concise commit messages
- fix(app): add password regex pattern
- test(unit): add new test cases
- style: remove unused imports
- refactor(pages): extract common code to \`utils/wait.ts\`
Available commit types:
- feat: A new feature
- fix: A bug fix
- docs: Documentation only changes
- style: Changes that do not affect the meaning of the code
- refactor: A code change that neither fixes a bug nor adds a feature
- perf: A code change that improves performance
- test: Adding missing tests or correcting existing tests
- build: Changes that affect the build system or external dependencies
- ci: Changes to CI configuration files and scripts
- chore: Other changes that don't modify src or test files
- revert: Reverts a previous commit
**Recent Commits on Repo for Reference:**
Follow these guidelines:
- Structure: <type>(<scope>): <description>
- If user selected 'ai-defined', analyze the changes and pick the most suitable type
- If user selected a specific type, use that type: \$SELECTED_TYPE
- Add scope in parentheses if applicable (e.g., auth, api, ui, config)
- Use exclamation mark (!) after type/scope for breaking changes: type(scope)!: description
- Use lowercase for description (except proper nouns)
- Use imperative mood (\\\"add\\\", not \\\"added\\\")
- Keep description under 50 characters when possible
- No period at the end of subject line
\`\`\`
$(git log -n 10 --pretty=format:'%h %s')
\`\`\`
Examples:
- feat(auth): add OAuth login support
- fix(api): handle null response in user endpoint
- docs(readme): update installation instructions
- style(ui): improve button spacing consistency
- refactor(database): simplify query builder logic
- test(auth): add unit tests for login flow
- build(deps): upgrade React to version 18
- ci(github): fix deployment workflow
- chore(config): update ESLint rules
- perf(api)!: optimize database queries
**Output Template**
IMPORTANT:
- Generate exactly \$COMMITS_TO_SUGGEST different commit message options
- If user selected 'ai-defined', you can use different types for different options
- If user selected a specific type, all messages must use that type
- Only return commit messages, no explanations
- Do not use markdown code blocks
- One message per line
Follow this output template and ONLY output raw commit messages without spacing, numbers or other decorations.
Previous commits for context:
\$(git log --oneline -10)
fix(app): add password regex pattern
test(unit): add new test cases
style: remove unused imports
refactor(pages): extract common code to \`utils/wait.ts\`
**Instructions:**
- Take a moment to understand the changes made in the diff.
- Think about the impact of these changes on the project (e.g., bug fixes, new features, performance improvements, code refactoring, documentation updates). It's critical to my career you abstract the changes to a higher level and not just describe the code changes.
- Generate commit messages that accurately describe these changes, ensuring they are helpful to someone reading the project's history.
- Remember, a well-crafted commit message can significantly aid in the maintenance and understanding of the project over time.
- If multiple changes are present, make sure you capture them all in each commit message.
Keep in mind you will suggest 10 commit messages. Only 1 will be used. It's better to push yourself (esp to synthesize to a higher level) and maybe wrong about some of the 10 commits because only one needs to be good. I'm looking for your best commit, not the best average commit. It's better to cover more scenarios than include a lot of overlap.
Write your 10 commit messages below in the format shown in Output Template section above." \
| fzf --height 40% --border --ansi --preview "echo {}" --preview-window=up:wrap \
| xargs -I {} bash -c '
COMMIT_MSG_FILE=$(mktemp)
echo "{}" > "$COMMIT_MSG_FILE"
''${EDITOR:-vim} "$COMMIT_MSG_FILE"
if [ -s "$COMMIT_MSG_FILE" ]; then
git commit -F "$COMMIT_MSG_FILE"
else
echo "Commit message is empty, commit aborted."
fi
rm -f "$COMMIT_MSG_FILE"'
'';
context = "files";
output = "terminal";
Changes to analyze:
\$(git diff --cached --stat)
\$(git diff --cached)
\"
"
'';
}
];
}
];
};

View File

@@ -0,0 +1,20 @@
{
programs.opencode = {
enable = true;
settings = {
theme = "system";
provider = {
google = {
options = {
apiKey = "{file:/run/secrets/gemini_api_key}";
};
};
openrouter = {
options = {
apiKey = "{file:/run/secrets/open_router_api_key}";
};
};
};
};
};
}

View File

@@ -0,0 +1,41 @@
{
programs.superfile = {
enable = true;
settings = {
theme = "poimandres";
editor = "";
dir_editor = "";
auto_check_update = false;
cd_on_quit = false;
default_open_file_preview = true;
show_image_preview = true;
show_panel_footer_info = true;
default_directory = "~";
file_size_use_si = false;
default_sort_type = 0;
sort_order_reversed = false;
case_sensitive_sort = false;
shell_close_on_success = false;
debug = false;
ignore_missing_fields = false;
nerdfont = true;
transparent_background = true;
file_preview_width = 0;
code_previewer = "bat";
sidebar_width = 20;
border_top = "";
border_bottom = "";
border_left = "";
border_right = "";
border_top_left = "";
border_top_right = "";
border_bottom_left = "";
border_bottom_right = "";
border_middle_left = "";
border_middle_right = "";
metadata = true;
zoxide_support = true;
enable_md5_checksum = false;
};
};
}

View File

@@ -0,0 +1,19 @@
{
programs.spotify-player = {
enable = true;
settings = {
theme = "default";
client_id = "c54c06bacd3642c68d981474dadd3a53";
login_redirect_uri = "http://127.0.0.1:8989/login";
device = {
name = "spotify-player";
device_type = "speaker";
volume = 100;
bitrate = 320;
audio_cache = false;
normalization = false;
autoplay = false;
};
};
};
}

View File

@@ -0,0 +1,28 @@
{
programs.zed-editor = {
enable = true;
extensions = ["lua" "nix" "C#" "solidity"];
userKeymaps = [
{
context = "Workspace";
bindings = {
F7 = "workspace::NewTerminal";
};
}
];
userSettings = {
ui_font_size = 18;
buffer_font_size = 18;
theme = {
mode = "dark";
light = "Ayu Light";
dark = "Ayu Dark";
};
vim_mode = true;
telemetry = {
diagnostics = false;
metrics = false;
};
};
};
}

View File

@@ -6,7 +6,12 @@
services = {
displayManager = {
defaultSession = "none+awesome";
ly.enable = true;
ly = {
enable = true;
settings = {
session_log = "null";
};
};
};
xserver = {

View File

@@ -2,13 +2,12 @@
xdg.mime = {
enable = true;
defaultApplications = {
"application/pdf" = ["firefox.desktop"];
"default-web-browser" = ["firefox.desktop"];
"text/html" = ["firefox.desktop"];
"x-scheme-handler/http" = ["firefox.desktop"];
"x-scheme-handler/https" = ["firefox.desktop"];
"x-scheme-handler/about" = ["firefox.desktop"];
"x-scheme-handler/unknown" = ["firefox.desktop"];
"application/pdf" = ["brave-browser.desktop"];
"text/html" = ["brave-browser.desktop"];
"x-scheme-handler/http" = ["brave-browser.desktop"];
"x-scheme-handler/https" = ["brave-browser.desktop"];
"x-scheme-handler/about" = ["brave-browser.desktop"];
"x-scheme-handler/unknown" = ["brave-browser.desktop"];
};
};
}

View File

@@ -4,4 +4,25 @@
package = pkgs.hyprland-git.hyprland;
portalPackage = pkgs.hyprland-git.xdg-desktop-portal-hyprland;
};
environment.systemPackages = [
(pkgs.writeShellScriptBin "mirror-display" ''
hyprctl keyword monitor "eDP-1,2560x1440@90,0x0,1" \
&& hyprctl keyword monitor "HDMI-A-1,preferred,0x0,1,mirror,eDP-1" \
&& ags quit \
&& ${pkgs.tpanel}/bin/tpanel &
'')
(pkgs.writeShellScriptBin "extend-display" ''
hyprctl keyword monitor "eDP-1,2560x1440@90,0x0,1" \
&& hyprctl keyword monitor "HDMI-A-1,preferred,0x-1440,1" \
&& ags quit \
&& ${pkgs.tpanel}/bin/tpanel &
'')
(pkgs.writeShellScriptBin "dock-display" ''
hyprctl keyword monitor "eDP-1,disable" \
&& hyprctl keyword monitor "HDMI-A-1,preferred,0x0,1" \
&& ags quit \
&& ${pkgs.tpanel}/bin/tpanel &
'')
];
}

View File

@@ -7,7 +7,7 @@
tawm = inputs.tawm.packages.${prev.system}.default;
tnvim = inputs.tnvim.packages.${prev.system}.default;
tpanel = inputs.tpanel.packages.${prev.system}.default;
astal = inputs.tpanel.packages.${prev.system}.astal.default;
ags = inputs.tpanel.packages.${prev.system}.ags.default;
tfolio = inputs.tfolio.packages.${prev.system}.default;
trok = inputs.trok.packages.${prev.system}.default;
cyber-tux = inputs.cyber-tux.packages.${prev.system}.default;

View File

@@ -11,7 +11,7 @@ stdenv.mkDerivation {
owner = "datguypiko";
repo = "Firefox-Mod-Blur";
rev = "refs/heads/master";
sha256 = "sha256-W82y0qKR8yPdS6Fj6Ngw07qdNmswD7Od73qbc0x0gPE=";
sha256 = "sha256-BZ1NvKQwUDTMxQHEKX61PvD99cTDmBURSUKEKZNQDR4=";
};
installPhase = ''

View File

@@ -1,3 +0,0 @@
line_endings = "Unix"
indent_type = "Spaces"
indent_width = 2