This commit is contained in:
Hadi 2024-10-07 10:13:21 +02:00
parent 905cc9a885
commit ab65fe342b
75 changed files with 132 additions and 436 deletions

View File

@ -1,9 +1,4 @@
[//]: # (Title: Nixy) [//]: # (This is autogenerated)
[//]: # (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.)
[//]: # (Author: Hadi)
[//]: # (Date: 09/04/24)
[//]: # (Version: v2.3.0)
<div align="center"> <div align="center">
<img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/docs/src/logo.png" width="100px" /> <img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/docs/src/logo.png" width="100px" />
</div> </div>
@ -14,9 +9,6 @@
<br> <br>
<div align="center"> <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.3.0&colorA=181825&colorB=89b4fa&logo=githubactions&logoColor=89b4fa"/>
</a>
<a href="https://github.com/anotherhadi/nixy/stargazers"> <a href="https://github.com/anotherhadi/nixy/stargazers">
<img src="https://img.shields.io/github/stars/anotherhadi/nixy?color=89b4fa&labelColor=181825&style=for-the-badge&logo=starship&logoColor=89b4fa"> <img src="https://img.shields.io/github/stars/anotherhadi/nixy?color=89b4fa&labelColor=181825&style=for-the-badge&logo=starship&logoColor=89b4fa">
</a> </a>
@ -35,12 +27,20 @@
**Nixy** is a **Hyprland** NixOS configuration with **home-manager**, **secrets**, and **custom theming** all in one place. **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. It's a simple way to manage your system configuration and dotfiles.
*Key points:*
- Hyprecosystem first (Hyprland, hyprlock, hyprpanel, hypridle, ...)
- Stylix/base16 themes
## Table of Content ## Table of Content
- [Nixy](#nixy)
- [Table of Content](#table-of-content) - [Table of Content](#table-of-content)
- [Gallery](#gallery) - [Gallery](#gallery)
- [Architecture](#architecture) - [Architecture](#architecture)
- [🏠 `home`](#-home) - [🏠 `home`](#-home)
- [`nixos`](#nixos)
- [`themes`](#themes)
- [💻 `hosts`](#-hosts) - [💻 `hosts`](#-hosts)
- [Installation](#installation) - [Installation](#installation)
- [Documentation](#documentation) - [Documentation](#documentation)
@ -64,18 +64,15 @@ Those are the dotfiles and configuration files for user-level configuration
- `system` is some "desktop environment" configuration - `system` is some "desktop environment" configuration
- `wallpapers` are... wallpapers - `wallpapers` are... wallpapers
### `nixos`
### `themes`
### 💻 `hosts` ### 💻 `hosts`
Those are the host-specific configurations Those are the host-specific configurations
Each host contains a `configuration.nix` for system-level configuration, a `home.nix` for user-level configuration, and a `variables.nix` for config wide variables. Each host contains a `configuration.nix` for system-level configuration, a `home.nix` for user-level configuration, and a `variables.nix` for config wide variables.
**Subfolders:**
- 🎨 `themes` are the themes available *(see [THEMES.md](docs/THEMES.md))*
- 📦 `modules` are the nix modules that you can import
- `laptop` is my configuration for my laptop with Nvidia that you can copy
- `server` is for my homeserver (w/nextcloud, nginx, vaultwarden, ...)
## Installation ## Installation
```sh ```sh
@ -96,10 +93,9 @@ sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname
## Documentation ## Documentation
- [THEMES.md](docs/THEMES.md): How themes work and how to create your own - [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 - [SCRIPTS.md](docs/SCRIPTS.md): Scripts that are available
- [KEYBINDINGS.md](docs/KEYBINDINGS.md): Keybindings available in Hyprland - [KEYBINDINGS.md](docs/KEYBINDINGS.md): Keybindings available in Hyprland
- [WALLPAPERS.md](docs/WALLPAPERS.md): Preview of every wallpapers available - [WALLPAPERS.md](https://github.com/anotherhadi/nixy-wallpapers): A collection of wallpapers for Nixy.
- [TODO.md](docs/TODO.md): What's next (feel free to contribute) - [TODO.md](docs/TODO.md): What's next (feel free to contribute)
- [CONTRIBUTING.md](docs/CONTRIBUTING.md): How to contribute - [CONTRIBUTING.md](docs/CONTRIBUTING.md): How to contribute

View File

@ -1,41 +0,0 @@
# 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 | hyprpanel |
| Terminal | kitty |
| Shell | zsh |
| | tmux |
| | starship |
| | bat |
| | eza |
| | zoxide |
| | fzf |
| Editor | neovim(nixvim) |
| File manager | thunar |
| Browser | qutebrowser |
| Music | spicetify |
| Launcher | wofi |
| DM | tuigreet |
| Secrets | sops-nix |
| 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, jellyfin, ...
I exposed some services to the internet using a reverse proxy (Nginx) and cloudflare-dyndns, others are accessed through a tailscale network

View File

@ -1,6 +1,6 @@
# Themes # Themes
Themes are defined in `hosts/themes`. Those themes define the colors, fonts, icons, etc, used by Hyprland and the apps/programs installed. Themes are defined in `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. You can change the selected theme by changing the import statement of your host's variables.nix file.
> [!TIP] > [!TIP]
@ -9,7 +9,7 @@ You can change the selected theme by changing the import statement of your host'
## Create your theme ## Create your theme
Create a copy of one of the existing themes and change the variables. Create a copy of one of the existing themes and change the variables.
Wallpapers are loaded from the `home/wallpapers` folder. Wallpapers are loaded from the [nixy-wallpapers](https://github.com/anotherhadi/nixy-wallpapers) repo.
## Gallery ## Gallery

View File

@ -1,13 +1,16 @@
# Todolist { # Todolist
feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md)) feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md))
- [ ] Hyprshade (replacement for gammastep) - [ ] Hyprshade (replacement for gammastep)
- [ ] !!! Qutebrowser Bitwarden integration (I need this.) - [ ] !!! Qutebrowser Bitwarden integration (I need this.)
- [ ] Hyprland - [ ] Hyprland
- [ ] Fix screenshots (screenshot region's border shows up in the screenshot, hyprshot jq error?) and add in the scripts doc - [ ] Fix screenshots (screenshot region's border shows up in the screenshot, hyprshot jq error?) and add in the scripts doc
- [ ] Nixy - [ ] Nixy
- [ ] Open Keybindings - [ ] Open Keybindings
- [ ] Nixvim - [ ] Nixvim
- [ ] Markdown tab size 2 - [ ] Markdown tab size 2
- [ ] Harpoon - [ ] Harpoon
@ -16,15 +19,6 @@ feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md))
- [ ] nvim dap - [ ] nvim dap
- [ ] <https://github.com/0fie/Mika> - [ ] <https://github.com/0fie/Mika>
- [ ] <https://github.com/redyf/Neve/blob/main/config/utils/whichkey.nix> - [ ] <https://github.com/redyf/Neve/blob/main/config/utils/whichkey.nix>
- [ ] Update docs - [ ] Update docs
- [ ] Workflow README - [ ] Workflow README
- [ ] Put wallpapers in a separate repo, with a flake.nix
## 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
- [ ] Adguard config

View File

@ -1,55 +0,0 @@
# Wallpapers
Wallpapers can be found in the `/home/wallpapers` folder.
| Name | Preview |
|-----------------------|--------------------------------------------------------------------|
| 20.png | ![20.png](../home/wallpapers/20.png) |
| astronaut.png | ![astronaut.png](../home/wallpapers/astronaut.png) |
| aurore.png | ![aurore.png](../home/wallpapers/aurore.png) |
| barcode.png | ![barcode.png](../home/wallpapers/barcode.png) |
| black-and-white.png | ![black-and-white.png](../home/wallpapers/black-and-white.png) |
| cat-leaves.png | ![cat-leaves.png](../home/wallpapers/cat-leaves.png) |
| city.png | ![city.png](../home/wallpapers/city.png) |
| cloud.png | ![cloud.png](../home/wallpapers/cloud.png) |
| clouds-2.png | ![clouds-2.png](../home/wallpapers/clouds-2.png) |
| clouds2.png | ![clouds2.png](../home/wallpapers/clouds2.png) |
| clouds-3.png | ![clouds-3.png](../home/wallpapers/clouds-3.png) |
| clouds.png | ![clouds.png](../home/wallpapers/clouds.png) |
| coffee.png | ![coffee.png](../home/wallpapers/coffee.png) |
| crane.png | ![crane.png](../home/wallpapers/crane.png) |
| dark_cloud.png | ![dark_cloud.png](../home/wallpapers/dark_cloud.png) |
| dark-forest.png | ![dark-forest.png](../home/wallpapers/dark-forest.png) |
| dark.png | ![dark.png](../home/wallpapers/dark.png) |
| dark-waves.png | ![dark-waves.png](../home/wallpapers/dark-waves.png) |
| degirled.png | ![degirled.png](../home/wallpapers/degirled.png) |
| diner-lonely-road.png | ![diner-lonely-road.png](../home/wallpapers/diner-lonely-road.png) |
| fuji-dark.png | ![fuji-dark.png](../home/wallpapers/fuji-dark.png) |
| fuji-light.png | ![fuji-light.png](../home/wallpapers/fuji-light.png) |
| galaxy.png | ![galaxy.png](../home/wallpapers/galaxy.png) |
| horizon-2.png | ![horizon-2.png](../home/wallpapers/horizon-2.png) |
| house-cloud.png | ![house-cloud.png](../home/wallpapers/house-cloud.png) |
| key.png | ![key.png](../home/wallpapers/key.png) |
| lavender-cat.png | ![lavender-cat.png](../home/wallpapers/lavender-cat.png) |
| lofi-computer.png | ![lofi-computer.png](../home/wallpapers/lofi-computer.png) |
| lofi-urban.png | ![lofi-urban.png](../home/wallpapers/lofi-urban.png) |
| magma.png | ![magma.png](../home/wallpapers/magma.png) |
| mountains-black.png | ![mountains-black.png](../home/wallpapers/mountains-black.png) |
| mountains.png | ![mountains.png](../home/wallpapers/mountains.png) |
| nasa-japan-dark.png | ![nasa-japan-dark.png](../home/wallpapers/nasa-japan-dark.png) |
| nix.png | ![nix.png](../home/wallpapers/nix.png) |
| pixel-galaxy.png | ![pixel-galaxy.png](../home/wallpapers/pixel-galaxy.png) |
| problems.png | ![problems.png](../home/wallpapers/problems.png) |
| rains-dark.png | ![rains-dark.png](../home/wallpapers/rains-dark.png) |
| rocket-launch.png | ![rocket-launch.png](../home/wallpapers/rocket-launch.png) |
| sea2.png | ![sea2.png](../home/wallpapers/sea2.png) |
| sea.png | ![sea.png](../home/wallpapers/sea.png) |
| space2.png | ![space2.png](../home/wallpapers/space2.png) |
| space.png | ![space.png](../home/wallpapers/space.png) |
| street.png | ![street.png](../home/wallpapers/street.png) |
| sun.png | ![sun.png](../home/wallpapers/sun.png) |
| the-road-black.png | ![the-road-black.png](../home/wallpapers/the-road-black.png) |
| tokyo.png | ![tokyo.png](../home/wallpapers/tokyo.png) |
| train.png | ![train.png](../home/wallpapers/train.png) |
| windows.png | ![windows.png](../home/wallpapers/windows.png) |
| wp.png | ![wp.png](../home/wallpapers/wp.png) |

View File

@ -13,8 +13,3 @@ done
for file in ./docs/src/*/*.png; do for file in ./docs/src/*/*.png; do
optipng "$file" optipng "$file"
done done
# Wallpapers
for file in ./home/wallpapers/*.png; do
optipng "$file"
done

View File

@ -1,24 +0,0 @@
#!/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 | ![$filename](../home/wallpapers/$filename) |" >>"$WALLPAPERS_MD"
done
pandoc -t commonmark_x "$WALLPAPERS_MD" -o "/tmp/wallpapers.md"
mv "/tmp/wallpapers.md" "$WALLPAPERS_MD"

View File

@ -6,22 +6,15 @@
README_FILE="./README.md" 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 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") 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')} # Replace variables
header=${header//\{primarycolor\}/89b4fa} readme_content=${readme_content//\{primarycolor\}/89b4fa}
header=${header//\{backgroundcolor\}/181825} readme_content=${readme_content//\{backgroundcolor\}/181825}
header=${header//\{version\}/$version}
header=${header//\{description\}/$description}
readme_content=${readme_content//\{md_table_of_content\}/$table_of_content} readme_content=${readme_content//\{md_table_of_content\}/$table_of_content}
echo "$header" >"$README_FILE" echo "[//]: # (This file is autogenerated)" >"$README_FILE"
echo "$readme_content" >>"$README_FILE" echo "$readme_content" >>"$README_FILE"
sed 's/\r//' "$README_FILE" >"/tmp/readme.md" sed 's/\r//' "$README_FILE" >"/tmp/readme.md"
mv "/tmp/readme.md" "$README_FILE" mv "/tmp/readme.md" "$README_FILE"

View File

@ -1,26 +0,0 @@
#!/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"

View File

@ -1,42 +0,0 @@
#!/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

View File

@ -1,7 +1,36 @@
<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/stargazers">
<img src="https://img.shields.io/github/stars/anotherhadi/nixy?color={primarycolor}&labelColor={backgroundcolor}&style=for-the-badge&logo=starship&logoColor={primarycolor}">
</a>
<a href="https://github.com/anotherhadi/nixy/">
<img src="https://img.shields.io/github/repo-size/anotherhadi/nixy?color={primarycolor}&labelColor={backgroundcolor}&style=for-the-badge&logo=github&logoColor={primarycolor}">
</a>
<a href="https://nixos.org">
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor={backgroundcolor}&logo=NixOS&logoColor={primarycolor}&color={primarycolor}">
</a>
<a href="https://github.com/anotherhadi/nixy/blob/main/LICENSE">
<img src="https://img.shields.io/static/v1.svg?style=for-the-badge&label=License&message=MIT&colorA={backgroundcolor}&colorB={primarycolor}&logo=unlicense&logoColor={primarycolor}"/>
</a>
</div>
<br>
**Nixy** is a **Hyprland** NixOS configuration with **home-manager**, **secrets**, and **custom theming** all in one place. **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. It's a simple way to manage your system configuration and dotfiles.
*Key points:*
- Hyprecosystem first (Hyprland, hyprlock, hyprpanel, hypridle, ...)
- Stylix/base16 themes
## Table of Content ## Table of Content
{md_table_of_content} {md_table_of_content}
@ -25,18 +54,15 @@ Those are the dotfiles and configuration files for user-level configuration
- `system` is some "desktop environment" configuration - `system` is some "desktop environment" configuration
- `wallpapers` are... wallpapers - `wallpapers` are... wallpapers
### `nixos`
### `themes`
### 💻 `hosts` ### 💻 `hosts`
Those are the host-specific configurations Those are the host-specific configurations
Each host contains a `configuration.nix` for system-level configuration, a `home.nix` for user-level configuration, and a `variables.nix` for config wide variables. Each host contains a `configuration.nix` for system-level configuration, a `home.nix` for user-level configuration, and a `variables.nix` for config wide variables.
**Subfolders:**
- 🎨 `themes` are the themes available *(see [THEMES.md](docs/THEMES.md))*
- 📦 `modules` are the nix modules that you can import
- `laptop` is my configuration for my laptop with Nvidia that you can copy
- `server` is for my homeserver (w/nextcloud, nginx, vaultwarden, ...)
## Installation ## Installation
```sh ```sh
@ -57,10 +83,9 @@ sudo nixos-rebuild switch --flake ~/.config/nixos#yourhostname
## Documentation ## Documentation
- [THEMES.md](docs/THEMES.md): How themes work and how to create your own - [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 - [SCRIPTS.md](docs/SCRIPTS.md): Scripts that are available
- [KEYBINDINGS.md](docs/KEYBINDINGS.md): Keybindings available in Hyprland - [KEYBINDINGS.md](docs/KEYBINDINGS.md): Keybindings available in Hyprland
- [WALLPAPERS.md](docs/WALLPAPERS.md): Preview of every wallpapers available - [WALLPAPERS.md](https://github.com/anotherhadi/nixy-wallpapers): A collection of wallpapers for Nixy.
- [TODO.md](docs/TODO.md): What's next (feel free to contribute) - [TODO.md](docs/TODO.md): What's next (feel free to contribute)
- [CONTRIBUTING.md](docs/CONTRIBUTING.md): How to contribute - [CONTRIBUTING.md](docs/CONTRIBUTING.md): How to contribute

View File

@ -1,33 +0,0 @@
[//]: # (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>

View File

@ -2,7 +2,7 @@
"nodes": { "nodes": {
"ags": { "ags": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_3",
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
@ -19,28 +19,10 @@
"type": "github" "type": "github"
} }
}, },
"anotherhadi-portfolio": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1725477372,
"narHash": "sha256-ZCQkWSRzkGK4VKlFXR9YyUUX3XloLP0zUto2a5QDFTY=",
"owner": "anotherhadi",
"repo": "portfolio",
"rev": "ac8633fbc621f2f2c48d12349669b395ea32b671",
"type": "github"
},
"original": {
"owner": "anotherhadi",
"repo": "portfolio",
"type": "github"
}
},
"apple-fonts": { "apple-fonts": {
"inputs": { "inputs": {
"flake-utils": "flake-utils", "flake-utils": "flake-utils",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs",
"ny": "ny", "ny": "ny",
"sf-arabic": "sf-arabic", "sf-arabic": "sf-arabic",
"sf-compact": "sf-compact", "sf-compact": "sf-compact",
@ -489,7 +471,7 @@
"hyprlang": "hyprlang", "hyprlang": "hyprlang",
"hyprutils": "hyprutils", "hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner", "hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_3", "nixpkgs": "nixpkgs_2",
"systems": "systems_2", "systems": "systems_2",
"xdph": "xdph" "xdph": "xdph"
}, },
@ -509,36 +491,6 @@
"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": 1727705521,
"narHash": "sha256-tR4bc6zONkxore1F7CRrwHs9NITht8NY0JTidPSmMXY=",
"owner": "hyprwm",
"repo": "hyprland-plugins",
"rev": "9215288eb2ded9d0c08d468ea90ba68f43162c67",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-plugins",
"type": "github"
}
},
"hyprland-protocols": { "hyprland-protocols": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -623,7 +575,7 @@
"hyprpanel": { "hyprpanel": {
"inputs": { "inputs": {
"ags": "ags", "ags": "ags",
"nixpkgs": "nixpkgs_5" "nixpkgs": "nixpkgs_4"
}, },
"locked": { "locked": {
"lastModified": 1728101408, "lastModified": 1728101408,
@ -728,15 +680,15 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1725103162, "lastModified": 1727348695,
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=", "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
"owner": "NixOS", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b", "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
@ -762,35 +714,19 @@
"locked": { "locked": {
"lastModified": 1727348695, "lastModified": 1727348695,
"narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=", "narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784", "rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": {
"lastModified": 1727348695,
"narHash": "sha256-J+PeFKSDV+pHL7ukkfpVzCOO7mBSrrpJ3svwBFABbhI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1925c603f17fc89f4c8f6bf6f631a802ad85d784",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1725634671, "lastModified": 1725634671,
"narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=", "narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=",
@ -806,7 +742,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1727634051, "lastModified": 1727634051,
"narHash": "sha256-S5kVU7U82LfpEukbn/ihcyNt2+EvG7Z5unsKW9H/yFA=", "narHash": "sha256-S5kVU7U82LfpEukbn/ihcyNt2+EvG7Z5unsKW9H/yFA=",
@ -822,7 +758,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_6": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1728018373, "lastModified": 1728018373,
"narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=", "narHash": "sha256-NOiTvBbRLIOe5F6RbHaAh6++BNjsb149fGZd1T4+KBg=",
@ -838,7 +774,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_7": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1725194671, "lastModified": 1725194671,
"narHash": "sha256-tLGCFEFTB5TaOKkpfw3iYT9dnk4awTP/q4w+ROpMfuw=", "narHash": "sha256-tLGCFEFTB5TaOKkpfw3iYT9dnk4awTP/q4w+ROpMfuw=",
@ -882,6 +818,22 @@
"type": "github" "type": "github"
} }
}, },
"nixy-wallpapers": {
"flake": false,
"locked": {
"lastModified": 1728284470,
"narHash": "sha256-OCK5mTajkGATUGlayNZ25WaPr1Whl+shNi1nar1CKc8=",
"owner": "anotherhadi",
"repo": "nixy-wallpapers",
"rev": "c1a5f921b82ee4c128dbea42fe26b5ffec0232df",
"type": "github"
},
"original": {
"owner": "anotherhadi",
"repo": "nixy-wallpapers",
"type": "github"
}
},
"nuschtosSearch": { "nuschtosSearch": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
@ -934,15 +886,14 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"anotherhadi-portfolio": "anotherhadi-portfolio",
"apple-fonts": "apple-fonts", "apple-fonts": "apple-fonts",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins",
"hyprpanel": "hyprpanel", "hyprpanel": "hyprpanel",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_6", "nixpkgs": "nixpkgs_5",
"nixvim": "nixvim", "nixvim": "nixvim",
"nixy-wallpapers": "nixy-wallpapers",
"plugin-markdown": "plugin-markdown", "plugin-markdown": "plugin-markdown",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"spicetify-nix": "spicetify-nix", "spicetify-nix": "spicetify-nix",
@ -1049,7 +1000,7 @@
"flake-utils": "flake-utils_3", "flake-utils": "flake-utils_3",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"home-manager": "home-manager_3", "home-manager": "home-manager_3",
"nixpkgs": "nixpkgs_7", "nixpkgs": "nixpkgs_6",
"systems": "systems_5", "systems": "systems_5",
"tinted-foot": "tinted-foot", "tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",

View File

@ -24,18 +24,18 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1";
hyprland-plugins = {
url = "github:hyprwm/hyprland-plugins";
inputs.hyprland.follows = "hyprland";
};
apple-fonts.url = "github:Lyndeno/apple-fonts.nix"; apple-fonts.url = "github:Lyndeno/apple-fonts.nix";
nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-hardware.url = "github:NixOS/nixos-hardware/master";
hyprpanel.url = "github:Jas-SinghFSU/HyprPanel"; hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";
anotherhadi-portfolio.url = "github:anotherhadi/portfolio";
plugin-markdown = { plugin-markdown = {
# TODO: Put the new url
url = "github:MeanderingProgrammer/markdown.nvim"; url = "github:MeanderingProgrammer/markdown.nvim";
flake = false; flake = false;
}; };
nixy-wallpapers = {
url = "github:anotherhadi/nixy-wallpapers";
flake = false;
};
stylix.url = "github:danth/stylix"; stylix.url = "github:danth/stylix";
}; };
@ -54,17 +54,6 @@
./hosts/laptop/configuration.nix # CHANGEME ./hosts/laptop/configuration.nix # CHANGEME
]; ];
}; };
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
];
};
}; };
}; };
} }

View File

@ -60,6 +60,12 @@
action = "<cmd>Oil<cr>"; action = "<cmd>Oil<cr>";
options.desc = "Oil"; options.desc = "Oil";
} }
{
key = "<leader>E";
action = "<cmd>Neotree<cr>";
options.desc = "Neotree";
}
{ {
key = "<C-h>"; key = "<C-h>";
action = "<cmd>TmuxNavigateLeft<cr>"; action = "<cmd>TmuxNavigateLeft<cr>";

View File

@ -14,6 +14,10 @@
telescope = { telescope = {
enable = true; enable = true;
extensions.fzf-native = { enable = true; }; extensions.fzf-native = { enable = true; };
settings = {
selection_caret = "/ ";
layout_config = { prompt_position = "top"; };
};
}; };
todo-comments.enable = true; todo-comments.enable = true;
treesitter = { treesitter = {

View File

@ -1,15 +1,15 @@
{ config, ... }: { { config, lib, ... }: {
programs.fzf = { programs.fzf = {
enable = true; enable = true;
enableZshIntegration = true; enableZshIntegration = true;
# colors = { colors = lib.mkForce {
# "fg+" = config.var.theme.colors.accentName; "fg+" = "#" + config.lib.stylix.colors.base0D;
# "bg+" = "-1"; "bg+" = "-1";
# "fg" = "white"; "fg" = "#" + config.lib.stylix.colors.base05;
# "bg" = "-1"; "bg" = "-1";
# "prompt" = "grey"; "prompt" = "#" + config.lib.stylix.colors.base03;
# "pointer" = config.var.theme.colors.accentName; "pointer" = "#" + config.lib.stylix.colors.base0D;
# }; };
defaultOptions = [ defaultOptions = [
"--margin=1" "--margin=1"
"--layout=reverse" "--layout=reverse"

View File

@ -60,11 +60,10 @@
sl = "ls"; sl = "ls";
open = "${pkgs.xdg_utils}/bin/xdg-open"; open = "${pkgs.xdg_utils}/bin/xdg-open";
icat = "${pkgs.kitty}/bin/kitty +kitten icat"; icat = "${pkgs.kitty}/bin/kitty +kitten icat";
wireguard-import = "nmcli connection import type wireguard file"; 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 && -c ':Telescope find_files' index.md";
notes =
"cd ~/nextcloud/Notes && vim -c ':ZenMode' -c ':Telescope find_files' index.md";
note = "notes"; note = "notes";
# git # git

View File

@ -9,6 +9,13 @@ in {
enable = true; enable = true;
theme = lib.mkForce spicePkgs.themes.text; theme = lib.mkForce spicePkgs.themes.text;
# TODO: Colors not working
customColorScheme = lib.mkForce {
button = "#${config.lib.stylix.colors.base0D}";
button-active = "#${config.lib.stylix.colors.base0D}";
tab-active = "#${config.lib.stylix.colors.base0D}";
};
enabledExtensions = with spicePkgs.extensions; [ enabledExtensions = with spicePkgs.extensions; [
playlistIcons playlistIcons
lastfm lastfm

View File

@ -12,28 +12,5 @@
sort_reverse = 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";
}
];
};
};
}; };
} }

View File

@ -27,9 +27,9 @@ let
# bash # bash
'' ''
if [ -f /tmp/hyprfocus ]; then if [ -f /tmp/hyprfocus ]; then
hyprfocus-kill hyprfocus-off
else else
hyprfocus hyprfocus-on
fi fi
''; '';
in { home.packages = [ hyprfocus-on hyprfocus-off hyprfocus-toggle ]; } in { home.packages = [ hyprfocus-on hyprfocus-off hyprfocus-toggle ]; }

View File

@ -10,11 +10,7 @@ let
''; '';
powermenu = pkgs.writeShellScriptBin "powermenu" '' powermenu = pkgs.writeShellScriptBin "powermenu" ''
if pgrep wlogout; then hyprpanel -t powerdropdownmenu
pkill wlogout
else
${pkgs.wlogout}/bin/wlogout
fi
''; '';
lock = pkgs.writeShellScriptBin "lock" '' lock = pkgs.writeShellScriptBin "lock" ''

View File

@ -134,7 +134,7 @@
"XDG_SESSION_TYPE,wayland" "XDG_SESSION_TYPE,wayland"
"SDL_VIDEODRIVER,wayland" "SDL_VIDEODRIVER,wayland"
"CLUTTER_BACKEND,wayland" "CLUTTER_BACKEND,wayland"
"AQ_DRM_DEVICES,/dev/dri/card2" # TODO: Why the fuck this is needed "AQ_DRM_DEVICES,/dev/dri/card2" # FIXME: Why the fuck this is needed
]; ];
cursor = { cursor = {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 486 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 928 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 948 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 739 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 369 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 641 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 511 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 909 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 MiB

View File

@ -45,18 +45,14 @@
nodejs nodejs
python3 python3
jq jq
nurl
prefetch-npm-deps
figlet figlet
# Utils # Utils
zip zip
unzip unzip
glow
optipng optipng
pfetch pfetch
pandoc pandoc
tailscale
btop btop
cava cava
@ -72,12 +68,6 @@
neovide neovide
]; ];
# Import wallpapers into $HOME/wallpapers
file."wallpapers" = {
recursive = true;
source = ../../home/wallpapers;
};
# Import my profile picture, used by the hyprpanel dashboard # Import my profile picture, used by the hyprpanel dashboard
file.".profile_picture.png" = { source = ./profile_picture.png; }; file.".profile_picture.png" = { source = ./profile_picture.png; };

View File

@ -41,7 +41,7 @@
bar = { bar = {
transparent = false; transparent = false;
floating = false; floating = true;
font-size = 16; font-size = 16;
}; };
}; };

View File

@ -50,13 +50,8 @@
}; };
}; };
# targets.nixvim.transparentBackground = {
# main = true;
# signColumn = true;
# };
polarity = "dark"; polarity = "dark";
image = ../home/wallpapers/nix.png; image = inputs.nixy-wallpapers + "/magma.png";
}; };
} }