mirror of
https://github.com/anotherhadi/nixy.git
synced 2026-08-21 10:45:49 +02:00
Compare commits
424 Commits
v1.0.0
...
5eb34e05ab
| Author | SHA1 | Date | |
|---|---|---|---|
| 5eb34e05ab | |||
| e94c09a5e2 | |||
| 0d00056d61 | |||
| 11909b2db3 | |||
| 50ad65ec50 | |||
| 128b9a79c3 | |||
| e17a7f6e5c | |||
| 60c6ba9bd1 | |||
| 4362d3ada7 | |||
| e73350a76b | |||
| 71b6f444c2 | |||
| 8cb73c1a34 | |||
| 70596d95fb | |||
| d937db8573 | |||
| 1c6a9f5caa | |||
| 3470c61c5e | |||
| 005aaef5e1 | |||
| 03490447cb | |||
| 280b114e66 | |||
| ed4eba3d14 | |||
| b70aa6661b | |||
| b0507d10ea | |||
| c94a3b85d8 | |||
| 04015018a4 | |||
| fe1f3fce14 | |||
| b1c379221e | |||
| 5812e60eb5 | |||
| e7f2c03502 | |||
| 9db064e331 | |||
| 7fce5419aa | |||
| 948542bbd8 | |||
| 4ab85f4f1c | |||
| 7d2e868a03 | |||
| 5f794cfabd | |||
| f5f37f420d | |||
| b6a0ac38de | |||
| 56d0aac939 | |||
| 9e6dbb465b | |||
| 4875fce088 | |||
| 6ff18b7d15 | |||
| a6526de2a4 | |||
| bf04dce6d5 | |||
| fdabd7edf9 | |||
| a13ea2b8da | |||
| 0473880942 | |||
| c2afa515ee | |||
| ecee3e4daa | |||
| 39c70d2152 | |||
| c6cc2b3e2b | |||
| 61eac2f021 | |||
| 55cfb67493 | |||
| 082fbb2130 | |||
| 207caa7ba5 | |||
| 9d03a16364 | |||
| 7832f5f750 | |||
| c9775af4ea | |||
| 146afb1de5 | |||
| e9e7d4f06f | |||
| 273fd77b86 | |||
| cf04176b10 | |||
| eb3083346f | |||
| 5078a34ee3 | |||
| b5f27c6ed6 | |||
| cb7c2f3c40 | |||
| 3e6f8b856d | |||
| 38b516453a | |||
| 2e9fd1710f | |||
| 4b8593b097 | |||
| fd5dfea2c4 | |||
| b623474fc0 | |||
| ffcd2c0c19 | |||
| aa1a9c25d7 | |||
| cd837e208e | |||
| eca9b216ba | |||
| f1bff29cd9 | |||
| e452d79f0c | |||
| 0fb184e8d3 | |||
| 5b337e5e94 | |||
| 498c03decc | |||
| 5f6fb011a2 | |||
| 46b913a7d3 | |||
| 0ecb821342 | |||
| f7d23ddee9 | |||
| fb63d4c0e9 | |||
| 9bddf6dab9 | |||
| 2f39827f03 | |||
| 41a6417a2d | |||
| 02331d9deb | |||
| 742aa325aa | |||
| 6d487ab9f0 | |||
| a0f7128a28 | |||
| fdd5d685d6 | |||
| 62213109f7 | |||
| 9c43c89a3f | |||
| 9c1fc992e2 | |||
| cc2b0989d3 | |||
| 3ee5f2097d | |||
| 5657e0b24c | |||
| b51725e7cd | |||
| 86f8c99554 | |||
| c256b870aa | |||
| 94103e9dfb | |||
| af6319c8ec | |||
| 6edda0e6e1 | |||
| 3ba7648eb0 | |||
| 484d82a788 | |||
| be0d934622 | |||
| abab0d1b96 | |||
| 9dd462b0b8 | |||
| 28404f07cd | |||
| eb0e205e99 | |||
| 0c856fe2d2 | |||
| 26452fbf23 | |||
| 6f2ad22139 | |||
| e79b8ac14c | |||
| 9826faa7d0 | |||
| 68e5393f5d | |||
| f3e7766229 | |||
| 76f7b763cf | |||
| 51191f82c7 | |||
| e86c831653 | |||
| 91f8e392ef | |||
| 7ce04c1ae9 | |||
| 1aff187d21 | |||
| 856c0c3212 | |||
| acfaa9d9e8 | |||
| 20307f9096 | |||
| ff1d70ba79 | |||
| 188e34a575 | |||
| 373c2d4546 | |||
| ae1335d4d2 | |||
| 70e9831d3a | |||
| 446e610c59 | |||
| 894e9872c3 | |||
| f00d34f38b | |||
| 93395308a0 | |||
| 3fcd3c316f | |||
| 07a2b77f84 | |||
| 1a28823b3b | |||
| 597afc0b39 | |||
| 540636df16 | |||
| 1c8b68182a | |||
| dee40034cd | |||
| cb347c715b | |||
| 0e683e111f | |||
| ceb8e98fbf | |||
| da50226d9f | |||
| 3ba87d750f | |||
| 2cab0e6903 | |||
| 846e83545f | |||
| 14b568ae7d | |||
| 1fc8bce262 | |||
| 16f8d6d8b3 | |||
| ae337d1631 | |||
| c9959e4715 | |||
| 26fd7e8775 | |||
| 1819e78c0b | |||
| e26a6eb442 | |||
| 4cc072fa14 | |||
| 46436db4a5 | |||
| 1e0f379981 | |||
| 2027dd0cd1 | |||
| 59be989faa | |||
| fadb6fcfd8 | |||
| 988f7a68db | |||
| 60ef1c61f2 | |||
| a70bb23316 | |||
| 186d1c69de | |||
| 90f0adb29e | |||
| 11a12e6ca6 | |||
| ec1c7f1dc6 | |||
| e8f3660561 | |||
| 173c2f89fc | |||
| 577d33bdd1 | |||
| 5d09cd1097 | |||
| ade814e4af | |||
| 4c39b0044d | |||
| 08c43f4771 | |||
| def4d2a994 | |||
| 7256d94c49 | |||
| 52345c06cd | |||
| 26f6c935af | |||
| 7aa0413931 | |||
| 04b54566b1 | |||
| ff0e41c73f | |||
| b070d20ef4 | |||
| 5849179d0b | |||
| 9aa13777c5 | |||
| 79ca8b68a8 | |||
| 99038231a8 | |||
| 5c877f5f76 | |||
| 2beda6180b | |||
| 3921780961 | |||
| 6d856f0bfa | |||
| 7ef5dac5cb | |||
| ada5bebfe0 | |||
| fd472e7abc | |||
| 67c02f59de | |||
| 34a090cb13 | |||
| 6c66562c77 | |||
| 44474f2cbb | |||
| 0c34497671 | |||
| 957d749df5 | |||
| 23e45b3679 | |||
| 58f45a48b4 | |||
| 64884b1367 | |||
| 41808ad011 | |||
| f1f9ee57f0 | |||
| 2fa2d20c8b | |||
| d1047e2abf | |||
| eb75f6e451 | |||
| 95329e82fb | |||
| c139f1c12a | |||
| 4ead1d07ae | |||
| 81d9c22cbc | |||
| 5da1dcccba | |||
| 6a950d4bcc | |||
| 26263eee48 | |||
| ba0a151f1e | |||
| 2c5be469f0 | |||
| 9728b2ed6b | |||
| 2255bd8d7c | |||
| 7617488f52 | |||
| c0b0ed81c8 | |||
| 4ab75fb583 | |||
| 339eb8877c | |||
| 2e92ce971e | |||
| 51e58883fa | |||
| 59fe18dcd6 | |||
| d543f308b3 | |||
| 0881baf082 | |||
| 3f4590bda4 | |||
| c692d33216 | |||
| 33de46de17 | |||
| ff55504616 | |||
| 627435b452 | |||
| 64f057b1b1 | |||
| f6f4acf2b6 | |||
| 44b79b0ff0 | |||
| f5887c9f24 | |||
| 178aeb2aac | |||
| 8e8caed609 | |||
| 92c1b38ca5 | |||
| 9f196b8fb8 | |||
| a8ad3a28fb | |||
| 19f5613c74 | |||
| 35848dfd62 | |||
| a37fda47ea | |||
| 60f5d20cbe | |||
| 6a808cbc89 | |||
| 75f9e08d7b | |||
| 1d7d1e1c89 | |||
| b8356528ba | |||
| 602423d9ae | |||
| 295085c7e9 | |||
| 872735897c | |||
| b064228958 | |||
| 156ca28cbf | |||
| cd08d5ad46 | |||
| 109cd5075b | |||
| bbdf394dda | |||
| c1ace49f38 | |||
| 05c1fe6313 | |||
| a94489d52d | |||
| 2db08a1a06 | |||
| abf9f53eee | |||
| 33e9ca6021 | |||
| 601306033d | |||
| a67177bbb3 | |||
| 13cecc6f19 | |||
| 83ee267214 | |||
| 7322f50f14 | |||
| e91e838528 | |||
| 332caad470 | |||
| de1ef7f45e | |||
| 6375bcaf34 | |||
| 12394f2945 | |||
| 4e7ae503f8 | |||
| 53ae7625af | |||
| ba48ce3942 | |||
| 9a236765ed | |||
| 355c13c8f0 | |||
| 0810128ee4 | |||
| be7548e10a | |||
| b3df107c36 | |||
| 56df3723d2 | |||
| 27abeac6db | |||
| da81e80716 | |||
| d70cf4ebe7 | |||
| ab11bf5b91 | |||
| 88ff53dc29 | |||
| d93dda3f6d | |||
| fed0845912 | |||
| f18c96bcea | |||
| dd81dc8e54 | |||
| 67dae73157 | |||
| 27cffd8917 | |||
| 5338fa3c93 | |||
| 9ab398c6d2 | |||
| 1a1ec40517 | |||
| ab6813996d | |||
| d84912df76 | |||
| cfb4904976 | |||
| 9ac6e92dc5 | |||
| a5e1ee5285 | |||
| d34eafd868 | |||
| 402a1a512a | |||
| f26f8ad0e1 | |||
| 8cc97c5cc7 | |||
| 242298923e | |||
| 85011e69d3 | |||
| b4ad55a8c2 | |||
| 8935e3e520 | |||
| 883d95ca39 | |||
| 91055f207f | |||
| 299222f9fd | |||
| a2485b18b3 | |||
| 75bc825770 | |||
| b6c4c0e00a | |||
| 6797cb1107 | |||
| 1bd451a8bb | |||
| 63f101763d | |||
| 01e890081a | |||
| 147e0715cf | |||
| 2922ef04a4 | |||
| 9f2afd0f8a | |||
| ba31976fcf | |||
| ce2dcf66a4 | |||
| 0d9b79c73e | |||
| a17e3583e6 | |||
| 1885087e56 | |||
| b79d37ad06 | |||
| 8952cbaade | |||
| cbda10510d | |||
| e09cae9c44 | |||
| 187bdb0a32 | |||
| 5ba463757e | |||
| 7763a854af | |||
| 6cd8da4bf1 | |||
| a397f5e82b | |||
| 31ba52c9ac | |||
| bd5998521b | |||
| 5d043297d3 | |||
| 07dd6c09a5 | |||
| 28513feea4 | |||
| 982c4b2f80 | |||
| cd3ac7cfbc | |||
| 58bbb5532a | |||
| 6b115d6d28 | |||
| 7d97cc9148 | |||
| 992929e13a | |||
| 65b80a7d8d | |||
| 396a4dcf84 | |||
| dae5881128 | |||
| c00de1af0e | |||
| 5c760f5bfc | |||
| d3881d0897 | |||
| 64771ae931 | |||
| 516b7eaed4 | |||
| dc11045158 | |||
| c462a44130 | |||
| 9130b97e13 | |||
| c1291fa9e7 | |||
| 282031208e | |||
| 2ee7347334 | |||
| d3d4c5c7e6 | |||
| 47b46bdbf1 | |||
| a5750d59be | |||
| e7324aa80d | |||
| 61728dd166 | |||
| f405b40518 | |||
| 4fbcff7320 | |||
| 9e77650fa6 | |||
| 2e3a459e5c | |||
| 3e0a36a9d9 | |||
| 84463917f5 | |||
| b23b815696 | |||
| d2858a640b | |||
| 8cd055be59 | |||
| 7a3787d62d | |||
| 985dd82c6f | |||
| b828545a42 | |||
| c1a311e021 | |||
| 98fc1e131b | |||
| f19b74c2e9 | |||
| 0aae361973 | |||
| e925d6712c | |||
| 553455474b | |||
| b53c5bb5b1 | |||
| f76419c158 | |||
| fb44fb3fab | |||
| d19182608d | |||
| ebbb2dd780 | |||
| ce24afcea0 | |||
| 4b1c84319b | |||
| 7d46fa680f | |||
| 73961f5caf | |||
| 89c194d604 | |||
| fc50d282ca | |||
| 101cbd0761 | |||
| 48f7c42a21 | |||
| a6d00d0823 | |||
| e02c11e258 | |||
| 3554bf257e | |||
| ec0e54e4b2 | |||
| 8d60d1d914 | |||
| 2555bc641b | |||
| dfc48d1525 | |||
| 80a61f86dc | |||
| 1cde20d8bc | |||
| 378bdade49 | |||
| b87610007a | |||
| c216a5e997 | |||
| ccf0ee95c6 | |||
| 0a2644f5d4 | |||
| 7f31c039e8 | |||
| cfbf65a7f5 | |||
| 1f67c4a752 | |||
| b9dbcac931 | |||
| 0b713dfa4e | |||
| 140bd5c510 | |||
| ae68f811f2 | |||
| 1c25f3421d | |||
| 3f4477d938 |
@@ -1,2 +1 @@
|
|||||||
.sops.yaml
|
|
||||||
todolist.md
|
todolist.md
|
||||||
|
|||||||
+11
@@ -0,0 +1,11 @@
|
|||||||
|
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
|
||||||
@@ -1,157 +1,66 @@
|
|||||||
<h1 align="center">
|
[//]: # (Title: Nixy)
|
||||||
<img src="https://image.nostr.build/70ebe2b5183879d8c0ffa682cd0089e030ad01909678b242ed86449517eac3a5.png" width="100px" />
|
[//]: # (Description: Nixy is a Hyprland NixOS configuration with home-manager, secrets and custom theming all in one place. It's a simple way to manage your system configuration and dotfiles.)
|
||||||
<br>
|
[//]: # (Author: Hadi)
|
||||||
Nixy
|
[//]: # (Date: 08/28/24)
|
||||||
<br>
|
[//]: # (Version: v2.2.0)
|
||||||
<img src="https://image.nostr.build/aaf8cf0f3b9784c817f8cf328f19222db2e1886dfb89ae97de83ffa101d437b4.png" width="600px" /> <br>
|
|
||||||
<div align="center">
|
|
||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<p></p>
|
<img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/docs/src/logo.png" width="100px" />
|
||||||
<div align="center">
|
</div>
|
||||||
<a href="https://github.com/anotherhadi/nixy/stargazers">
|
|
||||||
<img src="https://img.shields.io/github/stars/anotherhadi/nixy?color=a158ff&labelColor=040409&style=for-the-badge&logo=starship&logoColor=a158ff">
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/anotherhadi/nixy/">
|
|
||||||
<img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color=a158ff&labelColor=040409&style=for-the-badge&logo=github&logoColor=a158ff">
|
|
||||||
</a>
|
|
||||||
<a href="https://nixos.org">
|
|
||||||
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor=040409&logo=NixOS&logoColor=a158ff&color=a158ff">
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/anotherhadi/nixy/blob/main/LICENSE">
|
|
||||||
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&colorA=040409&colorB=a158ff&logo=unlicense&logoColor=a158ff&"/>
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<br>
|
|
||||||
</div>
|
|
||||||
</h1>
|
|
||||||
|
|
||||||
Hello there! This is my **NixOs (w/home-manager) dotfiles** repo. It's still a *work in progress*, and I'm still learning how to use nix.
|
<br>
|
||||||
|
|
||||||
|
# Nixy
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<div align="center">
|
||||||
|
<a href="https://github.com/anotherhadi/nixy">
|
||||||
|
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=Version&message=v2.2.0&colorA=181825&colorB=89b4fa&logo=githubactions&logoColor=89b4fa"/>
|
||||||
|
</a>
|
||||||
|
<a href="https://github.com/anotherhadi/nixy/stargazers">
|
||||||
|
<img src="https://img.shields.io/github/stars/anotherhadi/nixy?color=89b4fa&labelColor=181825&style=for-the-badge&logo=starship&logoColor=89b4fa">
|
||||||
|
</a>
|
||||||
|
<a href="https://github.com/anotherhadi/nixy/">
|
||||||
|
<img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color=89b4fa&labelColor=181825&style=for-the-badge&logo=github&logoColor=89b4fa">
|
||||||
|
</a>
|
||||||
|
<a href="https://nixos.org">
|
||||||
|
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor=181825&logo=NixOS&logoColor=89b4fa&color=89b4fa">
|
||||||
|
</a>
|
||||||
|
<a href="https://github.com/anotherhadi/nixy/blob/main/LICENSE">
|
||||||
|
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&colorA=181825&colorB=89b4fa&logo=unlicense&logoColor=89b4fa"/>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
|
||||||
|
**Nixy** is a **Hyprland** NixOS configuration with **home-manager**, **secrets**, and **custom theming** all in one place.
|
||||||
|
It's a simple way to manage your system configuration and dotfiles.
|
||||||
|
|
||||||
|
## Table of Content
|
||||||
|
|
||||||
|
- [Table of Content](#table-of-content)
|
||||||
|
- [Gallery](#gallery)
|
||||||
|
- [Architecture](#architecture)
|
||||||
|
- [Installation](#installation)
|
||||||
|
- [Documentation](#documentation)
|
||||||
|
|
||||||
## Gallery
|
## Gallery
|
||||||
|
|
||||||

|

|
||||||

|

|
||||||

|

|
||||||

|
|
||||||
|
|
||||||
## Apps
|
## Architecture
|
||||||
|
|
||||||
<details>
|
- 🏠 `home` are the dotfiles and configuration files for the users
|
||||||
<summary>Click to expand</summary>
|
- 'programs' is a collection of apps configured with home-manager
|
||||||
|
- 'scripts' is a folder full of bash scripts (see [SCRIPTS.md](docs/SCRIPTS.md))
|
||||||
| Category | Software |
|
- 'system' is some "desktop environment" configuration
|
||||||
|----------------|---------------|
|
- 'wallpapers' are... wallpapers
|
||||||
| WM | Hyprland |
|
- 💻 `hosts` are the system configuration files
|
||||||
| | hyprlock |
|
- 'laptop' is my configuration for my laptop with Nvidia that you can copy
|
||||||
| | hyprpaper |
|
- 'server' is for my homeserver (w/nextcloud, nginx, vaultwarden, ... look `hosts/server`)
|
||||||
| | hypridle |
|
- 'themes' contains all the *themes* available *(see [THEMES.md](docs/THEMES.md))*
|
||||||
| | wlogout |
|
- 'modules' are some nix modules that you can import (Nvidia, prime, fonts, ...)
|
||||||
| Bar | waybar |
|
|
||||||
| Terminal | kitty |
|
|
||||||
| Shell | zsh |
|
|
||||||
| | tmux |
|
|
||||||
| | starship |
|
|
||||||
| | bat |
|
|
||||||
| | eza |
|
|
||||||
| | zoxide |
|
|
||||||
| | fzf |
|
|
||||||
| Editor | nixvim |
|
|
||||||
| File manager | lf |
|
|
||||||
| | thunar |
|
|
||||||
| Browser | qutebrowser |
|
|
||||||
| Music | spicetify |
|
|
||||||
| Notifications | dunst |
|
|
||||||
| Launcher | wofi |
|
|
||||||
| DM | tuigreet |
|
|
||||||
| Secrets | sops-nix |
|
|
||||||
| Misc | lazygit |
|
|
||||||
| | neofetch |
|
|
||||||
| | cava |
|
|
||||||
| | ... |
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
## Themes & Colors
|
|
||||||
|
|
||||||
Themes and colors are managed by the `home/themes` folder. You can copy the default `nixy.nix` theme and make your own.
|
|
||||||
|
|
||||||
To apply the theme to duckduckgo, follow the instructions in `$HOME/.config/duckduckgo-colorscheme.js`.
|
|
||||||
|
|
||||||
## Scripts
|
|
||||||
|
|
||||||
### Nix/NixOs shortcuts
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>Click to expand</summary>
|
|
||||||
|
|
||||||
- `nixy-edit`
|
|
||||||
- `nixy-rebuild`
|
|
||||||
- `nixy-update`
|
|
||||||
- `nixy-gc` # garbage collection
|
|
||||||
- `nixy-cb` # clean boot menu
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
### Brightness control
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>Click to expand</summary>
|
|
||||||
|
|
||||||
- `brightness-up`
|
|
||||||
- `brightness-down`
|
|
||||||
- `brightness-change <up/down> <increment>`
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
### Sound control
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>Click to expand</summary>
|
|
||||||
|
|
||||||
- `sound-up`
|
|
||||||
- `sound-down`
|
|
||||||
- `sound-toggle`
|
|
||||||
- `sound-output`
|
|
||||||
- `sound-change <up/down/mute> <increment>`
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
### Caffeine
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>Click to expand</summary>
|
|
||||||
|
|
||||||
Caffeine is a simple script that toggles hypridle (disable suspend & screenlock).
|
|
||||||
|
|
||||||
- `caffeine` # Toggle caffeine
|
|
||||||
- `caffeine-status` # Return active/inactive
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
### Night-Shift
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>Click to expand</summary>
|
|
||||||
|
|
||||||
Blue light filter, using wlsunset
|
|
||||||
|
|
||||||
- `night-shift-on`
|
|
||||||
- `night-shift-off`
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
### Nerdfont FZF
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>Click to expand</summary>
|
|
||||||
|
|
||||||
Nerdfont fzf is a quick way to search for nerdfont icons locally.
|
|
||||||
It will copy the selected icon to the clipboard.
|
|
||||||
|
|
||||||
- `nerdfont-fzf`
|
|
||||||
|
|
||||||
</details>
|
|
||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
@@ -159,11 +68,25 @@ It will copy the selected icon to the clipboard.
|
|||||||
git clone https://github.com/anotherhadi/nixy ~/.config/nixos
|
git clone https://github.com/anotherhadi/nixy ~/.config/nixos
|
||||||
```
|
```
|
||||||
|
|
||||||
- Change the `variables.nix` file to match your configuration
|
- Copy the `hosts/laptop` folder, rename it to your system name, and change the variables inside the `variables.nix` file
|
||||||
- Remove the hardware module in flake.nix line 30
|
- Add your `hardware-configuration.nix` to your new host's folder
|
||||||
- Change the `nixos/configuration.nix` file to match your system
|
- Add your 'nixosConfigurations' inside `flake.nix` (You can edit your hostname one and change the lines containing '# CHANGEME')
|
||||||
- Copy your `hardware-configuration.nix` file to the `nixos` folder
|
|
||||||
|
> [!NOTE]
|
||||||
|
> When you add new files, don't forget to run `git add .` to add them to the git repository
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo nixos-rebuild switch --flake ~/.config/nixos#nixy
|
sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
- [THEMES.md](docs/THEMES.md): How themes work and how to create your own
|
||||||
|
- [APPS.md](docs/APPS.md): Which apps are installed
|
||||||
|
- [SCRIPTS.md](docs/SCRIPTS.md): Scripts that are available
|
||||||
|
- [KEYBINDINGS.md](docs/KEYBINDINGS.md): Keybindings available in Hyprland
|
||||||
|
- [WALLPAPERS.md](docs/WALLPAPERS.md): Preview of every wallpapers available
|
||||||
|
|
||||||
|
- [TODO.md](docs/TODO.md): What's next (feel free to contribute)
|
||||||
|
- [CONTRIBUTING.md](docs/CONTRIBUTING.md): How to contribute
|
||||||
|
- [LICENSE](LICENSE): MIT License
|
||||||
|
|||||||
@@ -0,0 +1,56 @@
|
|||||||
|
# Apps and services
|
||||||
|
|
||||||
|
*non-exhaustive lists*
|
||||||
|
|
||||||
|
## Laptop
|
||||||
|
|
||||||
|
The laptop configuration is used by an Omen 16 laptop w/ nvidia and an amd gpu running NixOS.
|
||||||
|
The configurations files can be found in the `hosts/laptop` directory.
|
||||||
|
|
||||||
|
| Category | Name |
|
||||||
|
| --------------------------------------- | -------------- |
|
||||||
|
| WM | Hyprland |
|
||||||
|
| | hyprlock |
|
||||||
|
| | hyprpaper |
|
||||||
|
| | hypridle |
|
||||||
|
| | hyprcursor |
|
||||||
|
| | wlogout |
|
||||||
|
| Bar | waybar |
|
||||||
|
| Terminal | kitty |
|
||||||
|
| Shell | zsh |
|
||||||
|
| | tmux |
|
||||||
|
| | starship |
|
||||||
|
| | bat |
|
||||||
|
| | eza |
|
||||||
|
| | zoxide |
|
||||||
|
| | fzf |
|
||||||
|
| Editor | neovim(nixvim) |
|
||||||
|
| File manager | lf |
|
||||||
|
| | thunar |
|
||||||
|
| Browser | qutebrowser |
|
||||||
|
| Music | spicetify |
|
||||||
|
| Notifications | dunst |
|
||||||
|
| Launcher | wofi |
|
||||||
|
| DM | tuigreet |
|
||||||
|
| Secrets | sops-nix |
|
||||||
|
| Misc | lazygit |
|
||||||
|
| | neofetch |
|
||||||
|
| | cava |
|
||||||
|
| See [hosts/laptop](../hosts/laptop/)... | |
|
||||||
|
|
||||||
|
## Server
|
||||||
|
|
||||||
|
The server configuration is used by a home server running NixOS.
|
||||||
|
The configurations files can be found in the `hosts/server` directory.
|
||||||
|
I mainly use it for self-hosting websites and services such as Nextcloud, Vaultwarden, ...
|
||||||
|
I exposed some services to the internet using a reverse proxy (Nginx) and cloudflare-dyndns, others are accessed through a tailscale network
|
||||||
|
|
||||||
|
### Apps
|
||||||
|
|
||||||
|
- Nextcloud
|
||||||
|
- Vaultwarden
|
||||||
|
- Adguard Home
|
||||||
|
- Uptime Kuma
|
||||||
|
- "Jackflix"
|
||||||
|
- Jellyfin, Transmission, *arr
|
||||||
|
- See [hosts/server](../hosts/server/)...
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
# Contributing to Nixy
|
||||||
|
|
||||||
|
Everybody is invited and welcome to contribute to Nixy. There is a lot to do... Check the [TODO.md](./TODO.md) file!
|
||||||
|
|
||||||
|
The process is straight-forward.
|
||||||
|
|
||||||
|
- Read [How to get faster PR reviews](https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md#best-practices-for-faster-reviews) by Kubernetes (but skip step 0 and 1)
|
||||||
|
- Fork Nixy [git repository](https://github.com/anotherhadi/nixy).
|
||||||
|
- Write your changes (new theme, bug fixes, task in to-do, ...).
|
||||||
|
- Create a Pull Request against the main branch of Nixy.
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> When wallpapers are added, run `./docs/scripts/compress_png.sh` and `./docs/scripts/create_preview_wallpapers.sh`
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> To update the README, change the `./docs/src/README_template.md` and run `./docs/scripts/create_readme.sh`
|
||||||
|
|
||||||
|
> [!IMPORTANT]
|
||||||
|
> Don't push your host's folder
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
# Keybindings
|
||||||
|
|
||||||
|
The list of the keybindings working on Hyprland:
|
||||||
|
|
||||||
|
| Description | Keybinding |
|
||||||
|
|-----------------------------|--------------------------|
|
||||||
|
| Switch Workspace | SUPER + {Number} |
|
||||||
|
| Move app to Workspace | SHIFT + SUPER + {Number} |
|
||||||
|
| Kitty | SUPER + RETURN |
|
||||||
|
| Thunar | SUPER + E |
|
||||||
|
| Qutebrowser | SUPER + B |
|
||||||
|
| Bitwarden | SUPER + K |
|
||||||
|
| Peaclock | SUPER + C |
|
||||||
|
| Lock | SUPER + L |
|
||||||
|
| Powermenu | SUPER + X |
|
||||||
|
| Launcher | SUPER + SPACE |
|
||||||
|
| Close window | SUPER + Q |
|
||||||
|
| Toggle Floating | SUPER + T |
|
||||||
|
| Toggle Fullscreen | SUPER + F |
|
||||||
|
| Move focus left | SUPER + left |
|
||||||
|
| Move focus Right | SUPER + right |
|
||||||
|
| Move focus Up | SUPER + up |
|
||||||
|
| Move focus Down | SUPER + down |
|
||||||
|
| Add to master | SHIFT + SUPER + left |
|
||||||
|
| Remove from master | SHIFT + SUPER + right |
|
||||||
|
| Screenshot window | SUPER + PRINT |
|
||||||
|
| Screenshot monitor | PRINT |
|
||||||
|
| Screenshot region | SHIFT + SUPER + PRINT |
|
||||||
|
| Screenshot region then edit | ALT PRINT |
|
||||||
|
| Turn off night shift | SUPER + F2 |
|
||||||
|
| Turn on night shift | SUPER + F3 |
|
||||||
|
| Choose sound output | SUPER + F5 |
|
||||||
|
| Move Window (mouse) | SUPER + mouse:272 |
|
||||||
|
| Resize Window (mouse) | SUPER + R |
|
||||||
|
| Toggle Mute | XF86AudioMute |
|
||||||
|
| Lock when closing Lid | switch:Lid Switch |
|
||||||
|
| Sound Up | XF86AudioRaiseVolume |
|
||||||
|
| Sound Down | XF86AudioLowerVolume |
|
||||||
|
| Brightness Up | XF86MonBrightnessUp |
|
||||||
|
| Brightness Down | XF86MonBrightnessDown |
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
# Scripts
|
||||||
|
|
||||||
|
Scripts are located in the `home/scripts` folder. Home-manager add those in the path.
|
||||||
|
|
||||||
|
## Nix/NixOs shortcuts
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> The `hostname` variable in `hosts/yourhost/variables.nix` should be also the name of the `nixosConfiguration` in `flake.nix` file.
|
||||||
|
|
||||||
|
- `nixy` # UI
|
||||||
|
- `nixy rebuild`
|
||||||
|
- `nixy update`
|
||||||
|
- `nixy upgrade`
|
||||||
|
- `nixy gc` # garbage collection
|
||||||
|
- `nixy cb` # clean boot menu
|
||||||
|
|
||||||
|
## Brightness control
|
||||||
|
|
||||||
|
- `brightness-up`
|
||||||
|
- `brightness-down`
|
||||||
|
- `brightness-change <up/down> <increment>`
|
||||||
|
|
||||||
|
## Sound control
|
||||||
|
|
||||||
|
- `sound-up`
|
||||||
|
- `sound-down`
|
||||||
|
- `sound-toggle`
|
||||||
|
- `sound-output`
|
||||||
|
- `sound-change [up/down/mute] <increment>`
|
||||||
|
|
||||||
|
## Caffeine
|
||||||
|
|
||||||
|
Caffeine is a simple script that toggles hypridle (disable suspend & screenlock).
|
||||||
|
|
||||||
|
- `caffeine` # Toggle caffeine
|
||||||
|
- `caffeine-status` # Return active/inactive
|
||||||
|
|
||||||
|
## Night-Shift
|
||||||
|
|
||||||
|
Blue light filter, using wlsunset
|
||||||
|
|
||||||
|
- `night-shift` # Toggle night shift
|
||||||
|
- `night-shift-status` # Return active/inactive
|
||||||
|
- `night-shift-on`
|
||||||
|
- `night-shift-off`
|
||||||
|
|
||||||
|
## Nerdfont FZF
|
||||||
|
|
||||||
|
Nerdfont fzf is a quick way to search for nerdfont icons locally.
|
||||||
|
It will copy the selected icon to the clipboard.
|
||||||
|
|
||||||
|
- `nerdfont-fzf`
|
||||||
|
|
||||||
|
## Compress/Extract
|
||||||
|
|
||||||
|
Some shortcuts to compress and extract files.
|
||||||
|
|
||||||
|
- `compress` ...
|
||||||
|
- `extract` ...
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# Themes
|
||||||
|
|
||||||
|
Themes are defined in `hosts/themes`. Those themes define the colors, fonts, icons, etc, used by Hyprland and the apps/programs installed.
|
||||||
|
You can change the selected theme by changing the import statement of your host's variables.nix file.
|
||||||
|
|
||||||
|
> [!TIP]
|
||||||
|
> To apply the theme to DuckDuckGo, follow the instructions in `$HOME/.duckduckgo-colorscheme.js`
|
||||||
|
|
||||||
|
## Create your theme
|
||||||
|
|
||||||
|
Create a copy of one of the existing themes and change the variables.
|
||||||
|
Wallpapers are loaded from the `home/wallpapers` folder.
|
||||||
|
|
||||||
|
## Gallery
|
||||||
|
|
||||||
|
### Nixy
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
### Catppuccin
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
### Windows
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
# Todolist {
|
||||||
|
|
||||||
|
feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md))
|
||||||
|
|
||||||
|
- [ ] Nixy
|
||||||
|
- [ ] Themes
|
||||||
|
|
||||||
|
- [ ] Clipse: clipboard manager
|
||||||
|
- [ ] Walker launcher implementation
|
||||||
|
- [ ] Swaync implementation
|
||||||
|
|
||||||
|
- [ ] Qutebrowser
|
||||||
|
- [ ] !!! Bitwarden integration (I need this.)
|
||||||
|
|
||||||
|
- [ ] Hyprland
|
||||||
|
- [ ] Implement Hyprcursor
|
||||||
|
- [ ] wofi: popin
|
||||||
|
- [ ] wlogout: fade in
|
||||||
|
- [ ] Fix screenshots (screenshot region's border shows up in the screenshot, hyprshot jq error?)
|
||||||
|
- [ ] Hyprlock themes (repo hyprlock-styles on github)
|
||||||
|
|
||||||
|
- [ ] Nixvim
|
||||||
|
- [ ] Keymaps:
|
||||||
|
- Trouble
|
||||||
|
- Tagbar (actually not working)
|
||||||
|
- [ ] Disable background color for headlines.nvim for titles
|
||||||
|
|
||||||
|
## Server
|
||||||
|
|
||||||
|
- [ ] Jackflix V2
|
||||||
|
- Backup Radarr, Prowlarr, Sonarr config
|
||||||
|
- Take a look into buildarr or build a custom solution with *arr apis
|
||||||
|
- [ ] Bitcoin-git: broken
|
||||||
|
- [ ] Secrets mode 0444: not secure
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
# Wallpapers
|
||||||
|
|
||||||
|
Wallpapers can be found in the `/home/wallpapers` folder.
|
||||||
|
|
||||||
|
| Name | Preview |
|
||||||
|
|---------------------|----------------------------------------------------------------|
|
||||||
|
| astronaut.png |  |
|
||||||
|
| aurore.png |  |
|
||||||
|
| barcode.png |  |
|
||||||
|
| cat-leaves.png |  |
|
||||||
|
| city.png |  |
|
||||||
|
| cloud.png |  |
|
||||||
|
| clouds2.png |  |
|
||||||
|
| clouds.png |  |
|
||||||
|
| coffee.png |  |
|
||||||
|
| dark_cloud.png |  |
|
||||||
|
| dark.png |  |
|
||||||
|
| fuji-dark.png |  |
|
||||||
|
| fuji-light.png |  |
|
||||||
|
| galaxy.png |  |
|
||||||
|
| house-cloud.png |  |
|
||||||
|
| key.png |  |
|
||||||
|
| lavender-cat.png |  |
|
||||||
|
| lofi-computer.png |  |
|
||||||
|
| lofi-urban.png |  |
|
||||||
|
| magma.png |  |
|
||||||
|
| mountains-black.png |  |
|
||||||
|
| mountains.png |  |
|
||||||
|
| nix.png |  |
|
||||||
|
| problems.png |  |
|
||||||
|
| sea2.png |  |
|
||||||
|
| sea.png |  |
|
||||||
|
| space2.png |  |
|
||||||
|
| space.png |  |
|
||||||
|
| street.png |  |
|
||||||
|
| sun.png |  |
|
||||||
|
| tokyo.png |  |
|
||||||
|
| train.png |  |
|
||||||
|
| windows.png |  |
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Compress png files in ./docs/src and ./home/wallpapers
|
||||||
|
|
||||||
|
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
|
||||||
|
|
||||||
|
# Main images
|
||||||
|
for file in ./docs/src/*.png; do
|
||||||
|
optipng "$file"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Theme's images
|
||||||
|
for file in ./docs/src/*/*.png; do
|
||||||
|
optipng "$file"
|
||||||
|
done
|
||||||
|
|
||||||
|
# Wallpapers
|
||||||
|
for file in ./home/wallpapers/*.png; do
|
||||||
|
optipng "$file"
|
||||||
|
done
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
|
||||||
|
|
||||||
|
# Create WALLPAPERS.md to preview wallpapers in ./home/wallpapers
|
||||||
|
|
||||||
|
WALLPAPERS_FOLDER="./home/wallpapers"
|
||||||
|
WALLPAPERS_MD="./docs/WALLPAPERS.md"
|
||||||
|
[[ -d "$WALLPAPERS_FOLDER" ]] || (echo "Wallpapers folder not found" && exit 1)
|
||||||
|
|
||||||
|
echo "# Wallpapers" >"$WALLPAPERS_MD"
|
||||||
|
echo "" >>"$WALLPAPERS_MD"
|
||||||
|
echo "Wallpapers can be found in the \`/home/wallpapers\` folder." >>"$WALLPAPERS_MD"
|
||||||
|
echo "" >>"$WALLPAPERS_MD"
|
||||||
|
echo "| Name | Preview |" >>"$WALLPAPERS_MD"
|
||||||
|
echo "| -- | -- |" >>"$WALLPAPERS_MD"
|
||||||
|
|
||||||
|
for file in "$WALLPAPERS_FOLDER"/*.png; do
|
||||||
|
filename=$(basename "$file")
|
||||||
|
echo "| $filename |  |" >>"$WALLPAPERS_MD"
|
||||||
|
done
|
||||||
|
|
||||||
|
pandoc -t commonmark_x "$WALLPAPERS_MD" -o "/tmp/wallpapers.md"
|
||||||
|
mv "/tmp/wallpapers.md" "$WALLPAPERS_MD"
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Create the README.md file from the docs/src/README_template.md file
|
||||||
|
|
||||||
|
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
|
||||||
|
|
||||||
|
README_FILE="./README.md"
|
||||||
|
|
||||||
|
header=$(cat "./docs/src/header.md")
|
||||||
|
table_of_content=$(md-table-of-contents ./docs/src/README_template.md) # https://github.com/anotherhadi/md-table-of-contents
|
||||||
|
version=$(git describe --tags --abbrev=0)
|
||||||
|
readme_content=$(cat "./docs/src/README_template.md")
|
||||||
|
description=$(curl -s https://api.github.com/repos/anotherhadi/nixy | jq .description)
|
||||||
|
description="${description%\"}"
|
||||||
|
description="${description#\"}"
|
||||||
|
|
||||||
|
header=${header//\{date\}/$(date '+%D')}
|
||||||
|
header=${header//\{primarycolor\}/89b4fa}
|
||||||
|
header=${header//\{backgroundcolor\}/181825}
|
||||||
|
header=${header//\{version\}/$version}
|
||||||
|
header=${header//\{description\}/$description}
|
||||||
|
readme_content=${readme_content//\{md_table_of_content\}/$table_of_content}
|
||||||
|
|
||||||
|
echo "$header" >"$README_FILE"
|
||||||
|
echo "$readme_content" >>"$README_FILE"
|
||||||
|
sed 's/\r//' "$README_FILE" >"/tmp/readme.md"
|
||||||
|
mv "/tmp/readme.md" "$README_FILE"
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# A script to parse the Hyprland configuration to store keybindings in a table
|
||||||
|
|
||||||
|
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
|
||||||
|
|
||||||
|
KEYBINDINGS_FILE="./docs/KEYBINDINGS.md"
|
||||||
|
|
||||||
|
function getList() {
|
||||||
|
content=$1
|
||||||
|
name=$2
|
||||||
|
list_start=$(echo "$content" | sed "/$name = \[/!d;=;Q")
|
||||||
|
list=$(echo "$content" | tail +"$list_start")
|
||||||
|
list_end=$(echo "$list" | sed '/\]/!d;=;Q')
|
||||||
|
list=$(echo "$list" | head -n"$list_end")
|
||||||
|
|
||||||
|
echo "$list"
|
||||||
|
}
|
||||||
|
|
||||||
|
[[ -f "./home/system/hyprland/default.nix" ]] || (echo "File ./home/system/hyprland/default.nix not found" && exit 1)
|
||||||
|
|
||||||
|
config=$(cat "./home/system/hyprland/default.nix")
|
||||||
|
|
||||||
|
# Bind
|
||||||
|
bind=$(getList "$config" "bind")
|
||||||
|
# Bindm (mouse)
|
||||||
|
bindm=$(getList "$config" "bindm")
|
||||||
|
# Bindl (lock)
|
||||||
|
bindl=$(getList "$config" "bindl")
|
||||||
|
# Bindle (lock, repetition)
|
||||||
|
bindle=$(getList "$config" "bindle")
|
||||||
|
|
||||||
|
# Join the lists:
|
||||||
|
keybindings=$(echo -e "$bind\n$bindm\n$bindl\n$bindle" | grep '"')
|
||||||
|
|
||||||
|
echo "# Keybindings" >"$KEYBINDINGS_FILE"
|
||||||
|
echo "" >>"$KEYBINDINGS_FILE"
|
||||||
|
echo "The list of the keybindings working on Hyprland:" >>"$KEYBINDINGS_FILE"
|
||||||
|
echo "" >>"$KEYBINDINGS_FILE"
|
||||||
|
|
||||||
|
echo "| Description | Keybinding |" >>"$KEYBINDINGS_FILE"
|
||||||
|
echo "| -- | -- |" >>"$KEYBINDINGS_FILE"
|
||||||
|
echo "| Switch Workspace | SUPER + {Number} |" >>"$KEYBINDINGS_FILE"
|
||||||
|
echo "| Move app to Workspace | SHIFT + SUPER + {Number} |" >>"$KEYBINDINGS_FILE"
|
||||||
|
echo "$keybindings" | while read line; do
|
||||||
|
comment=$(echo "$line" | cut -d\# -f2)
|
||||||
|
line=$(echo "$line" | cut -d\# -f1)
|
||||||
|
line=${line:1:${#line}-3}
|
||||||
|
mod=$(echo "$line" | cut -d, -f1)
|
||||||
|
key=$(echo "$line" | cut -d, -f2)
|
||||||
|
dispatcher=$(echo "$line" | cut -d, -f3)
|
||||||
|
params=$(echo "$line" | cut -d, -f4)
|
||||||
|
|
||||||
|
[[ $mod == '$mod' ]] && mod="SUPER + "
|
||||||
|
[[ $mod == '$shiftMod' ]] && mod="SHIFT + SUPER + "
|
||||||
|
|
||||||
|
echo "| $comment | $mod$key |" >>"$KEYBINDINGS_FILE"
|
||||||
|
done
|
||||||
|
|
||||||
|
pandoc -t commonmark_x "$KEYBINDINGS_FILE" -o "/tmp/keybindings.md"
|
||||||
|
mv "/tmp/keybindings.md" "$KEYBINDINGS_FILE"
|
||||||
@@ -0,0 +1,26 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
[[ -d "./docs" ]] || (echo "Folder ./docs not found" && exit 1)
|
||||||
|
|
||||||
|
TAG=$(git describe --tags --abbrev=0)
|
||||||
|
echo "Current tag: $TAG"
|
||||||
|
|
||||||
|
read -rp "Enter the new tag name: " NEW_TAG
|
||||||
|
|
||||||
|
read -rp "Do you want to compress the png files? [y/N]: " COMPRESS_PNG
|
||||||
|
if [[ "$COMPRESS_PNG" == "y" || "$COMPRESS_PNG" == "Y" ]]; then
|
||||||
|
echo "Compresing png files..."
|
||||||
|
bash ./docs/scripts/compress_png.sh
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Creating wallpapers preview..."
|
||||||
|
bash ./docs/scripts/create_preview_wallpapers.sh
|
||||||
|
echo "Creating README.md..."
|
||||||
|
bash ./docs/scripts/create_readme.sh
|
||||||
|
echo "Creating keybindings.md..."
|
||||||
|
bash ./docs/scripts/keybindings_to_markdown.sh
|
||||||
|
|
||||||
|
git add .
|
||||||
|
git commit -m "Release $NEW_TAG"
|
||||||
|
git tag -a "$NEW_TAG" -m "Release $NEW_TAG"
|
||||||
|
git push origin "$NEW_TAG"
|
||||||
@@ -0,0 +1,42 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
[ "$1" = "" ] && echo "Usage: $0 <theme_name>" && exit 1
|
||||||
|
theme_name=$1
|
||||||
|
|
||||||
|
# Switch to workspace 1
|
||||||
|
sleep 2
|
||||||
|
|
||||||
|
# Step 1
|
||||||
|
kitty --class peaclock peaclock &
|
||||||
|
sleep 1
|
||||||
|
menu &
|
||||||
|
sleep 1
|
||||||
|
hyprshot -m "output" -m "active" -o "$HOME/.config/nixos/docs/src/$theme_name" -f "1.png" -d
|
||||||
|
sleep 2
|
||||||
|
pkill peaclock
|
||||||
|
menu
|
||||||
|
sleep 2
|
||||||
|
|
||||||
|
# Step 2
|
||||||
|
kitty cmatrix &
|
||||||
|
sleep 1
|
||||||
|
kitty &
|
||||||
|
sleep 1
|
||||||
|
qutebrowser &
|
||||||
|
sleep 3
|
||||||
|
hyprshot -m "output" -m "active" -o "$HOME/.config/nixos/docs/src/$theme_name" -f "2.png" -d
|
||||||
|
sleep 2
|
||||||
|
pkill cmatrix
|
||||||
|
pkill --newest qutebrowser ""
|
||||||
|
pkill --newest kitty
|
||||||
|
sleep 2
|
||||||
|
|
||||||
|
# Step 3
|
||||||
|
kitty cava &
|
||||||
|
sleep 1
|
||||||
|
spotify &
|
||||||
|
sleep 10
|
||||||
|
brightness-down
|
||||||
|
sleep 1
|
||||||
|
hyprshot -m "output" -m "active" -o "$HOME/.config/nixos/docs/src/$theme_name" -f "3.png" -d
|
||||||
|
sleep 2
|
||||||
@@ -0,0 +1,55 @@
|
|||||||
|
|
||||||
|
**Nixy** is a **Hyprland** NixOS configuration with **home-manager**, **secrets**, and **custom theming** all in one place.
|
||||||
|
It's a simple way to manage your system configuration and dotfiles.
|
||||||
|
|
||||||
|
## Table of Content
|
||||||
|
|
||||||
|
{md_table_of_content}
|
||||||
|
|
||||||
|
## Gallery
|
||||||
|
|
||||||
|

|
||||||
|

|
||||||
|

|
||||||
|
|
||||||
|
## Architecture
|
||||||
|
|
||||||
|
- 🏠 `home` are the dotfiles and configuration files for the users
|
||||||
|
- 'programs' is a collection of apps configured with home-manager
|
||||||
|
- 'scripts' is a folder full of bash scripts (see [SCRIPTS.md](docs/SCRIPTS.md))
|
||||||
|
- 'system' is some "desktop environment" configuration
|
||||||
|
- 'wallpapers' are... wallpapers
|
||||||
|
- 💻 `hosts` are the system configuration files
|
||||||
|
- 'laptop' is my configuration for my laptop with Nvidia that you can copy
|
||||||
|
- 'server' is for my homeserver (w/nextcloud, nginx, vaultwarden, ... look `hosts/server`)
|
||||||
|
- 'themes' contains all the *themes* available *(see [THEMES.md](docs/THEMES.md))*
|
||||||
|
- 'modules' are some nix modules that you can import (Nvidia, prime, fonts, ...)
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git clone https://github.com/anotherhadi/nixy ~/.config/nixos
|
||||||
|
```
|
||||||
|
|
||||||
|
- Copy the `hosts/laptop` folder, rename it to your system name, and change the variables inside the `variables.nix` file
|
||||||
|
- Add your `hardware-configuration.nix` to your new host's folder
|
||||||
|
- Add your 'nixosConfigurations' inside `flake.nix` (You can edit your hostname one and change the lines containing '# CHANGEME')
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
> When you add new files, don't forget to run `git add .` to add them to the git repository
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname
|
||||||
|
```
|
||||||
|
|
||||||
|
## Documentation
|
||||||
|
|
||||||
|
- [THEMES.md](docs/THEMES.md): How themes work and how to create your own
|
||||||
|
- [APPS.md](docs/APPS.md): Which apps are installed
|
||||||
|
- [SCRIPTS.md](docs/SCRIPTS.md): Scripts that are available
|
||||||
|
- [KEYBINDINGS.md](docs/KEYBINDINGS.md): Keybindings available in Hyprland
|
||||||
|
- [WALLPAPERS.md](docs/WALLPAPERS.md): Preview of every wallpapers available
|
||||||
|
|
||||||
|
- [TODO.md](docs/TODO.md): What's next (feel free to contribute)
|
||||||
|
- [CONTRIBUTING.md](docs/CONTRIBUTING.md): How to contribute
|
||||||
|
- [LICENSE](LICENSE): MIT License
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
[//]: # (Title: Nixy)
|
||||||
|
[//]: # (Description: {description})
|
||||||
|
[//]: # (Author: Hadi)
|
||||||
|
[//]: # (Date: {date})
|
||||||
|
[//]: # (Version: {version})
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
<img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/docs/src/logo.png" width="100px" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
# Nixy
|
||||||
|
|
||||||
|
<br>
|
||||||
|
<div align="center">
|
||||||
|
<a href="https://github.com/anotherhadi/nixy">
|
||||||
|
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=Version&message={version}&colorA={backgroundcolor}&colorB={primarycolor}&logo=githubactions&logoColor={primarycolor}"/>
|
||||||
|
</a>
|
||||||
|
<a href="https://github.com/anotherhadi/nixy/stargazers">
|
||||||
|
<img src="https://img.shields.io/github/stars/anotherhadi/nixy?color={primarycolor}&labelColor={backgroundcolor}&style=for-the-badge&logo=starship&logoColor={primarycolor}">
|
||||||
|
</a>
|
||||||
|
<a href="https://github.com/anotherhadi/nixy/">
|
||||||
|
<img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color={primarycolor}&labelColor={backgroundcolor}&style=for-the-badge&logo=github&logoColor={primarycolor}">
|
||||||
|
</a>
|
||||||
|
<a href="https://nixos.org">
|
||||||
|
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor={backgroundcolor}&logo=NixOS&logoColor={primarycolor}&color={primarycolor}">
|
||||||
|
</a>
|
||||||
|
<a href="https://github.com/anotherhadi/nixy/blob/main/LICENSE">
|
||||||
|
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&colorA={backgroundcolor}&colorB={primarycolor}&logo=unlicense&logoColor={primarycolor}"/>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
Binary file not shown.
|
After Width: | Height: | Size: 5.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.7 KiB |
@@ -0,0 +1 @@
|
|||||||
|
8c00e379ddd7f89e4bbf9f381a5721d980c8026f
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
62b52ad02a886c19a8cfe1ea17e8aaad50f23632
|
||||||
Generated
+233
-317
@@ -11,11 +11,11 @@
|
|||||||
"sf-pro": "sf-pro"
|
"sf-pro": "sf-pro"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1705496891,
|
"lastModified": 1719591391,
|
||||||
"narHash": "sha256-lLX87aJ9oUT3u0Iaf60xKIJ2RQNt3v4Ne2cvSWyaS7U=",
|
"narHash": "sha256-sVTFewitXIYe5vBihbCFQGdBPdnT26kES1T05umBBnE=",
|
||||||
"owner": "Lyndeno",
|
"owner": "Lyndeno",
|
||||||
"repo": "apple-fonts.nix",
|
"repo": "apple-fonts.nix",
|
||||||
"rev": "e6ffbc887752ba0fe035fbcc8b282555804dd3f6",
|
"rev": "0e21619dad5b0d9ca2e050155e32448380547b06",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -24,20 +24,52 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"aquamarine": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"hyprwayland-scanner": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprwayland-scanner"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1724273991,
|
||||||
|
"narHash": "sha256-+aUSOXKGpS5CRm1oTitgNAr05ThQNbKIXalZHl3nC6Y=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "aquamarine",
|
||||||
|
"rev": "9a3161ad4c78dc420d1cbb3aae638222608c7de4",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "aquamarine",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"devshell": {
|
"devshell": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_2",
|
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixvim",
|
"nixvim",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713532798,
|
"lastModified": 1722113426,
|
||||||
"narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=",
|
"narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "devshell",
|
"repo": "devshell",
|
||||||
"rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40",
|
"rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -84,11 +116,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714641030,
|
"lastModified": 1722555600,
|
||||||
"narHash": "sha256-yzcRNDoyVP7+SCNX0wmuDju1NUCt8Dz9+lyUXEI0dbI=",
|
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
|
||||||
"owner": "hercules-ci",
|
"owner": "hercules-ci",
|
||||||
"repo": "flake-parts",
|
"repo": "flake-parts",
|
||||||
"rev": "e5d10a24b66c3ea8f150e47dfdb0416ab7c3390e",
|
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -97,61 +129,10 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-root": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1713493429,
|
|
||||||
"narHash": "sha256-ztz8JQkI08tjKnsTpfLqzWoKFQF4JGu2LRz8bkdnYUk=",
|
|
||||||
"owner": "srid",
|
|
||||||
"repo": "flake-root",
|
|
||||||
"rev": "bc748b93b86ee76e2032eecda33440ceb2532fcd",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "srid",
|
|
||||||
"repo": "flake-root",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems"
|
"systems": "systems"
|
||||||
},
|
},
|
||||||
"locked": {
|
|
||||||
"lastModified": 1705309234,
|
|
||||||
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils_2": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_3"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1701680307,
|
|
||||||
"narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"flake-utils_3": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_4"
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1710146030,
|
"lastModified": 1710146030,
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||||
@@ -166,16 +147,16 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils_4": {
|
"flake-utils_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"systems": "systems_7"
|
"systems": "systems_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1685518550,
|
"lastModified": 1710146030,
|
||||||
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
|
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
|
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -184,11 +165,41 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"git-hooks": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": [
|
||||||
|
"nixvim",
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1724440431,
|
||||||
|
"narHash": "sha256-9etXEOUtzeMgqg1u0wp+EdwG7RpmrAZ2yX516bMj2aE=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"rev": "c8a54057aae480c56e28ef3e14e4960628ac495b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "git-hooks.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"gitignore": {
|
"gitignore": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixvim",
|
"nixvim",
|
||||||
"pre-commit-hooks",
|
"git-hooks",
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -213,11 +224,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715077503,
|
"lastModified": 1724435763,
|
||||||
"narHash": "sha256-AfHQshzLQfUqk/efMtdebHaQHqVntCMjhymQzVFLes0=",
|
"narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "6e277d9566de9976f47228dd8c580b97488734d4",
|
"rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -234,11 +245,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715077503,
|
"lastModified": 1724435763,
|
||||||
"narHash": "sha256-AfHQshzLQfUqk/efMtdebHaQHqVntCMjhymQzVFLes0=",
|
"narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "6e277d9566de9976f47228dd8c580b97488734d4",
|
"rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -263,11 +274,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713612213,
|
"lastModified": 1722623071,
|
||||||
"narHash": "sha256-zJboXgWNpNhKyNF8H/3UYzWkx7w00TOCGKi3cwi+tsw=",
|
"narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprcursor",
|
"repo": "hyprcursor",
|
||||||
"rev": "cab4746180f210a3c1dd3d53e45c510e309e90e1",
|
"rev": "912d56025f03d41b1ad29510c423757b4379eb1c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -278,19 +289,21 @@
|
|||||||
},
|
},
|
||||||
"hyprland": {
|
"hyprland": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
|
"aquamarine": "aquamarine",
|
||||||
"hyprcursor": "hyprcursor",
|
"hyprcursor": "hyprcursor",
|
||||||
"hyprlang": "hyprlang",
|
"hyprlang": "hyprlang",
|
||||||
|
"hyprutils": "hyprutils",
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"systems": "systems_2",
|
"systems": "systems_2",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715203037,
|
"lastModified": 1724784150,
|
||||||
"narHash": "sha256-yWsrCPhBpin7AXVI66/EAE+YPJTweS8CDCZJQliB10k=",
|
"narHash": "sha256-XlmFLoLppuKxSh2eGPXy27+tNIQ+w+cXoh8Ln3vBJew=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "e4e84064f2d07810e0c150bce1369a0a00503e9a",
|
"rev": "17ed4fc04cedbaad365bdebf6bfe0160c527f3fe",
|
||||||
"revCount": 4638,
|
"revCount": 5147,
|
||||||
"submodules": true,
|
"submodules": true,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/hyprwm/Hyprland"
|
"url": "https://github.com/hyprwm/Hyprland"
|
||||||
@@ -301,6 +314,36 @@
|
|||||||
"url": "https://github.com/hyprwm/Hyprland"
|
"url": "https://github.com/hyprwm/Hyprland"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"hyprland-plugins": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprland": [
|
||||||
|
"hyprland"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland-plugins",
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland-plugins",
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1723143591,
|
||||||
|
"narHash": "sha256-dPcWAeRJoG5CyWC32X3XX+Og0v/k1/S1N0T5dQWT32k=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-plugins",
|
||||||
|
"rev": "b73d7b901d8cb1172dd25c7b7159f0242c625a77",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprland-plugins",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"hyprland-protocols": {
|
"hyprland-protocols": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -315,11 +358,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714869498,
|
"lastModified": 1721326555,
|
||||||
"narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=",
|
"narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprland-protocols",
|
"repo": "hyprland-protocols",
|
||||||
"rev": "e06482e0e611130cd1929f75e8c1cf679e57d161",
|
"rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -329,6 +372,35 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"hyprlang": {
|
"hyprlang": {
|
||||||
|
"inputs": {
|
||||||
|
"hyprutils": [
|
||||||
|
"hyprland",
|
||||||
|
"hyprutils"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"hyprland",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"systems": [
|
||||||
|
"hyprland",
|
||||||
|
"systems"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1724174162,
|
||||||
|
"narHash": "sha256-fOOBLwil6M9QWMCiSULwjMQzrXhHXUnEqmjHX5ZHeVI=",
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"rev": "16e5c9465f04477d8a3dd48a0a26bf437986336c",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hyprwm",
|
||||||
|
"repo": "hyprlang",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hyprutils": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"hyprland",
|
"hyprland",
|
||||||
@@ -340,38 +412,16 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713121246,
|
"lastModified": 1722869141,
|
||||||
"narHash": "sha256-502X0Q0fhN6tJK7iEUA8CghONKSatW/Mqj4Wappd++0=",
|
"narHash": "sha256-0KU4qhyMp441qfwbirNg3+wbm489KnEjXOz2I/RbeFs=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprutils",
|
||||||
"rev": "78fcaa27ae9e1d782faa3ff06c8ea55ddce63706",
|
"rev": "0252fd13e78e60fb0da512a212e56007515a49f7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprlang",
|
"repo": "hyprutils",
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"hyprlang_2": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"rose-pine-hyprcursor",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": "systems_5"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1709914708,
|
|
||||||
"narHash": "sha256-bR4o3mynoTa1Wi4ZTjbnsZ6iqVcPGriXp56bZh5UFTk=",
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprlang",
|
|
||||||
"rev": "a685493fdbeec01ca8ccdf1f3655c044a8ce2fe2",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "hyprwm",
|
|
||||||
"repo": "hyprlang",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -387,11 +437,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715090986,
|
"lastModified": 1721324119,
|
||||||
"narHash": "sha256-FXpQvmS9R7alwZ47XK5UIcAbC9YKSxc0+GOVYqwa0jM=",
|
"narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprwayland-scanner",
|
"repo": "hyprwayland-scanner",
|
||||||
"rev": "94e32ec37e7215b16d5c1b41b1773ff6742e704b",
|
"rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -408,11 +458,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1713946171,
|
"lastModified": 1724561770,
|
||||||
"narHash": "sha256-lc75rgRQLdp4Dzogv5cfqOg6qYc5Rp83oedF2t0kDp8=",
|
"narHash": "sha256-zv8C9RNa86CIpyHwPIVO/k+5TfM8ZbjGwOOpTe1grls=",
|
||||||
"owner": "lnl7",
|
"owner": "lnl7",
|
||||||
"repo": "nix-darwin",
|
"repo": "nix-darwin",
|
||||||
"rev": "230a197063de9287128e2c68a7a4b0cd7d0b50a7",
|
"rev": "ac5694a0b855a981e81b4d9f14052e3ff46ca39e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -423,11 +473,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715148395,
|
"lastModified": 1724575805,
|
||||||
"narHash": "sha256-lRxjTxY3103LGMjWdVqntKZHhlmMX12QUjeFrQMmGaE=",
|
"narHash": "sha256-OB/kEL3GAhUZmUfkbPfsPhKs0pRqJKs0EEBiLfyKZw8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "a4e2b7909fc1bdf30c30ef21d388fde0b5cdde4a",
|
"rev": "9fc19be21f0807d6be092d70bf0b1de0c00ac895",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -439,11 +489,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1696375444,
|
"lastModified": 1717786204,
|
||||||
"narHash": "sha256-Sv0ICt/pXfpnFhTGYTsX6lUr1SljnuXWejYTI2ZqHa4=",
|
"narHash": "sha256-4q0s6m0GUcN7q+Y2DqD27iLvbcd1G50T2lv08kKxkSI=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "81e8f48ebdecf07aab321182011b067aafc78896",
|
"rev": "051f920625ab5aabe37c920346e3e69d7d34400e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -455,27 +505,27 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-stable": {
|
"nixpkgs-stable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714858427,
|
"lastModified": 1721524707,
|
||||||
"narHash": "sha256-tCxeDP4C1pWe2rYY3IIhdA40Ujz32Ufd4tcrHPSKx2M=",
|
"narHash": "sha256-5NctRsoE54N86nWd0psae70YSLfrOek3Kv1e8KoXe/0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b980b91038fc4b09067ef97bbe5ad07eecca1e76",
|
"rev": "556533a23879fc7e5f98dd2e0b31a6911a213171",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"ref": "release-23.11",
|
"ref": "release-24.05",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714253743,
|
"lastModified": 1724224976,
|
||||||
"narHash": "sha256-mdTQw2XlariysyScCv2tTE45QSU9v/ezLcHJ22f0Nxc=",
|
"narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "58a1abdbae3217ca6b702f03d3b35125d88a2994",
|
"rev": "c374d94f1536013ca8e92341b540eba4c22f9c62",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -487,11 +537,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715087517,
|
"lastModified": 1724479785,
|
||||||
"narHash": "sha256-CLU5Tsg24Ke4+7sH8azHWXKd0CFd4mhLWfhYgUiDBpQ=",
|
"narHash": "sha256-pP3Azj5d6M5nmG68Fu4JqZmdGt4S4vqI5f8te+E/FTw=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b211b392b8486ee79df6cdfb1157ad2133427a29",
|
"rev": "d0e1602ddde669d5beb01aec49d71a51937ed7be",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -501,58 +551,26 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710272261,
|
|
||||||
"narHash": "sha256-g0bDwXFmTE7uGDOs9HcJsfLFhH7fOsASbAuOzDC+fhQ=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "0ad13a6833440b8e238947e47bea7f11071dc2b2",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_5": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1686020360,
|
|
||||||
"narHash": "sha256-Wee7lIlZ6DIZHHLiNxU5KdYZQl0iprENXa/czzI6Cj4=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "4729ffac6fd12e26e5a8de002781ffc49b0e94b7",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "nixos-unstable",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixvim": {
|
"nixvim": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"devshell": "devshell",
|
"devshell": "devshell",
|
||||||
"flake-compat": "flake-compat",
|
"flake-compat": "flake-compat",
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts",
|
||||||
"flake-root": "flake-root",
|
"git-hooks": "git-hooks",
|
||||||
"home-manager": "home-manager_2",
|
"home-manager": "home-manager_2",
|
||||||
"nix-darwin": "nix-darwin",
|
"nix-darwin": "nix-darwin",
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
],
|
],
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"nuschtosSearch": "nuschtosSearch",
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715115147,
|
"lastModified": 1724820329,
|
||||||
"narHash": "sha256-oREqXPEtuYbOdBKbsDQzr2V01EzK4kD8MTdwO9ljTnU=",
|
"narHash": "sha256-jXaDebjRjcUgZcMNXkvA99s/tTUvZfLLJxLwf1e/qwE=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nixvim",
|
"repo": "nixvim",
|
||||||
"rev": "f7f255afe22fcca0c07177c3707fd61fa0c85835",
|
"rev": "70e9532ec290769e4d671747b0f65b1c29a3c14e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -561,10 +579,32 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nuschtosSearch": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-utils": "flake-utils_2",
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixvim",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1724584782,
|
||||||
|
"narHash": "sha256-7FfHv7b1jwMPSu9SPY9hdxStk8E6EeSwzqdvV69U4BM=",
|
||||||
|
"owner": "NuschtOS",
|
||||||
|
"repo": "search",
|
||||||
|
"rev": "5a08d691de30b6fc28d58ce71a5e420f2694e087",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NuschtOS",
|
||||||
|
"repo": "search",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"ny": {
|
"ny": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"narHash": "sha256-phACDdjI8RX6yD77PSmFcsriagt+2UuySD7+WEzdzGo=",
|
"narHash": "sha256-FkV8Z2fdUTwvcKeltFJVCisvAarcdnmlj/33exdyxnQ=",
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg"
|
"url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg"
|
||||||
},
|
},
|
||||||
@@ -573,71 +613,23 @@
|
|||||||
"url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg"
|
"url": "https://devimages-cdn.apple.com/design/resources/download/NY.dmg"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"pre-commit-hooks": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-compat": "flake-compat_2",
|
|
||||||
"flake-utils": "flake-utils_3",
|
|
||||||
"gitignore": "gitignore",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixvim",
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"nixpkgs-stable": [
|
|
||||||
"nixvim",
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1714478972,
|
|
||||||
"narHash": "sha256-q//cgb52vv81uOuwz1LaXElp3XAe1TqrABXODAEF6Sk=",
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "pre-commit-hooks.nix",
|
|
||||||
"rev": "2849da033884f54822af194400f8dff435ada242",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "cachix",
|
|
||||||
"repo": "pre-commit-hooks.nix",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"apple-fonts": "apple-fonts",
|
"apple-fonts": "apple-fonts",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
|
"hyprland-plugins": "hyprland-plugins",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_3",
|
||||||
"nixvim": "nixvim",
|
"nixvim": "nixvim",
|
||||||
"rose-pine-hyprcursor": "rose-pine-hyprcursor",
|
|
||||||
"sops-nix": "sops-nix",
|
"sops-nix": "sops-nix",
|
||||||
"spicetify-nix": "spicetify-nix"
|
"spicetify-nix": "spicetify-nix"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"rose-pine-hyprcursor": {
|
|
||||||
"inputs": {
|
|
||||||
"hyprlang": "hyprlang_2",
|
|
||||||
"nixpkgs": "nixpkgs_4",
|
|
||||||
"utils": "utils"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1711302328,
|
|
||||||
"narHash": "sha256-wLuFLI6S5DOretqJN05+kvrs8cbnZKfVLXrJ4hvI/Tg=",
|
|
||||||
"owner": "ndom91",
|
|
||||||
"repo": "rose-pine-hyprcursor",
|
|
||||||
"rev": "7e0473876f0e6d2308813a78fe84a6c6430b112b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "ndom91",
|
|
||||||
"repo": "rose-pine-hyprcursor",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"sf-arabic": {
|
"sf-arabic": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"narHash": "sha256-CPewXMGI78xHsjdRU8ZJIBSYjh5UY6UW21ihE4B+Bkk=",
|
"narHash": "sha256-u+Q2Hd+JCiKhIQtbQqawg1lIEgGhjmdGye2cNdWlBG0=",
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg"
|
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Arabic.dmg"
|
||||||
},
|
},
|
||||||
@@ -649,7 +641,7 @@
|
|||||||
"sf-compact": {
|
"sf-compact": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"narHash": "sha256-nJkPlddKF2dIwj+6jiVvS60hDcGAMasEOWemUwBS2mQ=",
|
"narHash": "sha256-9kXXWmu2zg0LSE7SihItXmBltLvNwyG1Ba6QehvMh04=",
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg"
|
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Compact.dmg"
|
||||||
},
|
},
|
||||||
@@ -661,7 +653,7 @@
|
|||||||
"sf-mono": {
|
"sf-mono": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"narHash": "sha256-KT1RXz3NcWPetyxVlgMfh/dsoznpI3lMnplz6V7PCUU=",
|
"narHash": "sha256-BVmYmgqq79ezgyqNClyHkj2L4N3/PRisPm8YFBQZQ98=",
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg"
|
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Mono.dmg"
|
||||||
},
|
},
|
||||||
@@ -673,7 +665,7 @@
|
|||||||
"sf-pro": {
|
"sf-pro": {
|
||||||
"flake": false,
|
"flake": false,
|
||||||
"locked": {
|
"locked": {
|
||||||
"narHash": "sha256-cn8ae2UddF8Pru6i3fSG2Wki5sf1DmWKD2FmKMsoeAA=",
|
"narHash": "sha256-yQhtaEPTuYOIOaC6eSPdka/Jv5Ydw3Mnd8Prlcgjs90=",
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg"
|
"url": "https://devimages-cdn.apple.com/design/resources/download/SF-Pro.dmg"
|
||||||
},
|
},
|
||||||
@@ -690,11 +682,11 @@
|
|||||||
"nixpkgs-stable": "nixpkgs-stable"
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715244550,
|
"lastModified": 1723501126,
|
||||||
"narHash": "sha256-ffOZL3eaZz5Y1nQ9muC36wBCWwS1hSRLhUzlA9hV2oI=",
|
"narHash": "sha256-N9IcHgj/p1+2Pvk8P4Zc1bfrMwld5PcosVA0nL6IGdE=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "0dc50257c00ee3c65fef3a255f6564cfbfe6eb7f",
|
"rev": "be0eec2d27563590194a9206f551a6f73d52fa34",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -705,19 +697,21 @@
|
|||||||
},
|
},
|
||||||
"spicetify-nix": {
|
"spicetify-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils_4",
|
"flake-compat": "flake-compat_2",
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1704167711,
|
"lastModified": 1724818600,
|
||||||
"narHash": "sha256-kFDq+kf/Di/P8bq5sUP8pVwRkrSVrABksBjMPmLic3s=",
|
"narHash": "sha256-7i8zqLTds2bXs6n/2ucSJdmKTzhajCktQ2WWFOVW3x0=",
|
||||||
"owner": "the-argus",
|
"owner": "Gerg-L",
|
||||||
"repo": "spicetify-nix",
|
"repo": "spicetify-nix",
|
||||||
"rev": "1325416f951d6a82cfddb1289864ad782e2b87c4",
|
"rev": "c8050c21e2e61efe0ac2d423eac9062c62bb6633",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "the-argus",
|
"owner": "Gerg-L",
|
||||||
"repo": "spicetify-nix",
|
"repo": "spicetify-nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
@@ -767,66 +761,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"systems_4": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_5": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1689347949,
|
|
||||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default-linux",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_6": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems_7": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"treefmt-nix": {
|
"treefmt-nix": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -835,11 +769,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714058656,
|
"lastModified": 1724338379,
|
||||||
"narHash": "sha256-Qv4RBm4LKuO4fNOfx9wl40W2rBbv5u5m+whxRYUMiaA=",
|
"narHash": "sha256-kKJtaiU5Ou+e/0Qs7SICXF22DLx4V/WhG1P6+k4yeOE=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "treefmt-nix",
|
"repo": "treefmt-nix",
|
||||||
"rev": "c6aaf729f34a36c445618580a9f95a48f5e4e03f",
|
"rev": "070f834771efa715f3e74cd8ab93ecc96fabc951",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -848,24 +782,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"utils": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems_6"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1710146030,
|
|
||||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"xdph": {
|
"xdph": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"hyprland-protocols": "hyprland-protocols",
|
"hyprland-protocols": "hyprland-protocols",
|
||||||
@@ -883,11 +799,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1714060055,
|
"lastModified": 1724073926,
|
||||||
"narHash": "sha256-j43TS9wv9luaAlpxcxw0sjxkbcc2mGANVR2RYgo3RCw=",
|
"narHash": "sha256-nWlUL43jOFHf+KW6Hqrx+W/r1XdXuDyb0wC/SrHsOu4=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "xdg-desktop-portal-hyprland",
|
"repo": "xdg-desktop-portal-hyprland",
|
||||||
"rev": "0fe840441e43da12cd7865ed9aa8cdc35a8da85a",
|
"rev": "a08ecbbf33598924e93542f737fc6169a26b481e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
{
|
{
|
||||||
description = "Nixy - Hadi's NixOS configuration";
|
# https://github.com/anotherhadi/nixy
|
||||||
|
description = ''
|
||||||
|
Nixy is a NixOS configuration with home-manager, secrets and custom theming all in one place.
|
||||||
|
It's a simple way to manage your system configuration and dotfiles.
|
||||||
|
'';
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
@@ -12,43 +16,45 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
apple-fonts.url = "github:Lyndeno/apple-fonts.nix";
|
apple-fonts.url = "github:Lyndeno/apple-fonts.nix";
|
||||||
spicetify-nix.url = "github:the-argus/spicetify-nix";
|
spicetify-nix = {
|
||||||
|
url = "github:Gerg-L/spicetify-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
sops-nix = {
|
sops-nix = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
|
||||||
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
|
||||||
rose-pine-hyprcursor.url = "github:ndom91/rose-pine-hyprcursor";
|
hyprland-plugins = {
|
||||||
|
url = "github:hyprwm/hyprland-plugins";
|
||||||
|
inputs.hyprland.follows = "hyprland";
|
||||||
|
};
|
||||||
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = inputs@{ nixpkgs, home-manager, sops-nix, hyprland, spicetify-nix
|
outputs = inputs@{ nixpkgs, ... }: {
|
||||||
, nixos-hardware, ... }: {
|
nixosConfigurations = {
|
||||||
nixosConfigurations = {
|
|
||||||
nixy = nixpkgs.lib.nixosSystem {
|
nixy = nixpkgs.lib.nixosSystem { # CHANGEME
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
nixos-hardware.nixosModules.omen-16-n0005ne # REMOVE
|
{ _module.args = { inherit inputs; }; }
|
||||||
./nixos/configuration.nix
|
inputs.nixos-hardware.nixosModules.omen-16-n0005ne # CHANGEME
|
||||||
./nixos/fonts.nix
|
inputs.home-manager.nixosModules.home-manager
|
||||||
./nixos/tuigreet.nix
|
./hosts/laptop/configuration.nix # CHANGEME
|
||||||
{ _module.args = { inherit inputs; }; }
|
];
|
||||||
home-manager.nixosModules.home-manager
|
|
||||||
{
|
|
||||||
home-manager = {
|
|
||||||
useGlobalPkgs = true;
|
|
||||||
useUserPackages = true;
|
|
||||||
users."hadi" = import ./home/home.nix;
|
|
||||||
extraSpecialArgs = {
|
|
||||||
inherit inputs;
|
|
||||||
inherit spicetify-nix;
|
|
||||||
inherit sops-nix;
|
|
||||||
inherit hyprland;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
jack = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
{ _module.args = { inherit inputs; }; }
|
||||||
|
inputs.sops-nix.nixosModules.sops
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
./hosts/server/configuration.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
{
|
|
||||||
imports = [
|
|
||||||
./kitty
|
|
||||||
./lf
|
|
||||||
./neofetch
|
|
||||||
./nvim
|
|
||||||
./qutebrowser
|
|
||||||
./spicetify
|
|
||||||
./wofi
|
|
||||||
./cava
|
|
||||||
./tmux
|
|
||||||
./lazygit
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1,50 +0,0 @@
|
|||||||
{ config, pkgs, ... }: {
|
|
||||||
|
|
||||||
programs.kitty = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
|
|
||||||
scrollback_lines = 10000;
|
|
||||||
enable_audio_bell = false;
|
|
||||||
update_check_interval = 0;
|
|
||||||
font_family = config.theme.font-mono;
|
|
||||||
font_size = 13;
|
|
||||||
cursor_shape = "Underline";
|
|
||||||
cursor_underline_thickness = 1;
|
|
||||||
window_padding_width = 10;
|
|
||||||
url_style = "curly";
|
|
||||||
confirm_os_window_close = "0";
|
|
||||||
remember_window_size = "no";
|
|
||||||
disable_ligatures = "never";
|
|
||||||
shell = "${pkgs.tmux}/bin/tmux";
|
|
||||||
initial_window_width = 1200;
|
|
||||||
initial_window_height = 600;
|
|
||||||
|
|
||||||
background = "#" + config.theme.colors.bg;
|
|
||||||
url_color = "#" + config.theme.colors.primary-fg;
|
|
||||||
|
|
||||||
color0 = "#" + config.theme.colors.color0;
|
|
||||||
color8 = "#" + config.theme.colors.color8;
|
|
||||||
color1 = "#" + config.theme.colors.color1;
|
|
||||||
color9 = "#" + config.theme.colors.color9;
|
|
||||||
color2 = "#" + config.theme.colors.color2;
|
|
||||||
color10 = "#" + config.theme.colors.color10;
|
|
||||||
color3 = "#" + config.theme.colors.color3;
|
|
||||||
color11 = "#" + config.theme.colors.color11;
|
|
||||||
color4 = "#" + config.theme.colors.color4;
|
|
||||||
color12 = "#" + config.theme.colors.color12;
|
|
||||||
color5 = "#" + config.theme.colors.color5;
|
|
||||||
color13 = "#" + config.theme.colors.color13;
|
|
||||||
color6 = "#" + config.theme.colors.color6;
|
|
||||||
color14 = "#" + config.theme.colors.color14;
|
|
||||||
color7 = "#" + config.theme.colors.color7;
|
|
||||||
color15 = "#" + config.theme.colors.color15;
|
|
||||||
|
|
||||||
cursor = "#" + config.theme.colors.fg;
|
|
||||||
cursor_text_color = "#" + config.theme.colors.bg;
|
|
||||||
|
|
||||||
selection_foreground = "#" + config.theme.colors.primary-fg;
|
|
||||||
selection_background = "#" + config.theme.colors.primary-bg;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{ programs.nixvim.plugins.nvim-autopairs = { enable = true; }; }
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{ programs.nixvim.plugins.bufferline = { enable = true; }; }
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{ programs.nixvim.plugins.comment = { enable = true; }; }
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim.plugins.copilot-vim = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,37 +0,0 @@
|
|||||||
{ inputs, ... }: {
|
|
||||||
imports = [
|
|
||||||
inputs.nixvim.homeManagerModules.nixvim
|
|
||||||
./auto-pairs.nix
|
|
||||||
./options.nix
|
|
||||||
./bufferline.nix
|
|
||||||
./lazygit.nix
|
|
||||||
./telescope.nix
|
|
||||||
./nvim-tree.nix
|
|
||||||
./lightline.nix
|
|
||||||
./git.nix
|
|
||||||
./cmp.nix
|
|
||||||
./none-ls.nix
|
|
||||||
./wilder.nix
|
|
||||||
./lsp.nix
|
|
||||||
./treesitter.nix
|
|
||||||
./toggleterm.nix
|
|
||||||
./copilot.nix
|
|
||||||
./obsidian.nix
|
|
||||||
./whichkey.nix
|
|
||||||
./alpha.nix
|
|
||||||
./keymaps.nix
|
|
||||||
./comment.nix
|
|
||||||
./oil.nix
|
|
||||||
./trouble.nix
|
|
||||||
./tmux-navigator.nix
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.nixvim = {
|
|
||||||
enable = true;
|
|
||||||
colorschemes.catppuccin = {
|
|
||||||
enable = true;
|
|
||||||
settings = { transparent_background = true; };
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim.plugins.gitsigns = {
|
|
||||||
enable = true;
|
|
||||||
settings = { current_line_blame = false; };
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,71 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim.keymaps = [
|
|
||||||
{
|
|
||||||
key = "<leader>e";
|
|
||||||
action = "<CMD>Neotree toggle<CR>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<space>fm";
|
|
||||||
action = "<CMD>lua vim.lsp.buf.format()<CR>";
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
key = "<leader>ot";
|
|
||||||
action = "<cmd>lua require('obsidian').util.toggle_checkbox()<cr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
key = "<leader>oo";
|
|
||||||
action = "<cmd>ObsidianQuickSwitch<cr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
key = "<leader>on";
|
|
||||||
action = "<cmd>ObsidianNew<cr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
key = "<leader>of";
|
|
||||||
action = "<cmd>ObsidianSearch<cr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
key = "<leader>oi";
|
|
||||||
action = "<cmd>ObsidianPasteImg<cr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
key = "<leader>E";
|
|
||||||
action = "<cmd>Oil<cr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
key = "<leader>t";
|
|
||||||
action = "<cmd>TroubleToggle<cr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
{
|
|
||||||
key = "<C-h>";
|
|
||||||
action = "<cmd>TmuxNavigateLeft<cr>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<C-j>";
|
|
||||||
action = "<cmd>TmuxNavigateDown<cr>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<C-k>";
|
|
||||||
action = "<cmd>TmuxNavigateUp<cr>";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
key = "<C-l>";
|
|
||||||
action = "<cmd>TmuxNavigateRight<cr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
# Terminal Mappings
|
|
||||||
{
|
|
||||||
mode = "t";
|
|
||||||
key = "<esc>";
|
|
||||||
action = "<C-\\><C-n>";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{ programs.nixvim.plugins.lazygit = { enable = true; }; }
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{ programs.nixvim.plugins.lualine = { enable = true; }; }
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim.plugins = {
|
|
||||||
lsp-format.enable = true;
|
|
||||||
lsp = {
|
|
||||||
enable = true;
|
|
||||||
servers = {
|
|
||||||
bashls.enable = true;
|
|
||||||
clangd.enable = true;
|
|
||||||
gopls.enable = true;
|
|
||||||
nixd.enable = true;
|
|
||||||
tailwindcss.enable = true;
|
|
||||||
html.enable = true;
|
|
||||||
svelte.enable = true;
|
|
||||||
};
|
|
||||||
keymaps.lspBuf = {
|
|
||||||
"gd" = "definition";
|
|
||||||
"gD" = "references";
|
|
||||||
"gt" = "type_definition";
|
|
||||||
"gi" = "implementation";
|
|
||||||
"K" = "hover";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim.plugins.none-ls = {
|
|
||||||
enable = true;
|
|
||||||
sources = {
|
|
||||||
diagnostics = {
|
|
||||||
golangci_lint.enable = true;
|
|
||||||
statix.enable = true;
|
|
||||||
};
|
|
||||||
formatting = {
|
|
||||||
gofmt.enable = true;
|
|
||||||
goimports.enable = true;
|
|
||||||
nixfmt.enable = true;
|
|
||||||
markdownlint.enable = true;
|
|
||||||
tidy.enable = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim.plugins.neo-tree = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim.plugins.obsidian = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
dir = "~/Nextcloud/obsidian";
|
|
||||||
disable_frontmatter = true;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim.plugins.oil = {
|
|
||||||
enable = true;
|
|
||||||
settings = { default_file_explorer = false; };
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim.plugins.telescope = {
|
|
||||||
enable = true;
|
|
||||||
keymaps = {
|
|
||||||
"<leader>fg" = "live_grep";
|
|
||||||
#"<C-p>" = {
|
|
||||||
# action = "git_files";
|
|
||||||
# desc = "Telescope Git Files";
|
|
||||||
#};
|
|
||||||
};
|
|
||||||
extensions.fzf-native = { enable = true; };
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{ programs.nixvim.plugins.tmux-navigator = { enable = true; }; }
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim.plugins.toggleterm = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
open_mapping = "[[<c-t>]]";
|
|
||||||
direction = "horizontal";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim.plugins = {
|
|
||||||
treesitter = {
|
|
||||||
enable = true;
|
|
||||||
nixGrammars = true;
|
|
||||||
indent = true;
|
|
||||||
};
|
|
||||||
treesitter-context.enable = true;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
{ programs.nixvim.plugins.trouble = { enable = true; }; }
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim.plugins.which-key.enable=true;
|
|
||||||
}
|
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
{
|
|
||||||
programs.nixvim.plugins.wilder = {
|
|
||||||
enable = true;
|
|
||||||
modes = [ ":" "/" "?" ];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,261 +0,0 @@
|
|||||||
{ config, ... }: {
|
|
||||||
|
|
||||||
imports = [ ./duckduckgo-colorscheme.nix ./homepage/default.nix ];
|
|
||||||
|
|
||||||
programs.qutebrowser = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
searchEngines = {
|
|
||||||
"DEFAULT" = "https://duckduckgo.com/?q={}&ia=web";
|
|
||||||
"d" = "https://duckduckgo.com/?q={}&ia=web";
|
|
||||||
"g" = "https://google.com/search?q={}";
|
|
||||||
"y" = "https://youtube.com/results?search_query={}";
|
|
||||||
"ya" = "https://yandex.com/search/?text={}";
|
|
||||||
"n" = "https://mynixos.com/search?q={}";
|
|
||||||
"nixo" = "https://search.nixos.org/options?channel=unstable&query={}";
|
|
||||||
"nixp" = "https://search.nixos.org/packages?channel=unstable&query={}";
|
|
||||||
"gt" = "https://github.com/search?q={}&type=repositories";
|
|
||||||
};
|
|
||||||
|
|
||||||
quickmarks = {
|
|
||||||
home = "${config.home.homeDirectory}/.config/startpage/index.html";
|
|
||||||
mynixos = "https://mynixos.com";
|
|
||||||
github = "https://github.com";
|
|
||||||
outlook = "https://outlook.office.com/mail/";
|
|
||||||
office = "https://www.office.com/?auth=2";
|
|
||||||
teams = "https://teams.microsoft.com/_";
|
|
||||||
casa = "http://192.168.2.16:8081/#/";
|
|
||||||
proton = "https://mail.proton.me/u/0/inbox";
|
|
||||||
cloudflare-one = "https://one.dash.cloudflare.com/";
|
|
||||||
chatgpt = "https://chat.openai.com/";
|
|
||||||
nixvim = "https://nix-community.github.io/nixvim/";
|
|
||||||
hyprland = "https://wiki.hyprland.org/";
|
|
||||||
nerdfont = "https://www.nerdfonts.com/cheat-sheet";
|
|
||||||
youtube = "https://youtube.com/";
|
|
||||||
cloudflare = "https://dash.cloudflare.com/";
|
|
||||||
};
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
url = {
|
|
||||||
default_page =
|
|
||||||
"${config.home.homeDirectory}/.config/startpage/index.html";
|
|
||||||
start_pages =
|
|
||||||
[ "${config.home.homeDirectory}/.config/startpage/index.html" ];
|
|
||||||
};
|
|
||||||
|
|
||||||
colors = {
|
|
||||||
tabs = {
|
|
||||||
odd.bg = "#${config.theme.colors.bg}";
|
|
||||||
odd.fg = "#${config.theme.colors.fg}";
|
|
||||||
even.bg = "#${config.theme.colors.bg}";
|
|
||||||
even.fg = "#${config.theme.colors.fg}";
|
|
||||||
selected = {
|
|
||||||
odd = {
|
|
||||||
bg = "#${config.theme.colors.primary-bg}";
|
|
||||||
fg = "#${config.theme.colors.primary-fg}";
|
|
||||||
};
|
|
||||||
even = {
|
|
||||||
bg = "#${config.theme.colors.primary-bg}";
|
|
||||||
fg = "#${config.theme.colors.primary-fg}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
indicator = {
|
|
||||||
error = "#${config.theme.colors.color1}";
|
|
||||||
start = "#${config.theme.colors.alt-bg}";
|
|
||||||
stop = "#${config.theme.colors.alt-bg}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
hints = {
|
|
||||||
bg = "#${config.theme.colors.alt-bg}";
|
|
||||||
fg = "#${config.theme.colors.alt-fg}";
|
|
||||||
match.fg = "#${config.theme.colors.bg}";
|
|
||||||
};
|
|
||||||
|
|
||||||
completion = {
|
|
||||||
category = {
|
|
||||||
bg = "#${config.theme.colors.bg}";
|
|
||||||
fg = "#${config.theme.colors.fg}";
|
|
||||||
border = {
|
|
||||||
top = "#${config.theme.colors.bg}";
|
|
||||||
bottom = "#${config.theme.colors.bg}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
odd.bg = "#${config.theme.colors.bg}";
|
|
||||||
even.bg = "#${config.theme.colors.bg}";
|
|
||||||
|
|
||||||
fg = [ "#FFFFFF" "#FFFFFF" "#FFFFFF" ];
|
|
||||||
|
|
||||||
match.fg = "#${config.theme.colors.primary-bg}";
|
|
||||||
|
|
||||||
item.selected = {
|
|
||||||
bg = "#${config.theme.colors.primary-bg}";
|
|
||||||
border.top = "#${config.theme.colors.primary-bg}";
|
|
||||||
border.bottom = "#${config.theme.colors.primary-bg}";
|
|
||||||
fg = "#${config.theme.colors.primary-fg}";
|
|
||||||
match.fg = "#${config.theme.colors.primary-fg}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
statusbar = {
|
|
||||||
normal.bg = "#${config.theme.colors.bg}";
|
|
||||||
normal.fg = "#${config.theme.colors.fg}";
|
|
||||||
private.bg = "#${config.theme.colors.bg}";
|
|
||||||
private.fg = "#${config.theme.colors.fg}";
|
|
||||||
insert.bg = "#${config.theme.colors.primary-bg}";
|
|
||||||
insert.fg = "#${config.theme.colors.primary-fg}";
|
|
||||||
command = {
|
|
||||||
bg = "#${config.theme.colors.alt-bg}";
|
|
||||||
fg = "#${config.theme.colors.alt-fg}";
|
|
||||||
private.bg = "#${config.theme.colors.alt-bg}";
|
|
||||||
private.fg = "#${config.theme.colors.alt-fg}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
messages = {
|
|
||||||
info = {
|
|
||||||
bg = "#${config.theme.colors.alt-bg}";
|
|
||||||
fg = "#${config.theme.colors.alt-fg}";
|
|
||||||
border = "#${config.theme.colors.alt-bg}";
|
|
||||||
};
|
|
||||||
|
|
||||||
error = {
|
|
||||||
bg = "#${config.theme.colors.color1}";
|
|
||||||
fg = "#${config.theme.colors.alt-fg}";
|
|
||||||
border = "#${config.theme.colors.color1}";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
#webpage.darkmode.enabled = true; # Enable dark mode for all websites (Weird on images)
|
|
||||||
webpage.preferred_color_scheme =
|
|
||||||
"dark"; # Enable dark mode for websites that support it
|
|
||||||
};
|
|
||||||
|
|
||||||
fonts = { default_family = "${config.theme.font}"; };
|
|
||||||
|
|
||||||
completion = {
|
|
||||||
height = "30%";
|
|
||||||
open_categories = [ "history" ];
|
|
||||||
scrollbar = {
|
|
||||||
padding = 0;
|
|
||||||
width = 0;
|
|
||||||
};
|
|
||||||
show = "always";
|
|
||||||
shrink = true;
|
|
||||||
timestamp_format = "";
|
|
||||||
web_history.max_items = 7;
|
|
||||||
};
|
|
||||||
|
|
||||||
content = {
|
|
||||||
autoplay = false;
|
|
||||||
javascript.clipboard = "access";
|
|
||||||
javascript.enabled = true;
|
|
||||||
pdfjs = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
downloads = {
|
|
||||||
position = "bottom";
|
|
||||||
remove_finished = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
hints = {
|
|
||||||
border = "none";
|
|
||||||
radius = 1;
|
|
||||||
};
|
|
||||||
|
|
||||||
scrolling = {
|
|
||||||
bar = "never";
|
|
||||||
smooth = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
tabs = {
|
|
||||||
show = "multiple";
|
|
||||||
last_close = "close";
|
|
||||||
mode_on_change = "restore";
|
|
||||||
close_mouse_button = "right";
|
|
||||||
};
|
|
||||||
|
|
||||||
zoom.default = "100%";
|
|
||||||
|
|
||||||
qt.force_software_rendering = "chromium";
|
|
||||||
};
|
|
||||||
|
|
||||||
keyBindings = {
|
|
||||||
normal = {
|
|
||||||
"gh" = "open ${config.home.homeDirectory}/.config/startpage/index.html";
|
|
||||||
|
|
||||||
" p" = "tab-move -";
|
|
||||||
" n" = "tab-move +";
|
|
||||||
" w" = "tab-close";
|
|
||||||
|
|
||||||
" 1" = "tab-focus 1";
|
|
||||||
" 2" = "tab-focus 2";
|
|
||||||
" 3" = "tab-focus 3";
|
|
||||||
" 4" = "tab-focus 4";
|
|
||||||
" 5" = "tab-focus 5";
|
|
||||||
" 6" = "tab-focus 6";
|
|
||||||
" 7" = "tab-focus 7";
|
|
||||||
" 8" = "tab-focus 8";
|
|
||||||
" 9" = "tab-focus 9";
|
|
||||||
" 0" = "tab-focus 10";
|
|
||||||
|
|
||||||
"<Ctrl-w>" = "tab-close";
|
|
||||||
"<Ctrl-n>" = "open -w";
|
|
||||||
|
|
||||||
"<Ctrl-1>" = "tab-focus 1";
|
|
||||||
"<Ctrl-2>" = "tab-focus 2";
|
|
||||||
"<Ctrl-3>" = "tab-focus 3";
|
|
||||||
"<Ctrl-4>" = "tab-focus 4";
|
|
||||||
"<Ctrl-5>" = "tab-focus 5";
|
|
||||||
"<Ctrl-6>" = "tab-focus 6";
|
|
||||||
"<Ctrl-7>" = "tab-focus 7";
|
|
||||||
"<Ctrl-8>" = "tab-focus 8";
|
|
||||||
"<Ctrl-9>" = "tab-focus 9";
|
|
||||||
"<Ctrl-0>" = "tab-focus 10";
|
|
||||||
};
|
|
||||||
|
|
||||||
command = {
|
|
||||||
"<Ctrl-w>" = "tab-close";
|
|
||||||
"<Ctrl-n>" = "open -w";
|
|
||||||
"<Ctrl-1>" = "tab-focus 1";
|
|
||||||
"<Ctrl-2>" = "tab-focus 2";
|
|
||||||
"<Ctrl-3>" = "tab-focus 3";
|
|
||||||
"<Ctrl-4>" = "tab-focus 4";
|
|
||||||
"<Ctrl-5>" = "tab-focus 5";
|
|
||||||
"<Ctrl-6>" = "tab-focus 6";
|
|
||||||
"<Ctrl-7>" = "tab-focus 7";
|
|
||||||
"<Ctrl-8>" = "tab-focus 8";
|
|
||||||
"<Ctrl-9>" = "tab-focus 9";
|
|
||||||
"<Ctrl-0>" = "tab-focus 10";
|
|
||||||
};
|
|
||||||
|
|
||||||
insert = {
|
|
||||||
"<Ctrl-w>" = "tab-close";
|
|
||||||
"<Ctrl-n>" = "open -w";
|
|
||||||
"<Ctrl-1>" = "tab-focus 1";
|
|
||||||
"<Ctrl-2>" = "tab-focus 2";
|
|
||||||
"<Ctrl-3>" = "tab-focus 3";
|
|
||||||
"<Ctrl-4>" = "tab-focus 4";
|
|
||||||
"<Ctrl-5>" = "tab-focus 5";
|
|
||||||
"<Ctrl-6>" = "tab-focus 6";
|
|
||||||
"<Ctrl-7>" = "tab-focus 7";
|
|
||||||
"<Ctrl-8>" = "tab-focus 8";
|
|
||||||
"<Ctrl-9>" = "tab-focus 9";
|
|
||||||
"<Ctrl-0>" = "tab-focus 10";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
extraConfig = ''
|
|
||||||
config.unbind("gm")
|
|
||||||
config.unbind("gd")
|
|
||||||
config.unbind("gb")
|
|
||||||
config.unbind("tl")
|
|
||||||
config.unbind("gt")
|
|
||||||
|
|
||||||
c.tabs.padding = {"bottom": 6, "left": 7, "right": 7, "top": 6}
|
|
||||||
|
|
||||||
config.load_autoconfig(True)
|
|
||||||
'';
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,297 +0,0 @@
|
|||||||
{ config, ... }:
|
|
||||||
let
|
|
||||||
bookmarks = ''
|
|
||||||
Bookmarks: [
|
|
||||||
{text: "MyNixOs", url: "https://mynixos.com", icon: ""},
|
|
||||||
{text: "Github", url: "https://github.com", icon: ""},
|
|
||||||
{text: "Proton", url: "https://mail.proton.me/u/0/inbox", icon: ""},
|
|
||||||
{text: "Cloudflare One", url: "https://one.dash.cloudflare.com/", icon: ""},
|
|
||||||
{text: "Chat GPT", url: "https://chat.openai.com/", icon: ""},
|
|
||||||
{text: "Nixvim", url: "https://nix-community.github.io/nixvim/", icon: ""},
|
|
||||||
{text: "Hyprland Wiki", url: "https://wiki.hyprland.org/", icon: ""},
|
|
||||||
{text: "Nerdfont", url: "https://www.nerdfonts.com/cheat-sheet", icon: ""},
|
|
||||||
{text: "Youtube", url: "https://youtube.com", icon: ""},
|
|
||||||
],
|
|
||||||
Home: [
|
|
||||||
{text: "Casa", url: "http://192.168.2.16:8081/#/", icon: ""},
|
|
||||||
{text: "Plex", url: "http://192.168.2.16:32400", icon: ""},
|
|
||||||
{text: "Nextcloud", url: "http://192.168.2.16:10081", icon: ""},
|
|
||||||
],
|
|
||||||
Work: [
|
|
||||||
{text: "Outlook", url: "https://outlook.office.com/mail/", icon: ""},
|
|
||||||
{text: "Office", url: "https://www.office.com/?auth=2", icon: ""},
|
|
||||||
{text: "Teams", url: "https://teams.microsoft.com/_", icon: ""},
|
|
||||||
],
|
|
||||||
'';
|
|
||||||
in {
|
|
||||||
|
|
||||||
xdg.configFile."startpage/index.html".text = ''
|
|
||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Homepage</title>
|
|
||||||
<style>
|
|
||||||
h1,
|
|
||||||
h2,
|
|
||||||
h3,
|
|
||||||
p {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
font-family: '${config.theme.font}', sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.w-screen {
|
|
||||||
width: 100vw;
|
|
||||||
}
|
|
||||||
|
|
||||||
.overflow-hidden {
|
|
||||||
overflow: hidden;
|
|
||||||
}
|
|
||||||
|
|
||||||
.max-w-7xl {
|
|
||||||
max-width: 80rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mx-auto {
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
.justify-between {
|
|
||||||
justify-content: space-between;
|
|
||||||
}
|
|
||||||
|
|
||||||
.items-center {
|
|
||||||
align-items: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.py-12 {
|
|
||||||
padding-top: 3rem;
|
|
||||||
padding-bottom: 3rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.px-2 {
|
|
||||||
padding-left: 0.5rem;
|
|
||||||
padding-right: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-5xl {
|
|
||||||
font-size: 3rem;
|
|
||||||
line-height: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.font-bold {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
|
|
||||||
.mb-4 {
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex {
|
|
||||||
display: flex;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex-wrap {
|
|
||||||
flex-wrap: wrap;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex-col {
|
|
||||||
flex-direction: column;
|
|
||||||
}
|
|
||||||
|
|
||||||
.flex-grow {
|
|
||||||
flex-grow: 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gap-5 {
|
|
||||||
gap: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.gap-05 {
|
|
||||||
gap: 0.125rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.justify-start {
|
|
||||||
justify-content: flex-start;
|
|
||||||
}
|
|
||||||
|
|
||||||
.items-start {
|
|
||||||
align-items: flex-start;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hover\:opacity-60:hover {
|
|
||||||
opacity: 0.6;
|
|
||||||
}
|
|
||||||
|
|
||||||
.pb-10 {
|
|
||||||
padding-bottom: 2.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.p-10 {
|
|
||||||
padding: 2.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-xl {
|
|
||||||
font-size: 1.25rem;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-lg {
|
|
||||||
font-size: 1.125rem;
|
|
||||||
line-height: 1.75rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-sm {
|
|
||||||
font-size: 0.875rem;
|
|
||||||
line-height: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.text-4xl {
|
|
||||||
font-size: 2.25rem;
|
|
||||||
line-height: 2.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.px-5 {
|
|
||||||
padding-left: 1.25rem;
|
|
||||||
padding-right: 1.25rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.py-2 {
|
|
||||||
padding-top: 0.5rem;
|
|
||||||
padding-bottom: 0.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
a {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
a, a:visited, a:hover, a:active {
|
|
||||||
color: inherit;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body class="w-screen" style="background-color: #${config.theme.colors.bg}; color: #${config.theme.colors.fg};">
|
|
||||||
<div class="max-w-7xl mx-auto p-10">
|
|
||||||
<div class="w-full flex justify-between" id="date-time">
|
|
||||||
<p class="text-xl"></p>
|
|
||||||
<p class="text-xl"></p>
|
|
||||||
</div>
|
|
||||||
<div class="w-full py-12 px-2" id="greeting">
|
|
||||||
<h1 class="text-5xl font-bold mb-4" style="color: #${config.theme.colors.primary-bg};"></h1>
|
|
||||||
</div>
|
|
||||||
<div id="link-list" class="flex gap-5 flex-col justify-start items-start"></div>
|
|
||||||
</div>
|
|
||||||
<script defer>
|
|
||||||
const linkLists = {
|
|
||||||
${bookmarks}
|
|
||||||
};
|
|
||||||
|
|
||||||
function getDomainFromUrl(url) {
|
|
||||||
let domain = url.replace(/(^\w+:|^)\/\//, "");
|
|
||||||
domain = domain.split('/')[0];
|
|
||||||
return domain;
|
|
||||||
}
|
|
||||||
|
|
||||||
const linkListContainer = document.getElementById('link-list');
|
|
||||||
|
|
||||||
for (const key in linkLists) {
|
|
||||||
if (Object.hasOwnProperty.call(linkLists, key)) {
|
|
||||||
const linkList = linkLists[key];
|
|
||||||
const title = document.createElement('h2');
|
|
||||||
title.textContent = key.charAt(0).toUpperCase() + key.slice(1);
|
|
||||||
title.className = "text-3xl font-bold"
|
|
||||||
linkListContainer.appendChild(title);
|
|
||||||
|
|
||||||
const list = document.createElement('div');
|
|
||||||
list.className = 'flex flex-wrap gap-5 justify-start';
|
|
||||||
linkList.forEach(link => {
|
|
||||||
const anchor = document.createElement('a');
|
|
||||||
anchor.href = link.url;
|
|
||||||
anchor.className = "px-5 py-2 hover:opacity-60 flex-grow"
|
|
||||||
|
|
||||||
const div = document.createElement('div');
|
|
||||||
div.className = 'flex flex-row gap-5 items-center';
|
|
||||||
|
|
||||||
let icon = document.createElement('p');
|
|
||||||
icon.textContent = link.icon || "";
|
|
||||||
icon.className = "text-4xl";
|
|
||||||
div.appendChild(icon);
|
|
||||||
|
|
||||||
const divNameUrl = document.createElement('div');
|
|
||||||
divNameUrl.className = 'flex flex-col gap-05';
|
|
||||||
|
|
||||||
const name = document.createElement('p');
|
|
||||||
name.textContent = link.text;
|
|
||||||
name.className = 'text-lg font-medium';
|
|
||||||
|
|
||||||
const url = document.createElement('p');
|
|
||||||
url.textContent = link.url;
|
|
||||||
url.className = 'text-sm';
|
|
||||||
url.style = "color: #${config.theme.colors.alt-fg};"
|
|
||||||
|
|
||||||
divNameUrl.appendChild(name);
|
|
||||||
divNameUrl.appendChild(url);
|
|
||||||
div.appendChild(divNameUrl);
|
|
||||||
anchor.appendChild(div);
|
|
||||||
list.appendChild(anchor);
|
|
||||||
});
|
|
||||||
|
|
||||||
linkListContainer.appendChild(list);
|
|
||||||
const spacer = document.createElement('div');
|
|
||||||
spacer.className = "pb-10"
|
|
||||||
linkListContainer.appendChild(spacer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateDateTime() {
|
|
||||||
const dateTimeContainer = document.getElementById('date-time');
|
|
||||||
const currentDate = new Date();
|
|
||||||
const dateOptions = {weekday: 'long', year: 'numeric', month: 'long', day: 'numeric'};
|
|
||||||
const timeOptions = {hour: '2-digit', minute: '2-digit'};
|
|
||||||
const formattedDate = currentDate.toLocaleDateString('en-US', dateOptions);
|
|
||||||
const formattedTime = currentDate.toLocaleTimeString('en-US', timeOptions);
|
|
||||||
const dateParagraph = dateTimeContainer.querySelector('p:nth-child(1)');
|
|
||||||
const timeParagraph = dateTimeContainer.querySelector('p:nth-child(2)');
|
|
||||||
dateParagraph.textContent = formattedDate;
|
|
||||||
timeParagraph.textContent = formattedTime;
|
|
||||||
}
|
|
||||||
|
|
||||||
updateDateTime();
|
|
||||||
setInterval(updateDateTime, 60000);
|
|
||||||
|
|
||||||
function updateGreeting() {
|
|
||||||
const greetingContainer = document.getElementById('greeting');
|
|
||||||
const currentDate = new Date();
|
|
||||||
const currentHour = currentDate.getHours();
|
|
||||||
let greetingText;
|
|
||||||
|
|
||||||
if (currentHour < 2) {
|
|
||||||
greetingText = "Good night! ";
|
|
||||||
} else if (currentHour < 5) {
|
|
||||||
greetingText = "Hello, night owl! ";
|
|
||||||
} else if (currentHour < 12) {
|
|
||||||
greetingText = "Good morning! ";
|
|
||||||
} else if (currentHour < 17) {
|
|
||||||
greetingText = "Good afternoon! ️";
|
|
||||||
} else if (currentHour < 20) {
|
|
||||||
greetingText = "Good evening! ";
|
|
||||||
} else {
|
|
||||||
greetingText = "Good night! ";
|
|
||||||
}
|
|
||||||
|
|
||||||
const greetingHeader = greetingContainer.querySelector('h1');
|
|
||||||
greetingHeader.textContent = greetingText;
|
|
||||||
}
|
|
||||||
|
|
||||||
updateGreeting();
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
|
|
||||||
</html>
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
@@ -1,40 +0,0 @@
|
|||||||
{ pkgs, config, lib, spicetify-nix, ... }:
|
|
||||||
let spicePkgs = spicetify-nix.packages.${pkgs.system}.default;
|
|
||||||
in {
|
|
||||||
|
|
||||||
imports = [ spicetify-nix.homeManagerModules.default ];
|
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg:
|
|
||||||
builtins.elem (lib.getName pkg) [ "spotify" ];
|
|
||||||
programs.spicetify = {
|
|
||||||
enable = true;
|
|
||||||
theme = spicePkgs.themes.text;
|
|
||||||
colorScheme = "custom";
|
|
||||||
|
|
||||||
customColorScheme = {
|
|
||||||
text = "${config.theme.colors.fg}";
|
|
||||||
subtext = "${config.theme.colors.alt-fg}";
|
|
||||||
sidebar-text = "${config.theme.colors.alt-fg}";
|
|
||||||
main = "${config.theme.colors.bg}";
|
|
||||||
sidebar = "${config.theme.colors.bg}";
|
|
||||||
background = "${config.theme.colors.bg}";
|
|
||||||
player = "${config.theme.colors.bg}";
|
|
||||||
card = "${config.theme.colors.bg}";
|
|
||||||
shadow = "000000";
|
|
||||||
selected-row = "${config.theme.colors.alt-bg}";
|
|
||||||
button = "${config.theme.colors.primary-bg}";
|
|
||||||
button-active = "${config.theme.colors.primary-bg}";
|
|
||||||
button-disabled = "${config.theme.colors.alt-bg}";
|
|
||||||
tab-active = "${config.theme.colors.primary-bg}";
|
|
||||||
misc = "${config.theme.colors.alt-fg}";
|
|
||||||
};
|
|
||||||
|
|
||||||
enabledExtensions = with spicePkgs.extensions; [
|
|
||||||
playlistIcons
|
|
||||||
lastfm
|
|
||||||
historyShortcut
|
|
||||||
hidePodcasts
|
|
||||||
fullAppDisplay
|
|
||||||
shuffle
|
|
||||||
];
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -1,61 +0,0 @@
|
|||||||
{ pkgs, ... }:
|
|
||||||
let variable = import ../variables.nix;
|
|
||||||
in {
|
|
||||||
|
|
||||||
imports = [ ./themes ./system ./scripts ./apps ];
|
|
||||||
|
|
||||||
home = {
|
|
||||||
username = variable.username;
|
|
||||||
homeDirectory = variable.homeDirectory;
|
|
||||||
|
|
||||||
packages = with pkgs; [
|
|
||||||
swappy
|
|
||||||
imv
|
|
||||||
discord
|
|
||||||
obsidian
|
|
||||||
btop
|
|
||||||
xfce.thunar
|
|
||||||
bitwarden
|
|
||||||
vlc
|
|
||||||
|
|
||||||
# Dev
|
|
||||||
go
|
|
||||||
cargo
|
|
||||||
nodejs
|
|
||||||
python3
|
|
||||||
jq
|
|
||||||
|
|
||||||
# Utils
|
|
||||||
sops # Secrets
|
|
||||||
age # Secrets
|
|
||||||
fd
|
|
||||||
bc
|
|
||||||
gcc
|
|
||||||
blueman
|
|
||||||
zip
|
|
||||||
unzip
|
|
||||||
xdg_utils
|
|
||||||
tldr
|
|
||||||
wget
|
|
||||||
curl
|
|
||||||
ripgrep
|
|
||||||
neovide
|
|
||||||
wf-recorder
|
|
||||||
tree # temp
|
|
||||||
|
|
||||||
# Just cool
|
|
||||||
peaclock
|
|
||||||
cbonsai
|
|
||||||
pipes
|
|
||||||
cmatrix
|
|
||||||
|
|
||||||
# Backup
|
|
||||||
vscode
|
|
||||||
firefox
|
|
||||||
tor-browser
|
|
||||||
];
|
|
||||||
|
|
||||||
stateVersion = variable.stateVersion;
|
|
||||||
};
|
|
||||||
programs.home-manager.enable = true;
|
|
||||||
}
|
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
programs.btop = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
color_theme = "Default";
|
||||||
|
theme_background = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -5,8 +5,8 @@
|
|||||||
general.framerate = 60;
|
general.framerate = 60;
|
||||||
smoothing.noise_reduction = 88;
|
smoothing.noise_reduction = 88;
|
||||||
color = {
|
color = {
|
||||||
background = "'#${config.theme.colors.bg}'";
|
background = "'#${config.var.theme.colors.bg}'";
|
||||||
foreground = "'#${config.theme.colors.primary-bg}'";
|
foreground = "'#${config.var.theme.colors.accent}'";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{ imports = [ ./neofetch ./nerdfetch ]; }
|
||||||
@@ -109,9 +109,9 @@
|
|||||||
song_format="%artist% - %album% - %title%"
|
song_format="%artist% - %album% - %title%"
|
||||||
song_shorthand="off"
|
song_shorthand="off"
|
||||||
mpc_args=()
|
mpc_args=()
|
||||||
colors=(${toString config.theme.colors.primary-ansi-16-number} 1 ${
|
colors=(${toString config.var.theme.colors.accentNumber} 1 ${
|
||||||
toString config.theme.colors.primary-ansi-16-number
|
toString config.var.theme.colors.accentNumber
|
||||||
} ${toString config.theme.colors.primary-ansi-16-number} 7)
|
} ${toString config.var.theme.colors.accentNumber} 7)
|
||||||
bold="on"
|
bold="on"
|
||||||
underline_enabled="on"
|
underline_enabled="on"
|
||||||
underline_char="-"
|
underline_char="-"
|
||||||
@@ -1,4 +1,3 @@
|
|||||||
# Nerdfetch: https://github.com/ThatOneCalculator/NerdFetch
|
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, config, ... }:
|
||||||
let
|
let
|
||||||
nerdfetch = pkgs.writeShellScriptBin "nerdfetch" ''
|
nerdfetch = pkgs.writeShellScriptBin "nerdfetch" ''
|
||||||
@@ -346,9 +345,9 @@ let
|
|||||||
|
|
||||||
## USER VARIABLES -- YOU CAN CHANGE THESE
|
## USER VARIABLES -- YOU CAN CHANGE THESE
|
||||||
|
|
||||||
lc="$reset$bold''$${config.theme.colors.primary-ansi-16}" # labels
|
lc="$reset$bold''$${config.var.theme.colors.accentName}" # labels
|
||||||
nc="$reset$bold''$${config.theme.colors.primary-ansi-16}" # labels
|
nc="$reset$bold''$${config.var.theme.colors.accentName}" # labels
|
||||||
hn="$reset$bold''$${config.theme.colors.primary-ansi-16}" # labels
|
hn="$reset$bold''$${config.var.theme.colors.accentName}" # labels
|
||||||
ic="$reset$white" # info
|
ic="$reset$white" # info
|
||||||
c0="$reset$grey" # first color
|
c0="$reset$grey" # first color
|
||||||
c1="$reset$white" # second color
|
c1="$reset$white" # second color
|
||||||
@@ -367,4 +366,4 @@ let
|
|||||||
"""
|
"""
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in { home.packages = with pkgs; [ nerdfetch ]; }
|
in { home.packages = [ nerdfetch ]; }
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
{ config, ... }: {
|
||||||
|
programs.git = {
|
||||||
|
enable = true;
|
||||||
|
userName = config.var.git.username;
|
||||||
|
userEmail = config.var.git.email;
|
||||||
|
ignores = [
|
||||||
|
".cache/"
|
||||||
|
".DS_Store"
|
||||||
|
".idea/"
|
||||||
|
"*.swp"
|
||||||
|
"*.elc"
|
||||||
|
"auto-save-list"
|
||||||
|
".direnv/"
|
||||||
|
"node_modules"
|
||||||
|
"result"
|
||||||
|
"result-*"
|
||||||
|
];
|
||||||
|
extraConfig = {
|
||||||
|
init.defaultBranch = "main";
|
||||||
|
push.autoSetupRemote = true;
|
||||||
|
};
|
||||||
|
aliases = {
|
||||||
|
essa = "push --force";
|
||||||
|
co = "checkout";
|
||||||
|
fuck = "commit --amend -m";
|
||||||
|
c = "commit -m";
|
||||||
|
ca = "commit -am";
|
||||||
|
forgor = "commit --amend --no-edit";
|
||||||
|
graph = "log --all --decorate --graph --oneline";
|
||||||
|
oops = "checkout --";
|
||||||
|
l = "log";
|
||||||
|
r = "rebase";
|
||||||
|
s = "status --short";
|
||||||
|
ss = "status";
|
||||||
|
d = "diff";
|
||||||
|
ps = "!git push origin $(git rev-parse --abbrev-ref HEAD)";
|
||||||
|
pl = "!git pull origin $(git rev-parse --abbrev-ref HEAD)";
|
||||||
|
af = "!git add $(git ls-files -m -o --exclude-standard | sk -m)";
|
||||||
|
st = "status";
|
||||||
|
br = "branch";
|
||||||
|
df = "!git hist | peco | awk '{print $2}' | xargs -I {} git diff {}^ {}";
|
||||||
|
hist = ''
|
||||||
|
log --pretty=format:"%Cgreen%h %Creset%cd %Cblue[%cn] %Creset%s%C(yellow)%d%C(reset)" --graph --date=relative --decorate --all'';
|
||||||
|
llog = ''
|
||||||
|
log --graph --name-status --pretty=format:"%C(red)%h %C(reset)(%cd) %C(green)%an %Creset%s %C(yellow)%d%Creset" --date=relative'';
|
||||||
|
edit-unmerged =
|
||||||
|
"!f() { git ls-files --unmerged | cut -f2 | sort -u ; }; hx `f`";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,48 @@
|
|||||||
|
{ config, pkgs, ... }: {
|
||||||
|
programs.kitty = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
scrollback_lines = 10000;
|
||||||
|
initial_window_width = 1200;
|
||||||
|
initial_window_height = 600;
|
||||||
|
update_check_interval = 0;
|
||||||
|
enable_audio_bell = false;
|
||||||
|
confirm_os_window_close = "0";
|
||||||
|
remember_window_size = "no";
|
||||||
|
disable_ligatures = "never";
|
||||||
|
shell = "${pkgs.tmux}/bin/tmux";
|
||||||
|
url_style = "curly";
|
||||||
|
cursor_shape = "Underline";
|
||||||
|
cursor_underline_thickness = config.var.theme.border-size;
|
||||||
|
window_padding_width = config.var.theme.gaps-in;
|
||||||
|
|
||||||
|
# Font
|
||||||
|
font_family = config.var.theme.font-mono;
|
||||||
|
font_size = config.var.theme.font-size;
|
||||||
|
|
||||||
|
# Colors
|
||||||
|
background = "#" + config.var.theme.colors.bg;
|
||||||
|
url_color = "#" + config.var.theme.colors.accent;
|
||||||
|
color0 = "#" + config.var.theme.colors.c0;
|
||||||
|
color8 = "#" + config.var.theme.colors.c8;
|
||||||
|
color1 = "#" + config.var.theme.colors.c1;
|
||||||
|
color9 = "#" + config.var.theme.colors.c9;
|
||||||
|
color2 = "#" + config.var.theme.colors.c2;
|
||||||
|
color10 = "#" + config.var.theme.colors.c10;
|
||||||
|
color3 = "#" + config.var.theme.colors.c3;
|
||||||
|
color11 = "#" + config.var.theme.colors.c11;
|
||||||
|
color4 = "#" + config.var.theme.colors.c4;
|
||||||
|
color12 = "#" + config.var.theme.colors.c12;
|
||||||
|
color5 = "#" + config.var.theme.colors.c5;
|
||||||
|
color13 = "#" + config.var.theme.colors.c13;
|
||||||
|
color6 = "#" + config.var.theme.colors.c6;
|
||||||
|
color14 = "#" + config.var.theme.colors.c14;
|
||||||
|
color7 = "#" + config.var.theme.colors.c7;
|
||||||
|
color15 = "#" + config.var.theme.colors.c15;
|
||||||
|
cursor = "#" + config.var.theme.colors.fg;
|
||||||
|
cursor_text_color = "#" + config.var.theme.colors.bg;
|
||||||
|
selection_foreground = "#" + config.var.theme.colors.accentFg;
|
||||||
|
selection_background = "#" + config.var.theme.colors.accent;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
{
|
||||||
|
services.nextcloud-client = {
|
||||||
|
enable = true;
|
||||||
|
startInBackground = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim = {
|
||||||
|
enable = true;
|
||||||
|
colorschemes.catppuccin = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
transparent_background = true;
|
||||||
|
flavour = "mocha";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
{ inputs, ... }: {
|
||||||
|
imports = [
|
||||||
|
inputs.nixvim.homeManagerModules.nixvim
|
||||||
|
./plugins/cmp.nix
|
||||||
|
./plugins/dashboard.nix
|
||||||
|
./plugins/lsp.nix
|
||||||
|
./plugins/markdown.nix
|
||||||
|
./plugins/tree.nix
|
||||||
|
./plugins/ui.nix
|
||||||
|
./plugins/utils.nix
|
||||||
|
./plugins/zen-mode.nix
|
||||||
|
|
||||||
|
./options.nix
|
||||||
|
./colorscheme.nix
|
||||||
|
./keymaps.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.keymaps = [
|
||||||
|
{
|
||||||
|
key = "<leader>fm";
|
||||||
|
action = "<cmd>lua vim.lsp.buf.format()<cr>";
|
||||||
|
options.desc = "LSP Format";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>w";
|
||||||
|
action = "<cmd>set wrap!<cr>";
|
||||||
|
options.desc = "Toggle word wrapping";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>W";
|
||||||
|
action = "<cmd>set linebreak!<cr>";
|
||||||
|
options.desc = "Toggle linebreak";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>z";
|
||||||
|
action = "<cmd>ZenMode<cr>";
|
||||||
|
options.desc = "ZenMode";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -24,7 +24,7 @@
|
|||||||
wildmode = "list:longest";
|
wildmode = "list:longest";
|
||||||
completeopt = [ "menuone" "noselect" ];
|
completeopt = [ "menuone" "noselect" ];
|
||||||
signcolumn = "yes";
|
signcolumn = "yes";
|
||||||
cursorline = true;
|
cursorline = false;
|
||||||
scrolloff = 8;
|
scrolloff = 8;
|
||||||
mouse = "a";
|
mouse = "a";
|
||||||
|
|
||||||
@@ -32,6 +32,6 @@
|
|||||||
|
|
||||||
swapfile = false;
|
swapfile = false;
|
||||||
undofile = true;
|
undofile = true;
|
||||||
conceallevel = 2;
|
conceallevel = 3;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
{ config, ... }: {
|
{ config, ... }: {
|
||||||
|
|
||||||
programs.nixvim.highlight = {
|
programs.nixvim.highlight = {
|
||||||
AlphaHeaderColor.fg = "#${config.theme.colors.primary-bg}";
|
AlphaHeaderColor.fg = "#${config.var.theme.colors.accent}";
|
||||||
AlphaTextColor.fg = "#${config.theme.colors.fg}";
|
AlphaTextColor.fg = "#${config.var.theme.colors.fg}";
|
||||||
AlphaShortcutColor.fg = "#${config.theme.colors.alt-fg}";
|
AlphaShortcutColor.fg = "#${config.var.theme.colors.fgalt}";
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.nixvim.plugins.alpha = {
|
programs.nixvim.plugins.alpha = {
|
||||||
@@ -70,7 +70,23 @@
|
|||||||
{
|
{
|
||||||
type = "button";
|
type = "button";
|
||||||
val = " NixOs Config";
|
val = " NixOs Config";
|
||||||
on_press.__raw = "function() vim.cmd[[e ~/.config/nixos]] end";
|
on_press.__raw =
|
||||||
|
"function() vim.cmd[[Neotree ${config.var.configDirectory}]] end";
|
||||||
|
opts = {
|
||||||
|
shortcut = "nc";
|
||||||
|
position = "center";
|
||||||
|
cursor = 3;
|
||||||
|
width = 50;
|
||||||
|
align_shortcut = "right";
|
||||||
|
hl_shortcut = "AlphaShortcutColor";
|
||||||
|
hl = "AlphaTextColor";
|
||||||
|
};
|
||||||
|
}
|
||||||
|
{
|
||||||
|
type = "button";
|
||||||
|
val = " Keybindings";
|
||||||
|
on_press.__raw =
|
||||||
|
"function() vim.cmd[[e ${config.var.configDirectory}/docs/KEYBINDINGS.md]] end";
|
||||||
opts = {
|
opts = {
|
||||||
shortcut = "nc";
|
shortcut = "nc";
|
||||||
position = "center";
|
position = "center";
|
||||||
@@ -0,0 +1,50 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.plugins = {
|
||||||
|
lsp-format.enable = true;
|
||||||
|
lsp = {
|
||||||
|
enable = true;
|
||||||
|
servers = {
|
||||||
|
bashls.enable = true;
|
||||||
|
clangd.enable = true;
|
||||||
|
gopls.enable = true;
|
||||||
|
nixd.enable = true;
|
||||||
|
tailwindcss.enable = true;
|
||||||
|
# html.enable = true; # FIXME: broken for some reason
|
||||||
|
svelte.enable = true;
|
||||||
|
marksman.enable = true;
|
||||||
|
ltex = {
|
||||||
|
enable = false;
|
||||||
|
settings = {
|
||||||
|
enabled = false;
|
||||||
|
language = "en";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
keymaps.lspBuf = {
|
||||||
|
"gd" = "definition";
|
||||||
|
"gD" = "references";
|
||||||
|
"gt" = "type_definition";
|
||||||
|
"gi" = "implementation";
|
||||||
|
"K" = "hover";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
none-ls = {
|
||||||
|
enable = true;
|
||||||
|
sources = {
|
||||||
|
diagnostics = {
|
||||||
|
golangci_lint.enable = true;
|
||||||
|
statix.enable = true;
|
||||||
|
};
|
||||||
|
formatting = {
|
||||||
|
gofmt.enable = true;
|
||||||
|
goimports.enable = true;
|
||||||
|
nixfmt.enable = true;
|
||||||
|
markdownlint.enable = true;
|
||||||
|
tidy.enable = true;
|
||||||
|
shellharden.enable = true;
|
||||||
|
shfmt.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,133 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.plugins = {
|
||||||
|
mkdnflow = {
|
||||||
|
enable = true;
|
||||||
|
mappings = {
|
||||||
|
|
||||||
|
# Main
|
||||||
|
MkdnEnter = {
|
||||||
|
key = "<CR>";
|
||||||
|
modes = [ "n" "v" "i" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
# Links
|
||||||
|
MkdnCreateLink = false;
|
||||||
|
MkdnCreateLinkFromClipboard = {
|
||||||
|
key = "<leader>lc";
|
||||||
|
modes = [ "n" "v" ];
|
||||||
|
};
|
||||||
|
MkdnDestroyLink = {
|
||||||
|
key = "<leader>dl";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnFollowLink = false;
|
||||||
|
MkdnNextLink = {
|
||||||
|
key = "<Tab>";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnYankAnchorLink = {
|
||||||
|
key = "ya";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnYankFileAnchorLink = {
|
||||||
|
key = "yfa";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnPrevLink = {
|
||||||
|
key = "<S-Tab>";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
|
||||||
|
MkdnDecreaseHeading = {
|
||||||
|
key = "-";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnExtendList = false;
|
||||||
|
MkdnFoldSection = {
|
||||||
|
key = "<leader>ff";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnUnfoldSection = {
|
||||||
|
key = "<leader>fu";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnGoBack = {
|
||||||
|
key = "<BS>";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnGoForward = {
|
||||||
|
key = "<Del>";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnIncreaseHeading = {
|
||||||
|
key = "+";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnMoveSource = {
|
||||||
|
key = "<F2>";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnNewListItem = false;
|
||||||
|
MkdnNewListItemAboveInsert = {
|
||||||
|
key = "O";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnNewListItemBelowInsert = {
|
||||||
|
key = "o";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnNextHeading = {
|
||||||
|
key = "]]";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnPrevHeading = {
|
||||||
|
key = "[[";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnSTab = false;
|
||||||
|
MkdnTab = false;
|
||||||
|
MkdnTableFormat = {
|
||||||
|
key = "<leader>ft";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnTableNewColAfter = {
|
||||||
|
key = "<leader>ic";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnTableNewColBefore = {
|
||||||
|
key = "<leader>iC";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnTableNewRowAbove = {
|
||||||
|
key = "<leader>iR";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnTableNewRowBelow = {
|
||||||
|
key = "<leader>ir";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
MkdnTableNextCell = {
|
||||||
|
key = "<S-Tab>";
|
||||||
|
modes = "i";
|
||||||
|
};
|
||||||
|
MkdnTableNextRow = false;
|
||||||
|
MkdnTablePrevCell = {
|
||||||
|
key = "<M-Tab>";
|
||||||
|
modes = "i";
|
||||||
|
};
|
||||||
|
MkdnTablePrevRow = {
|
||||||
|
key = "<M-CR>";
|
||||||
|
modes = "i";
|
||||||
|
};
|
||||||
|
MkdnToggleToDo = {
|
||||||
|
key = "<C-Space>";
|
||||||
|
modes = [ "n" "v" ];
|
||||||
|
};
|
||||||
|
MkdnUpdateNumbering = {
|
||||||
|
key = "<leader>nn";
|
||||||
|
modes = "n";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim = {
|
||||||
|
plugins = {
|
||||||
|
neo-tree.enable = true;
|
||||||
|
oil = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
default_file_explorer = false;
|
||||||
|
skip_confirm_for_simple_edits = true;
|
||||||
|
win_options = {
|
||||||
|
concealcursor = "ncv";
|
||||||
|
conceallevel = 3;
|
||||||
|
cursorcolumn = false;
|
||||||
|
foldcolumn = "0";
|
||||||
|
list = false;
|
||||||
|
signcolumn = "no";
|
||||||
|
spell = false;
|
||||||
|
wrap = false;
|
||||||
|
};
|
||||||
|
float = { padding = 5; };
|
||||||
|
keymaps = {
|
||||||
|
"-" = "actions.parent";
|
||||||
|
"b" = "actions.parent";
|
||||||
|
"<C-c>" = "actions.close";
|
||||||
|
"<C-h>" = "actions.select_split";
|
||||||
|
"<C-l>" = "actions.refresh";
|
||||||
|
"<C-p>" = "actions.preview";
|
||||||
|
"<C-s>" = "actions.select_vsplit";
|
||||||
|
"<C-t>" = "actions.select_tab";
|
||||||
|
"<CR>" = "actions.select";
|
||||||
|
_ = "actions.open_cwd";
|
||||||
|
"`" = "actions.cd";
|
||||||
|
"g." = "actions.toggle_hidden";
|
||||||
|
"g?" = "actions.show_help";
|
||||||
|
"g\\" = "actions.toggle_trash";
|
||||||
|
gs = "actions.change_sort";
|
||||||
|
gx = "actions.open_external";
|
||||||
|
"~" = "actions.tcd";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
key = "-";
|
||||||
|
action = "<cmd>Oil<cr>";
|
||||||
|
options.desc = "Oil";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>e";
|
||||||
|
action = "<cmd>Oil --float<cr>";
|
||||||
|
options.desc = "Oil";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<leader>E";
|
||||||
|
action = "<cmd>Neotree toggle<cr>";
|
||||||
|
options.desc = "Neotree";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
{ pkgs, ... }: {
|
||||||
|
home.packages = with pkgs; [ ctags ];
|
||||||
|
programs.nixvim = {
|
||||||
|
plugins = {
|
||||||
|
lualine.enable = true;
|
||||||
|
noice.enable = true;
|
||||||
|
gitsigns = {
|
||||||
|
enable = true;
|
||||||
|
settings.current_line_blame = false;
|
||||||
|
};
|
||||||
|
bufferline.enable = true;
|
||||||
|
trouble.enable = true;
|
||||||
|
which-key.enable = true;
|
||||||
|
headlines = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
markdown = {
|
||||||
|
codeblock_highlight = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
nvim-colorizer.enable = true;
|
||||||
|
# tagbar.enable = true;
|
||||||
|
};
|
||||||
|
keymaps = [{
|
||||||
|
key = "<leader>t";
|
||||||
|
action = "<cmd>TroubleToggle<cr>";
|
||||||
|
options.desc = "Trouble";
|
||||||
|
}];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
{ config, ... }: {
|
||||||
|
programs.nixvim = {
|
||||||
|
highlightOverride = {
|
||||||
|
FloatBorder.fg = "#${config.var.theme.colors.accent}";
|
||||||
|
};
|
||||||
|
plugins = {
|
||||||
|
copilot-vim.enable = true;
|
||||||
|
flash.enable = true;
|
||||||
|
# image.enable = true;
|
||||||
|
tmux-navigator.enable = true;
|
||||||
|
comment.enable = true;
|
||||||
|
nvim-autopairs.enable = true;
|
||||||
|
friendly-snippets.enable = true;
|
||||||
|
telescope = {
|
||||||
|
enable = true;
|
||||||
|
keymaps = {
|
||||||
|
"<leader>fg" = "live_grep";
|
||||||
|
"<leader> " = "find_files";
|
||||||
|
};
|
||||||
|
extensions.fzf-native = { enable = true; };
|
||||||
|
};
|
||||||
|
treesitter = {
|
||||||
|
enable = true;
|
||||||
|
nixGrammars = true;
|
||||||
|
settings = {
|
||||||
|
indent.enable = true;
|
||||||
|
highlight.enable = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
treesitter-context.enable = true;
|
||||||
|
};
|
||||||
|
keymaps = [
|
||||||
|
{
|
||||||
|
key = "<C-h>";
|
||||||
|
action = "<cmd>TmuxNavigateLeft<cr>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<C-j>";
|
||||||
|
action = "<cmd>TmuxNavigateDown<cr>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<C-k>";
|
||||||
|
action = "<cmd>TmuxNavigateUp<cr>";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
key = "<C-l>";
|
||||||
|
action = "<cmd>TmuxNavigateRight<cr>";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
programs.nixvim.plugins.zen-mode = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
on_open = ''
|
||||||
|
function()
|
||||||
|
require("gitsigns.actions").toggle_current_line_blame()
|
||||||
|
vim.opt.relativenumber = false
|
||||||
|
vim.opt.signcolumn = "no"
|
||||||
|
vim.opt.wrap = true
|
||||||
|
vim.opt.linebreak = true
|
||||||
|
end
|
||||||
|
'';
|
||||||
|
plugins = {
|
||||||
|
gitsigns = { enabled = true; };
|
||||||
|
options = {
|
||||||
|
enabled = true;
|
||||||
|
ruler = false;
|
||||||
|
showcmd = false;
|
||||||
|
};
|
||||||
|
tmux = { enabled = true; };
|
||||||
|
};
|
||||||
|
window = {
|
||||||
|
backdrop = 0.95;
|
||||||
|
height = 1;
|
||||||
|
options = { signcolumn = "no"; };
|
||||||
|
width = 0.9;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,339 @@
|
|||||||
|
{ pkgs, config, ... }:
|
||||||
|
let
|
||||||
|
settings = ''
|
||||||
|
{
|
||||||
|
"config": {
|
||||||
|
"title" : "Welcome Home",
|
||||||
|
"openLinksInNewTab": false,
|
||||||
|
"locale": "fr-FR",
|
||||||
|
"colors": {
|
||||||
|
"primary": "#${config.var.theme.colors.accent}",
|
||||||
|
"background": "#${config.var.theme.colors.bg}",
|
||||||
|
"foreground": "#${config.var.theme.colors.fg}",
|
||||||
|
"muted": "#${config.var.theme.colors.c8}"
|
||||||
|
},
|
||||||
|
"folders": [
|
||||||
|
{
|
||||||
|
"name": "Bookmarks",
|
||||||
|
"links": [
|
||||||
|
{"title": "MyNixOs", "url": "https://mynixos.com", "icon": ""},
|
||||||
|
{"title": "Github", "url": "https://github.com", "icon": ""},
|
||||||
|
{"title": "Proton", "url": "https://mail.proton.me/u/0/inbox", "icon": ""},
|
||||||
|
{"title": "Cloudflare One", "url": "https://one.dash.cloudflare.com/", "icon": ""},
|
||||||
|
{"title": "Chat GPT", "url": "https://chat.openai.com/", "icon": ""},
|
||||||
|
{"title": "Nixvim", "url": "https://nix-community.github.io/nixvim/", "icon": ""},
|
||||||
|
{"title": "Hyprland Wiki", "url": "https://wiki.hyprland.org/", "icon": ""},
|
||||||
|
{"title": "Youtube", "url": "https://youtube.com", "icon": ""},
|
||||||
|
{"title": "Figma", "url": "https://figma.com", "icon": ""},
|
||||||
|
{"title": "Server", "url": "https://home.anotherhadi.com", "icon": ""}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Work",
|
||||||
|
"links": [
|
||||||
|
{"title": "Outlook", "url": "https://outlook.office.com/mail/", "icon": ""},
|
||||||
|
{"title": "Office", "url": "https://www.office.com/?auth=2", "icon": ""},
|
||||||
|
{"title": "Teams", "url": "https://teams.microsoft.com/_", "icon": ""}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
|
||||||
|
homepage = pkgs.buildNpmPackage {
|
||||||
|
pname = "homepage";
|
||||||
|
version = "0.0.0";
|
||||||
|
|
||||||
|
src = pkgs.fetchFromGitHub {
|
||||||
|
owner = "anotherhadi";
|
||||||
|
repo = "homepage";
|
||||||
|
rev = "b77d35ed3596eb451bd2ec78063d7cc6e73c773d";
|
||||||
|
hash = "sha256-j/40922kfAh6zqJ4IRYpr66YXNNYsxuXwZ0aiJFJea0=";
|
||||||
|
};
|
||||||
|
|
||||||
|
# npmDepsHash = lib.fakeHash;
|
||||||
|
npmDepsHash = "sha256-bG+CHTq2Rst3JMxsjAC81KhK+G7WwsTVD1eyP87g0z4=";
|
||||||
|
|
||||||
|
buildPhase = ''
|
||||||
|
npm install
|
||||||
|
cp ${
|
||||||
|
pkgs.writeText "src/routes/config.json" settings
|
||||||
|
} src/routes/config.json
|
||||||
|
npm run build
|
||||||
|
mkdir $out
|
||||||
|
mv build $out
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "homepage";
|
||||||
|
homepage = "https://github.com/anotherhadi/homepage";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
in {
|
||||||
|
|
||||||
|
imports = [ ./duckduckgo-colorscheme.nix ];
|
||||||
|
|
||||||
|
programs.qutebrowser = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
searchEngines = {
|
||||||
|
"DEFAULT" = "https://duckduckgo.com/?q={}&ia=web";
|
||||||
|
"d" = "https://duckduckgo.com/?q={}&ia=web";
|
||||||
|
"g" = "https://google.com/search?q={}";
|
||||||
|
"y" = "https://youtube.com/results?search_query={}";
|
||||||
|
"ya" = "https://yandex.com/search/?text={}";
|
||||||
|
"n" = "https://mynixos.com/search?q={}";
|
||||||
|
"nixo" = "https://search.nixos.org/options?channel=unstable&query={}";
|
||||||
|
"nixp" = "https://search.nixos.org/packages?channel=unstable&query={}";
|
||||||
|
"gt" = "https://github.com/search?q={}&type=repositories";
|
||||||
|
};
|
||||||
|
|
||||||
|
quickmarks = {
|
||||||
|
home = "${homepage}/build/index.html";
|
||||||
|
server = "https://home.anotherhadi.com";
|
||||||
|
jack = "https://home.anotherhadi.com";
|
||||||
|
mynixos = "https://mynixos.com";
|
||||||
|
github = "https://github.com";
|
||||||
|
outlook = "https://outlook.office.com/mail/";
|
||||||
|
office = "https://www.office.com/?auth=2";
|
||||||
|
teams = "https://teams.microsoft.com/_";
|
||||||
|
casa = "http://192.168.2.16:8081/#/";
|
||||||
|
proton = "https://mail.proton.me/u/0/inbox";
|
||||||
|
cloudflare-one = "https://one.dash.cloudflare.com/";
|
||||||
|
chatgpt = "https://chat.openai.com/";
|
||||||
|
nixvim = "https://nix-community.github.io/nixvim/";
|
||||||
|
hyprland = "https://wiki.hyprland.org/";
|
||||||
|
nerdfont = "https://www.nerdfonts.com/cheat-sheet";
|
||||||
|
youtube = "https://youtube.com/";
|
||||||
|
cloudflare = "https://dash.cloudflare.com/";
|
||||||
|
};
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
url = {
|
||||||
|
default_page = "${homepage}/build/index.html";
|
||||||
|
start_pages = [ "${homepage}/build/index.html" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
colors = {
|
||||||
|
tabs = {
|
||||||
|
odd.bg = "#${config.var.theme.colors.bg}";
|
||||||
|
odd.fg = "#${config.var.theme.colors.fg}";
|
||||||
|
even.bg = "#${config.var.theme.colors.bg}";
|
||||||
|
even.fg = "#${config.var.theme.colors.fg}";
|
||||||
|
selected = {
|
||||||
|
odd = {
|
||||||
|
bg = "#${config.var.theme.colors.accent}";
|
||||||
|
fg = "#${config.var.theme.colors.accentFg}";
|
||||||
|
};
|
||||||
|
even = {
|
||||||
|
bg = "#${config.var.theme.colors.accent}";
|
||||||
|
fg = "#${config.var.theme.colors.accentFg}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
indicator = {
|
||||||
|
error = "#${config.var.theme.colors.c1}";
|
||||||
|
start = "#${config.var.theme.colors.bgalt}";
|
||||||
|
stop = "#${config.var.theme.colors.bgalt}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
hints = {
|
||||||
|
bg = "#${config.var.theme.colors.bgalt}";
|
||||||
|
fg = "#${config.var.theme.colors.fgalt}";
|
||||||
|
match.fg = "#${config.var.theme.colors.bg}";
|
||||||
|
};
|
||||||
|
|
||||||
|
completion = {
|
||||||
|
category = {
|
||||||
|
bg = "#${config.var.theme.colors.bg}";
|
||||||
|
fg = "#${config.var.theme.colors.fg}";
|
||||||
|
border = {
|
||||||
|
top = "#${config.var.theme.colors.bg}";
|
||||||
|
bottom = "#${config.var.theme.colors.bg}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
odd.bg = "#${config.var.theme.colors.bg}";
|
||||||
|
even.bg = "#${config.var.theme.colors.bg}";
|
||||||
|
|
||||||
|
fg = [ "#FFFFFF" "#FFFFFF" "#FFFFFF" ];
|
||||||
|
|
||||||
|
match.fg = "#${config.var.theme.colors.accent}";
|
||||||
|
|
||||||
|
item.selected = {
|
||||||
|
bg = "#${config.var.theme.colors.accent}";
|
||||||
|
border.top = "#${config.var.theme.colors.accent}";
|
||||||
|
border.bottom = "#${config.var.theme.colors.accent}";
|
||||||
|
fg = "#${config.var.theme.colors.accentFg}";
|
||||||
|
match.fg = "#${config.var.theme.colors.accentFg}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
statusbar = {
|
||||||
|
normal.bg = "#${config.var.theme.colors.bg}";
|
||||||
|
normal.fg = "#${config.var.theme.colors.fg}";
|
||||||
|
private.bg = "#${config.var.theme.colors.bg}";
|
||||||
|
private.fg = "#${config.var.theme.colors.fg}";
|
||||||
|
insert.bg = "#${config.var.theme.colors.accent}";
|
||||||
|
insert.fg = "#${config.var.theme.colors.accentFg}";
|
||||||
|
command = {
|
||||||
|
bg = "#${config.var.theme.colors.bgalt}";
|
||||||
|
fg = "#${config.var.theme.colors.fgalt}";
|
||||||
|
private.bg = "#${config.var.theme.colors.bgalt}";
|
||||||
|
private.fg = "#${config.var.theme.colors.fgalt}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
messages = {
|
||||||
|
info = {
|
||||||
|
bg = "#${config.var.theme.colors.bgalt}";
|
||||||
|
fg = "#${config.var.theme.colors.fgalt}";
|
||||||
|
border = "#${config.var.theme.colors.bgalt}";
|
||||||
|
};
|
||||||
|
|
||||||
|
error = {
|
||||||
|
bg = "#${config.var.theme.colors.c1}";
|
||||||
|
fg = "#${config.var.theme.colors.fgalt}";
|
||||||
|
border = "#${config.var.theme.colors.c1}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
#webpage.darkmode.enabled = true; # Enable dark mode for all websites (Weird on images)
|
||||||
|
webpage.preferred_color_scheme =
|
||||||
|
"dark"; # Enable dark mode for websites that support it
|
||||||
|
};
|
||||||
|
|
||||||
|
statusbar.show = "in-mode";
|
||||||
|
|
||||||
|
fonts = { default_family = "${config.var.theme.font}"; };
|
||||||
|
|
||||||
|
completion = {
|
||||||
|
height = "30%";
|
||||||
|
open_categories = [ "history" ];
|
||||||
|
scrollbar = {
|
||||||
|
padding = 0;
|
||||||
|
width = 0;
|
||||||
|
};
|
||||||
|
show = "always";
|
||||||
|
shrink = true;
|
||||||
|
timestamp_format = "";
|
||||||
|
web_history.max_items = 7;
|
||||||
|
};
|
||||||
|
|
||||||
|
content = {
|
||||||
|
autoplay = false;
|
||||||
|
javascript.clipboard = "access";
|
||||||
|
javascript.enabled = true;
|
||||||
|
webgl = true;
|
||||||
|
pdfjs = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
downloads = {
|
||||||
|
position = "bottom";
|
||||||
|
remove_finished = 0;
|
||||||
|
};
|
||||||
|
|
||||||
|
hints = {
|
||||||
|
border = "none";
|
||||||
|
radius = 1;
|
||||||
|
};
|
||||||
|
|
||||||
|
scrolling = {
|
||||||
|
bar = "never";
|
||||||
|
smooth = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
tabs = {
|
||||||
|
show = "multiple";
|
||||||
|
last_close = "close";
|
||||||
|
mode_on_change = "restore";
|
||||||
|
close_mouse_button = "right";
|
||||||
|
};
|
||||||
|
|
||||||
|
zoom.default = "100%";
|
||||||
|
|
||||||
|
qt.force_software_rendering = "chromium";
|
||||||
|
};
|
||||||
|
|
||||||
|
keyBindings = {
|
||||||
|
normal = {
|
||||||
|
"gh" = "open ${homepage}/build/index.html";
|
||||||
|
"gs" = "open https://home.anotherhadi.com";
|
||||||
|
|
||||||
|
" p" = "tab-move -";
|
||||||
|
" n" = "tab-move +";
|
||||||
|
" w" = "tab-close";
|
||||||
|
|
||||||
|
" 1" = "tab-focus 1";
|
||||||
|
" 2" = "tab-focus 2";
|
||||||
|
" 3" = "tab-focus 3";
|
||||||
|
" 4" = "tab-focus 4";
|
||||||
|
" 5" = "tab-focus 5";
|
||||||
|
" 6" = "tab-focus 6";
|
||||||
|
" 7" = "tab-focus 7";
|
||||||
|
" 8" = "tab-focus 8";
|
||||||
|
" 9" = "tab-focus 9";
|
||||||
|
" 0" = "tab-focus 10";
|
||||||
|
|
||||||
|
"<Ctrl-w>" = "tab-close";
|
||||||
|
"<Ctrl-n>" = "open -w";
|
||||||
|
|
||||||
|
"<Ctrl-1>" = "tab-focus 1";
|
||||||
|
"<Ctrl-2>" = "tab-focus 2";
|
||||||
|
"<Ctrl-3>" = "tab-focus 3";
|
||||||
|
"<Ctrl-4>" = "tab-focus 4";
|
||||||
|
"<Ctrl-5>" = "tab-focus 5";
|
||||||
|
"<Ctrl-6>" = "tab-focus 6";
|
||||||
|
"<Ctrl-7>" = "tab-focus 7";
|
||||||
|
"<Ctrl-8>" = "tab-focus 8";
|
||||||
|
"<Ctrl-9>" = "tab-focus 9";
|
||||||
|
"<Ctrl-0>" = "tab-focus 10";
|
||||||
|
};
|
||||||
|
|
||||||
|
command = {
|
||||||
|
"<Ctrl-w>" = "tab-close";
|
||||||
|
"<Ctrl-n>" = "open -w";
|
||||||
|
"<Ctrl-1>" = "tab-focus 1";
|
||||||
|
"<Ctrl-2>" = "tab-focus 2";
|
||||||
|
"<Ctrl-3>" = "tab-focus 3";
|
||||||
|
"<Ctrl-4>" = "tab-focus 4";
|
||||||
|
"<Ctrl-5>" = "tab-focus 5";
|
||||||
|
"<Ctrl-6>" = "tab-focus 6";
|
||||||
|
"<Ctrl-7>" = "tab-focus 7";
|
||||||
|
"<Ctrl-8>" = "tab-focus 8";
|
||||||
|
"<Ctrl-9>" = "tab-focus 9";
|
||||||
|
"<Ctrl-0>" = "tab-focus 10";
|
||||||
|
};
|
||||||
|
|
||||||
|
insert = {
|
||||||
|
"<Ctrl-w>" = "tab-close";
|
||||||
|
"<Ctrl-n>" = "open -w";
|
||||||
|
"<Ctrl-1>" = "tab-focus 1";
|
||||||
|
"<Ctrl-2>" = "tab-focus 2";
|
||||||
|
"<Ctrl-3>" = "tab-focus 3";
|
||||||
|
"<Ctrl-4>" = "tab-focus 4";
|
||||||
|
"<Ctrl-5>" = "tab-focus 5";
|
||||||
|
"<Ctrl-6>" = "tab-focus 6";
|
||||||
|
"<Ctrl-7>" = "tab-focus 7";
|
||||||
|
"<Ctrl-8>" = "tab-focus 8";
|
||||||
|
"<Ctrl-9>" = "tab-focus 9";
|
||||||
|
"<Ctrl-0>" = "tab-focus 10";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
extraConfig = ''
|
||||||
|
config.unbind("gm")
|
||||||
|
config.unbind("gd")
|
||||||
|
config.unbind("gb")
|
||||||
|
config.unbind("tl")
|
||||||
|
config.unbind("gt")
|
||||||
|
|
||||||
|
c.tabs.padding = {"bottom": 6, "left": 7, "right": 7, "top": 6}
|
||||||
|
c.statusbar.padding = {"bottom": 6, "left": 7, "right": 7, "top": 6}
|
||||||
|
|
||||||
|
config.load_autoconfig(True)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
}
|
||||||
+2
-3
@@ -1,10 +1,9 @@
|
|||||||
{ config, ... }: {
|
{ config, ... }: {
|
||||||
|
home.file.".duckduckgo-colorscheme.js".text = ''
|
||||||
xdg.configFile."duckduckgo-colorscheme.js".text = ''
|
|
||||||
// Go to DuckDuckGo settings page, open the console, paste the code and hit enter.
|
// Go to DuckDuckGo settings page, open the console, paste the code and hit enter.
|
||||||
// based on https://ddg.codingcodax.dev/
|
// based on https://ddg.codingcodax.dev/
|
||||||
// Cookies string for your theme
|
// Cookies string for your theme
|
||||||
const cookie = '7=${config.theme.colors.bg}; j=${config.theme.colors.bg}; 9=${config.theme.colors.fg}; aa=${config.theme.colors.alt-fg}; 8=${config.theme.colors.color7}; x=${config.theme.colors.primary-bg}; 21=${config.theme.colors.alt-bg};';
|
const cookie = '7=${config.var.theme.colors.bg}; j=${config.var.theme.colors.bg}; 9=${config.var.theme.colors.fg}; aa=${config.var.theme.colors.fgalt}; 8=${config.var.theme.colors.c7}; x=${config.var.theme.colors.accent}; 21=${config.var.theme.colors.bgalt};';
|
||||||
|
|
||||||
// Converts cookie string into formatted JSON
|
// Converts cookie string into formatted JSON
|
||||||
const cookieToJSON = (cookieRaw) => {
|
const cookieToJSON = (cookieRaw) => {
|
||||||
@@ -4,5 +4,8 @@
|
|||||||
./zsh.nix
|
./zsh.nix
|
||||||
./starship.nix
|
./starship.nix
|
||||||
./zoxide.nix
|
./zoxide.nix
|
||||||
|
./tmux.nix
|
||||||
|
./lazygit.nix
|
||||||
|
./eza.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
{
|
||||||
|
programs.eza = {
|
||||||
|
enable = true;
|
||||||
|
icons = true;
|
||||||
|
|
||||||
|
extraOptions = [
|
||||||
|
"--group-directories-first"
|
||||||
|
"--no-quotes"
|
||||||
|
"--git-ignore"
|
||||||
|
"--icons=always"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -3,12 +3,12 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
colors = {
|
colors = {
|
||||||
"fg+" = config.theme.colors.primary-ansi-16;
|
"fg+" = config.var.theme.colors.accentName;
|
||||||
"bg+" = "-1";
|
"bg+" = "-1";
|
||||||
"fg" = "white";
|
"fg" = "white";
|
||||||
"bg" = "-1";
|
"bg" = "-1";
|
||||||
"prompt" = "grey";
|
"prompt" = "grey";
|
||||||
"pointer" = config.theme.colors.primary-ansi-16;
|
"pointer" = config.var.theme.colors.accentName;
|
||||||
};
|
};
|
||||||
defaultOptions = [
|
defaultOptions = [
|
||||||
"--margin=1"
|
"--margin=1"
|
||||||
@@ -4,7 +4,7 @@
|
|||||||
settings = {
|
settings = {
|
||||||
gui.theme = {
|
gui.theme = {
|
||||||
ligthTheme = false;
|
ligthTheme = false;
|
||||||
activeBorderColor = [ "${config.theme.colors.primary-ansi-16}" "bold" ];
|
activeBorderColor = [ "${config.var.theme.colors.accentName}" "bold" ];
|
||||||
inactiveBorderColor = [ "black" ];
|
inactiveBorderColor = [ "black" ];
|
||||||
selectedLineBgColor = [ "default" ];
|
selectedLineBgColor = [ "default" ];
|
||||||
};
|
};
|
||||||
@@ -10,10 +10,10 @@
|
|||||||
"$git_status"
|
"$git_status"
|
||||||
"$character"
|
"$character"
|
||||||
];
|
];
|
||||||
directory = { style = "#${config.theme.colors.primary-bg}"; };
|
directory = { style = "#${config.var.theme.colors.accent}"; };
|
||||||
|
|
||||||
character = {
|
character = {
|
||||||
success_symbol = "[❯](#${config.theme.colors.primary-bg})";
|
success_symbol = "[❯](#${config.var.theme.colors.accent})";
|
||||||
error_symbol = "[❯](red)";
|
error_symbol = "[❯](red)";
|
||||||
vimcmd_symbol = "[❮](cyan)";
|
vimcmd_symbol = "[❮](cyan)";
|
||||||
};
|
};
|
||||||
@@ -12,6 +12,7 @@
|
|||||||
bind-key j select-pane -D
|
bind-key j select-pane -D
|
||||||
bind-key k select-pane -U
|
bind-key k select-pane -U
|
||||||
bind-key l select-pane -R
|
bind-key l select-pane -R
|
||||||
|
set -gq allow-passthrough on
|
||||||
'';
|
'';
|
||||||
|
|
||||||
plugins = with pkgs; [
|
plugins = with pkgs; [
|
||||||
@@ -31,7 +32,7 @@
|
|||||||
set -g @catppuccin_window_current_fill "number"
|
set -g @catppuccin_window_current_fill "number"
|
||||||
set -g @catppuccin_window_current_text "#W"
|
set -g @catppuccin_window_current_text "#W"
|
||||||
|
|
||||||
set -g @catppuccin_status_modules_right "directory session"
|
set -g @catppuccin_status_modules_right ""
|
||||||
set -g @catppuccin_status_left_separator " "
|
set -g @catppuccin_status_left_separator " "
|
||||||
set -g @catppuccin_status_right_separator ""
|
set -g @catppuccin_status_right_separator ""
|
||||||
set -g @catppuccin_status_fill "icon"
|
set -g @catppuccin_status_fill "icon"
|
||||||
@@ -39,6 +40,7 @@
|
|||||||
|
|
||||||
set -g @catppuccin_directory_text "#{pane_current_path}"
|
set -g @catppuccin_directory_text "#{pane_current_path}"
|
||||||
set -g @catppuccin_status_background "default"
|
set -g @catppuccin_status_background "default"
|
||||||
|
set-option -g default-terminal "screen-256color"
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
@@ -0,0 +1,73 @@
|
|||||||
|
{ pkgs, lib, config, ... }: {
|
||||||
|
|
||||||
|
home.packages = with pkgs; [ bat ripgrep tldr ];
|
||||||
|
|
||||||
|
home.sessionPath = [ "$HOME/go/bin" ];
|
||||||
|
|
||||||
|
programs.zsh = {
|
||||||
|
enable = true;
|
||||||
|
enableCompletion = true;
|
||||||
|
autosuggestion.enable = true;
|
||||||
|
syntaxHighlighting.enable = true;
|
||||||
|
historySubstringSearch.enable = true;
|
||||||
|
|
||||||
|
initExtraFirst = ''
|
||||||
|
bindkey -e
|
||||||
|
${if config.var.theme.fetch == "neofetch" then
|
||||||
|
pkgs.neofetch + "/bin/neofetch"
|
||||||
|
else if config.var.theme.fetch == "nerdfetch" then
|
||||||
|
"nerdfetch"
|
||||||
|
else if config.var.theme.fetch == "pfetch" then
|
||||||
|
"echo; ${pkgs.pfetch}/bin/pfetch"
|
||||||
|
else
|
||||||
|
""}
|
||||||
|
'';
|
||||||
|
|
||||||
|
history = {
|
||||||
|
ignoreDups = true;
|
||||||
|
save = 1000000;
|
||||||
|
size = 1000000;
|
||||||
|
};
|
||||||
|
|
||||||
|
profileExtra = lib.optionalString (config.home.sessionPath != [ ]) ''
|
||||||
|
export PATH="$PATH''${PATH:+:}${
|
||||||
|
lib.concatStringsSep ":" config.home.sessionPath
|
||||||
|
}"
|
||||||
|
'';
|
||||||
|
|
||||||
|
shellAliases = {
|
||||||
|
vim = "nvim";
|
||||||
|
vi = "nvim";
|
||||||
|
v = "nvim";
|
||||||
|
c = "clear";
|
||||||
|
clera = "clear";
|
||||||
|
celar = "clear";
|
||||||
|
e = "exit";
|
||||||
|
cd = "z";
|
||||||
|
ls = "eza --icons=always --no-quotes";
|
||||||
|
tree = "eza --icons=always --tree --no-quotes";
|
||||||
|
sl = "ls";
|
||||||
|
open = "${pkgs.xdg_utils}/bin/xdg-open";
|
||||||
|
icat = "${pkgs.kitty}/bin/kitty +kitten icat";
|
||||||
|
wireguard-import = "nmcli connection import type wireguard file";
|
||||||
|
neorg =
|
||||||
|
"cd ~/nextcloud/neorg && vim -c ':ZenMode' -c ':Telescope find_files' index.norg";
|
||||||
|
notes =
|
||||||
|
"cd ~/nextcloud/Notes && vim -c ':ZenMode' -c ':Telescope find_files' index.md";
|
||||||
|
note = "notes";
|
||||||
|
|
||||||
|
# git
|
||||||
|
ga = "git add";
|
||||||
|
gc = "git commit";
|
||||||
|
gcm = "git commit -m";
|
||||||
|
gcu = "git add . && git commit -m 'Update'";
|
||||||
|
gp = "git push";
|
||||||
|
gpl = "git pull";
|
||||||
|
gs = "git status";
|
||||||
|
gd = "git diff";
|
||||||
|
gco = "git checkout";
|
||||||
|
gcb = "git checkout -b";
|
||||||
|
gbr = "git branch";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
{ pkgs, config, lib, inputs, ... }:
|
||||||
|
let spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system};
|
||||||
|
in {
|
||||||
|
|
||||||
|
imports = [ inputs.spicetify-nix.homeManagerModules.default ];
|
||||||
|
nixpkgs.config.allowUnfreePredicate = pkg:
|
||||||
|
builtins.elem (lib.getName pkg) [ "spotify" ];
|
||||||
|
programs.spicetify = {
|
||||||
|
enable = true;
|
||||||
|
theme = spicePkgs.themes.text;
|
||||||
|
colorScheme = "custom";
|
||||||
|
|
||||||
|
customColorScheme = {
|
||||||
|
text = "${config.var.theme.colors.fg}";
|
||||||
|
subtext = "${config.var.theme.colors.fgalt}";
|
||||||
|
sidebar-text = "${config.var.theme.colors.fgalt}";
|
||||||
|
main = "${config.var.theme.colors.bg}";
|
||||||
|
sidebar = "${config.var.theme.colors.bg}";
|
||||||
|
background = "${config.var.theme.colors.bg}";
|
||||||
|
player = "${config.var.theme.colors.bg}";
|
||||||
|
card = "${config.var.theme.colors.bg}";
|
||||||
|
shadow = "000000";
|
||||||
|
selected-row = "${config.var.theme.colors.bgalt}";
|
||||||
|
button = "${config.var.theme.colors.accent}";
|
||||||
|
button-active = "${config.var.theme.colors.accent}";
|
||||||
|
button-disabled = "${config.var.theme.colors.bgalt}";
|
||||||
|
tab-active = "${config.var.theme.colors.accent}";
|
||||||
|
misc = "${config.var.theme.colors.fgalt}";
|
||||||
|
};
|
||||||
|
|
||||||
|
enabledExtensions = with spicePkgs.extensions; [
|
||||||
|
playlistIcons
|
||||||
|
lastfm
|
||||||
|
historyShortcut
|
||||||
|
hidePodcasts
|
||||||
|
adblock
|
||||||
|
fullAppDisplay
|
||||||
|
shuffle
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
{
|
||||||
|
programs.yazi = {
|
||||||
|
enable = true;
|
||||||
|
enableZshIntegration = true;
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
log = { enabled = false; };
|
||||||
|
manager = {
|
||||||
|
show_hidden = false;
|
||||||
|
sort_by = "modified";
|
||||||
|
sort_dir_first = true;
|
||||||
|
sort_reverse = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
theme = {
|
||||||
|
filetype = {
|
||||||
|
rules = [
|
||||||
|
{
|
||||||
|
fg = "#7AD9E5";
|
||||||
|
mime = "image/*";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
fg = "#F3D398";
|
||||||
|
mime = "video/*";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
fg = "#F3D398";
|
||||||
|
mime = "audio/*";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
fg = "#CD9EFC";
|
||||||
|
mime = "application/x-bzip";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
battery-watch = pkgs.writeShellScriptBin "battery-watch" ''
|
||||||
|
while true;do
|
||||||
|
battery-plugged &
|
||||||
|
battery-level &
|
||||||
|
sleep 60
|
||||||
|
done
|
||||||
|
'';
|
||||||
|
|
||||||
|
battery-plugged = pkgs.writeShellScriptBin "battery-plugged" ''
|
||||||
|
BATTERY_STATUS=$(cat /sys/class/power_supply/BAT*/status | head -n1)
|
||||||
|
OLD_BATTERY_STATUS=$(cat /tmp/old_battery_status 2>/dev/null || echo "Unknown")
|
||||||
|
if [[ $BATTERY_STATUS != $OLD_BATTERY_STATUS && $OLD_BATTERY_STATUS != "Unknown" ]]; then
|
||||||
|
if [[ $BATTERY_STATUS == "Discharging" ]]; then
|
||||||
|
notif "battery" " Battery is unplugged"
|
||||||
|
else
|
||||||
|
notif "battery" " Battery is plugged in"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
echo $BATTERY_STATUS > /tmp/old_battery_status
|
||||||
|
'';
|
||||||
|
|
||||||
|
battery-level = pkgs.writeShellScriptBin "battery-level" ''
|
||||||
|
BATTERY_LEVEL=$(cat /sys/class/power_supply/BAT*/capacity | head -n1)
|
||||||
|
BATTERY_STATUS=$(cat /sys/class/power_supply/BAT*/status | head -n1)
|
||||||
|
if [[ $BATTERY_LEVEL -le 20 ]] && [[ $BATTERY_STATUS == "Discharging" ]]; then
|
||||||
|
notif "battery" " Low battery" "Battery level is $BATTERY_LEVEL%"
|
||||||
|
elif [[ $BATTERY_LEVEL -le 10 ]] && [[ $BATTERY_STATUS == "Discharging" ]]; then
|
||||||
|
notif "battery" " Very low battery" "Battery level is $BATTERY_LEVEL%"
|
||||||
|
# elif [[ $BATTERY_LEVEL -eq 100 ]] && [[ $BATTERY_STATUS -ne "Discharging" ]]; then
|
||||||
|
# notif "battery" " Fully charged"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
in { home.packages = [ battery-watch battery-plugged battery-level ]; }
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, config, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
increments = "5";
|
increments = "5";
|
||||||
@@ -13,9 +13,7 @@ let
|
|||||||
|
|
||||||
message=" Brightness: $brightness_level%"
|
message=" Brightness: $brightness_level%"
|
||||||
|
|
||||||
${pkgs.libnotify}/bin/notify-send "$message" \
|
notif "brightness" "$message" "extraargs=-h int:value:$brightness_level"
|
||||||
-h int:value:"$brightness_level" \
|
|
||||||
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
brightness-up = pkgs.writeShellScriptBin "brightness-up" ''
|
brightness-up = pkgs.writeShellScriptBin "brightness-up" ''
|
||||||
@@ -26,10 +24,4 @@ let
|
|||||||
brightness-change down ${increments}
|
brightness-change down ${increments}
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in {
|
in { home.packages = [ brightness-change brightness-up brightness-down ]; }
|
||||||
home.packages = with pkgs; [
|
|
||||||
brightness-change
|
|
||||||
brightness-up
|
|
||||||
brightness-down
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -1,9 +1,7 @@
|
|||||||
{ pkgs, config, ... }:
|
{ pkgs, ... }:
|
||||||
let
|
let
|
||||||
homedir = config.home.homeDirectory;
|
|
||||||
|
|
||||||
caffeine-status = pkgs.writeShellScriptBin "caffeine-status" ''
|
caffeine-status = pkgs.writeShellScriptBin "caffeine-status" ''
|
||||||
[[ -f /tmp/caffeine ]] && echo "active" || echo "inactive"
|
[[ -f /tmp/caffeine ]] && echo "1" || echo "0"
|
||||||
'';
|
'';
|
||||||
|
|
||||||
caffeine = pkgs.writeShellScriptBin "caffeine" ''
|
caffeine = pkgs.writeShellScriptBin "caffeine" ''
|
||||||
@@ -16,8 +14,16 @@ let
|
|||||||
pkill hypridle
|
pkill hypridle
|
||||||
message=" Caffeine Activated"
|
message=" Caffeine Activated"
|
||||||
fi
|
fi
|
||||||
${pkgs.libnotify}/bin/notify-send "$message" \
|
notif "caffeine" "$message"
|
||||||
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in { home.packages = with pkgs; [ caffeine-status caffeine ]; }
|
caffeine-status-icon = pkgs.writeShellScriptBin "caffeine-status-icon" ''
|
||||||
|
status=$(caffeine-status)
|
||||||
|
if [[ $status == "1" ]]; then
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
in { home.packages = [ caffeine-status caffeine caffeine-status-icon ]; }
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ let
|
|||||||
echo "Wrong number of arguments..."
|
echo "Wrong number of arguments..."
|
||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
extract = pkgs.writeShellScriptBin "extract" ''
|
extract = pkgs.writeShellScriptBin "extract" ''
|
||||||
for i in "$@" ; do
|
for i in "$@" ; do
|
||||||
tar -xvzf $i
|
tar -xvzf $i
|
||||||
@@ -18,4 +19,4 @@ let
|
|||||||
done
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in { home.packages = with pkgs; [ compress extract ]; }
|
in { home.packages = [ compress extract ]; }
|
||||||
@@ -1,7 +1,6 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./nixy
|
./nixy
|
||||||
./nerdfetch
|
|
||||||
./sounds
|
./sounds
|
||||||
./brightness
|
./brightness
|
||||||
./caffeine
|
./caffeine
|
||||||
@@ -9,9 +8,9 @@
|
|||||||
./screenshot
|
./screenshot
|
||||||
./startup
|
./startup
|
||||||
./nerdfont_fzf
|
./nerdfont_fzf
|
||||||
./system
|
./notification
|
||||||
./zip
|
./battery
|
||||||
|
./compress
|
||||||
./misc.nix
|
./misc
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
{ pkgs, config, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
homedir = config.home.homeDirectory;
|
|
||||||
|
|
||||||
menu = pkgs.writeShellScriptBin "menu" ''
|
|
||||||
if pgrep wofi; then
|
|
||||||
pkill wofi
|
|
||||||
else
|
|
||||||
wofi --show drun
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
powermenu = pkgs.writeShellScriptBin "powermenu" ''
|
|
||||||
if pgrep wlogout; then
|
|
||||||
pkill wlogout
|
|
||||||
else
|
|
||||||
${pkgs.wlogout}/bin/wlogout
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
wireguard-import = pkgs.writeShellScriptBin "wireguard-import" ''
|
|
||||||
nmcli connection import type wireguard file "$1"
|
|
||||||
'';
|
|
||||||
|
|
||||||
vault = pkgs.writeShellScriptBin "vault" ''
|
|
||||||
nvim $HOME/Nextcloud/obsidian
|
|
||||||
'';
|
|
||||||
|
|
||||||
in { home.packages = with pkgs; [ menu wireguard-import powermenu vault ]; }
|
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
menu = pkgs.writeShellScriptBin "menu" ''
|
||||||
|
if pgrep wofi; then
|
||||||
|
pkill wofi
|
||||||
|
else
|
||||||
|
wofi --show drun
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
powermenu = pkgs.writeShellScriptBin "powermenu" ''
|
||||||
|
if pgrep wlogout; then
|
||||||
|
pkill wlogout
|
||||||
|
else
|
||||||
|
${pkgs.wlogout}/bin/wlogout
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
lock = pkgs.writeShellScriptBin "lock" ''
|
||||||
|
${pkgs.hyprlock}/bin/hyprlock
|
||||||
|
'';
|
||||||
|
|
||||||
|
in { home.packages = [ menu powermenu lock ]; }
|
||||||
@@ -26,10 +26,9 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
in {
|
in {
|
||||||
home.packages = with pkgs; [ nerdfont-fzf nerdfont-fzf-fetch nerdfont-popup ];
|
home.packages = [ nerdfont-fzf nerdfont-fzf-fetch nerdfont-popup ];
|
||||||
|
|
||||||
xdg.configFile."nerdfont_glyphnames.json" = {
|
xdg.configFile."nerdfont_glyphnames.json" = {
|
||||||
source = ./nerdfont_glyphnames.json;
|
source = ./nerdfont_glyphnames.json;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,20 +1,50 @@
|
|||||||
{ pkgs, config, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
homedir = config.home.homeDirectory;
|
|
||||||
default = "4000";
|
default = "4000";
|
||||||
|
|
||||||
night-shift-on = pkgs.writeShellScriptBin "night-shift-on" ''
|
night-shift-on = pkgs.writeShellScriptBin "night-shift-on" ''
|
||||||
${pkgs.hyprland}/bin/hyprctl dispatch exec "${pkgs.wlsunset}/bin/wlsunset -t ${default}"
|
${pkgs.hyprland}/bin/hyprctl dispatch exec "${pkgs.wlsunset}/bin/wlsunset -t ${default}"
|
||||||
message=" Night-Shift Activated"
|
message=" Night-Shift Activated"
|
||||||
${pkgs.libnotify}/bin/notify-send "$message" \
|
notif "night-shift" "$message"
|
||||||
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
night-shift-off = pkgs.writeShellScriptBin "night-shift-off" ''
|
night-shift-off = pkgs.writeShellScriptBin "night-shift-off" ''
|
||||||
pkill wlsunset
|
pkill wlsunset
|
||||||
message=" Night-Shift Deactivated"
|
message=" Night-Shift Deactivated"
|
||||||
${pkgs.libnotify}/bin/notify-send "$message" \
|
notif "night-shift" "$message"
|
||||||
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in { home.packages = with pkgs; [ night-shift-on night-shift-off ]; }
|
night-shift = pkgs.writeShellScriptBin "night-shift" ''
|
||||||
|
if pgrep wlsunset; then
|
||||||
|
night-shift-off
|
||||||
|
else
|
||||||
|
night-shift-on
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
night-shift-status = pkgs.writeShellScriptBin "night-shift-status" ''
|
||||||
|
if [[ $(pgrep wlsunset) ]]; then
|
||||||
|
echo "1"
|
||||||
|
else
|
||||||
|
echo "0"
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
night-shift-status-icon =
|
||||||
|
pkgs.writeShellScriptBin "night-shift-status-icon" ''
|
||||||
|
if [[ $(pgrep wlsunset) ]]; then
|
||||||
|
echo ""
|
||||||
|
else
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
in {
|
||||||
|
home.packages = [
|
||||||
|
night-shift-on
|
||||||
|
night-shift-off
|
||||||
|
night-shift
|
||||||
|
night-shift-status
|
||||||
|
night-shift-status-icon
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,39 +1,57 @@
|
|||||||
{ pkgs, config, ... }:
|
{ pkgs, config, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
homedir = config.home.homeDirectory;
|
|
||||||
|
|
||||||
nixy-rebuild = pkgs.writeShellScriptBin "nixy-rebuild" ''
|
nixy = pkgs.writeShellScriptBin "nixy" ''
|
||||||
sudo nixos-rebuild switch --flake ${homedir}/.config/nixos#nixy
|
function exec() {
|
||||||
|
$@
|
||||||
|
}
|
||||||
|
|
||||||
|
function ui(){
|
||||||
|
DEFAULT_ICON=""
|
||||||
|
|
||||||
|
# "icon;name;command"[]
|
||||||
|
apps=(
|
||||||
|
";Rebuild;nixy rebuild"
|
||||||
|
";Upgrade;nixy upgrade"
|
||||||
|
";Update;nixy update"
|
||||||
|
";Collect Garbage;nixy gc"
|
||||||
|
";Clean Boot Menu;nixy cb"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Apply default icons if empty:
|
||||||
|
for i in "''${!apps[@]}"; do
|
||||||
|
apps[i]=$(echo "''${apps[i]}" | sed 's/^;/'$DEFAULT_ICON';/')
|
||||||
|
done
|
||||||
|
|
||||||
|
fzf_result=$(printf "%s\n" "''${apps[@]}" | awk -F ';' '{print $1" "$2}' | fzf)
|
||||||
|
[[ -z $fzf_result ]] && exit 0
|
||||||
|
fzf_result=''${fzf_result/ /;}
|
||||||
|
line=$(printf "%s\n" "''${apps[@]}" | grep "$fzf_result")
|
||||||
|
command=$(echo "$line" | sed 's/^[^;]*;//;s/^[^;]*;//')
|
||||||
|
|
||||||
|
exec "$command"
|
||||||
|
exit 0
|
||||||
|
}
|
||||||
|
|
||||||
|
[[ $1 == "" ]] && ui
|
||||||
|
|
||||||
|
if [[ $1 == "rebuild" ]];then
|
||||||
|
sudo nixos-rebuild switch --flake ${config.var.configDirectory}#${config.var.hostname}
|
||||||
|
elif [[ $1 == "upgrade" ]];then
|
||||||
|
sudo nixos-rebuild switch --upgrade --flake ${config.var.configDirectory}#${config.var.hostname}
|
||||||
|
elif [[ $1 == "update" ]];then
|
||||||
|
cd ${config.var.configDirectory} && sudo nix flake update
|
||||||
|
elif [[ $1 == "gc" ]];then
|
||||||
|
cd ${config.var.configDirectory} && sudo nix-collect-garbage -d
|
||||||
|
elif [[ $1 == "cb" ]];then
|
||||||
|
sudo /run/current-system/bin/switch-to-configuration boot
|
||||||
|
elif [[ $1 == "remote" ]];then
|
||||||
|
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"
|
||||||
|
else
|
||||||
|
echo "Unknown argument"
|
||||||
|
fi
|
||||||
'';
|
'';
|
||||||
|
|
||||||
nixy-edit = pkgs.writeShellScriptBin "nixy-edit" ''
|
in { home.packages = [ nixy ]; }
|
||||||
$EDITOR ${homedir}/.config/nixos/
|
|
||||||
'';
|
|
||||||
|
|
||||||
nixy-upgrade = pkgs.writeShellScriptBin "nixy-upgrade" ''
|
|
||||||
sudo nixos-rebuild switch --upgrade --flake ${homedir}/.config/nixos#nixy
|
|
||||||
'';
|
|
||||||
|
|
||||||
nixy-update = pkgs.writeShellScriptBin "nixy-update" ''
|
|
||||||
cd ${homedir}/.config/nixos && sudo nix flake update
|
|
||||||
'';
|
|
||||||
|
|
||||||
nixy-gc = pkgs.writeShellScriptBin "nixy-gc" ''
|
|
||||||
cd ${homedir}/.config/nixos && sudo nix-collect-garbage -d
|
|
||||||
'';
|
|
||||||
|
|
||||||
nixy-cb = pkgs.writeShellScriptBin "nixy-cb" ''
|
|
||||||
sudo /run/current-system/bin/switch-to-configuration boot
|
|
||||||
'';
|
|
||||||
|
|
||||||
in {
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
nixy-rebuild
|
|
||||||
nixy-edit
|
|
||||||
nixy-upgrade
|
|
||||||
nixy-update
|
|
||||||
nixy-gc
|
|
||||||
nixy-cb
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -0,0 +1,27 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
let
|
||||||
|
notif = pkgs.writeShellScriptBin "notif" ''
|
||||||
|
# Shell script to send custom notifications
|
||||||
|
NOTIF_FOLDER="/tmp/notif"
|
||||||
|
sender_id=$1 # To overwrite existing notifications
|
||||||
|
message=$2
|
||||||
|
extraargs=""
|
||||||
|
description=""
|
||||||
|
if [[ $3 == "extraargs="* ]]; then
|
||||||
|
extraargs=$(echo "$3" | sed 's/extraargs=//g')
|
||||||
|
else
|
||||||
|
description="$3"
|
||||||
|
extraargs="$4"
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ -d "$NOTIF_FOLDER" ]] || mkdir $NOTIF_FOLDER
|
||||||
|
[[ -f "$NOTIF_FOLDER/$sender_id" ]] || echo "0" > "$NOTIF_FOLDER/$sender_id"
|
||||||
|
|
||||||
|
old_notification_id=$(cat "$NOTIF_FOLDER/$sender_id")
|
||||||
|
|
||||||
|
${pkgs.libnotify}/bin/notify-send "$message" \
|
||||||
|
$extraargs \
|
||||||
|
--replace-id="$old_notification_id" --print-id > "$NOTIF_FOLDER/$sender_id"
|
||||||
|
'';
|
||||||
|
|
||||||
|
in { home.packages = [ notif ]; }
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
{ pkgs, config, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
homedir = config.home.homeDirectory;
|
|
||||||
|
|
||||||
screenshot = pkgs.writeShellScriptBin "screenshot" ''
|
screenshot = pkgs.writeShellScriptBin "screenshot" ''
|
||||||
if [[ $2 == "swappy" ]];then
|
if [[ $2 == "swappy" ]];then
|
||||||
folder="/tmp"
|
folder="/tmp"
|
||||||
@@ -31,4 +29,4 @@ let
|
|||||||
--icon="$folder/$filename" \
|
--icon="$folder/$filename" \
|
||||||
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
|
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
|
||||||
'';
|
'';
|
||||||
in { home.packages = with pkgs; [ hyprshot screenshot ]; }
|
in { home.packages = [ pkgs.hyprshot screenshot ]; }
|
||||||
|
|||||||
@@ -26,9 +26,7 @@ let
|
|||||||
message=" Volume: $volume%"
|
message=" Volume: $volume%"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
${pkgs.libnotify}/bin/notify-send "$message" \
|
notif "sound" "$message" "extraargs=-h int:value:$volume"
|
||||||
-h int:value:"$volume" \
|
|
||||||
--replace-id="$(cat "/tmp/nixy-notification" 2>/dev/null || echo 0)" --print-id > "/tmp/nixy-notification"
|
|
||||||
'';
|
'';
|
||||||
|
|
||||||
sound-up = pkgs.writeShellScriptBin "sound-up" ''
|
sound-up = pkgs.writeShellScriptBin "sound-up" ''
|
||||||
@@ -83,11 +81,6 @@ let
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
in {
|
in {
|
||||||
home.packages = with pkgs; [
|
home.packages =
|
||||||
sound-output
|
[ sound-output sound-change sound-up sound-down sound-toggle ];
|
||||||
sound-change
|
|
||||||
sound-up
|
|
||||||
sound-down
|
|
||||||
sound-toggle
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,43 +1,17 @@
|
|||||||
# File runned at startup by Hyprland
|
# File runned at startup by Hyprland
|
||||||
{ pkgs, ... }:
|
{ pkgs, config, ... }:
|
||||||
let
|
let
|
||||||
variable = import ../../../variables.nix;
|
|
||||||
|
|
||||||
nextcloud-watch = pkgs.writeShellScriptBin "nextcloud-watch" ''
|
|
||||||
# Start nextcloud if I'm on my networks
|
|
||||||
while true;do
|
|
||||||
ssid=$(nmcli -t -f name connection show --active | head -n1)
|
|
||||||
status=$(pgrep -n nextcloud)
|
|
||||||
if [[ -z $status ]]; then
|
|
||||||
service_status="inactive"
|
|
||||||
else
|
|
||||||
service_status="active"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [[ $ssid == "inthecloud" || $ssid == "Wired connection 2" ]]; then
|
|
||||||
if [[ $service_status == "inactive" ]]; then
|
|
||||||
${pkgs.nextcloud-client}/bin/nextcloud --background
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if [[ $service_status == "active" ]]; then
|
|
||||||
pkill nextcloud
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
sleep 120
|
|
||||||
done
|
|
||||||
'';
|
|
||||||
|
|
||||||
startup = pkgs.writeShellScriptBin "startup" ''
|
startup = pkgs.writeShellScriptBin "startup" ''
|
||||||
|
# Startup is a script called by Hyprland on startup
|
||||||
# Because HM enabling services suck.
|
# Because HM enabling services suck.
|
||||||
|
|
||||||
[[ ${
|
[[ ${toString config.var.sops} == "1" ]] && systemctl --user start sops-nix
|
||||||
toString variable.enableSops
|
|
||||||
} == "1" ]] && systemctl --user start sops-nix
|
|
||||||
|
|
||||||
[[ ${toString variable.enableNextcloud} == "1" ]] && nextcloud-watch &
|
battery-watch &
|
||||||
|
|
||||||
system-notif &
|
|
||||||
${pkgs.waybar}/bin/waybar &
|
${pkgs.waybar}/bin/waybar &
|
||||||
|
|
||||||
|
|
||||||
|
wlr-randr --output "Unknown-1" --off # FIX: REMOVE WEIRD GHOST MONITOR
|
||||||
'';
|
'';
|
||||||
|
|
||||||
in { home.packages = with pkgs; [ startup nextcloud-watch nextcloud-client ]; }
|
in { home.packages = [ startup ]; }
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user