20 Commits

Author SHA1 Message Date
Hadi
60fe3769e8 Release v2.4.0
Former-commit-id: 7ddff66f00
2024-09-04 10:11:28 +02:00
Hadi
641bf821d4 Update
Former-commit-id: e1f973cabf
2024-09-04 10:10:52 +02:00
Hadi
25aa619445 Update
Former-commit-id: e38895c4a5
2024-09-04 10:10:32 +02:00
Hadi
5a0d476de3 Update
Former-commit-id: c2e6fd7d32
2024-09-04 09:34:42 +02:00
Hadi
00db8d0ae6 Update
Former-commit-id: 3d8bcaeeb2
2024-09-04 02:02:57 +02:00
Hadi
ef66b6f848 Add wofi clipman
Former-commit-id: 4135134261
2024-09-04 01:53:36 +02:00
Hadi
59caed5e69 Add wofi emoji
Former-commit-id: 027ef1c398
2024-09-04 01:44:37 +02:00
Hadi
dad0865d06 Change to gammastep
Former-commit-id: 659509e613
2024-09-04 01:40:24 +02:00
Hadi
c106c76cbc Update
Former-commit-id: e9a20f49e2
2024-09-02 18:30:30 +02:00
Hadi
4181544de8 Update
Former-commit-id: 75562adea8
2024-09-02 09:29:50 +02:00
Hadi
30c8414749 Update
Former-commit-id: 4afca71b91
2024-08-30 17:29:30 +02:00
Hadi
6bb9386773 Update
Former-commit-id: 4a8f1be75f
2024-08-30 17:02:38 +02:00
Hadi
ae82cbcf67 Update
Former-commit-id: 4540b40dc4
2024-08-30 16:13:57 +02:00
Hadi
518ac107c6 Update
Former-commit-id: fcd5eca04f
2024-08-30 16:06:22 +02:00
Hadi
58f5f421e8 Update
Former-commit-id: da1b88305d
2024-08-30 15:47:17 +02:00
Hadi
999950afc9 Update
Former-commit-id: f0e9294982
2024-08-30 14:16:30 +02:00
Hadi
13a6249227 Update
Former-commit-id: b3f20e6aef
2024-08-30 09:33:57 +02:00
Hadi
c68df370cc Update
Former-commit-id: 48a59c4c55
2024-08-29 22:46:04 +02:00
Hadi
c08d551932 Update
Former-commit-id: c83e5b2213
2024-08-29 17:04:05 +02:00
Hadi
fa63cf950a Update
Former-commit-id: 55a5c52c51
2024-08-29 14:29:05 +02:00
59 changed files with 672 additions and 39497 deletions

View File

@@ -1,8 +1,8 @@
[//]: # (Title: Nixy)
[//]: # (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: 08/28/24)
[//]: # (Version: v2.2.0)
[//]: # (Date: 09/04/24)
[//]: # (Version: v2.3.0)
<div align="center">
<img src="https://raw.githubusercontent.com/anotherhadi/nixy/main/docs/src/logo.png" width="100px" />
@@ -15,7 +15,7 @@
<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"/>
<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">
<img src="https://img.shields.io/github/stars/anotherhadi/nixy?color=89b4fa&labelColor=181825&style=for-the-badge&logo=starship&logoColor=89b4fa">
@@ -40,27 +40,41 @@ It's a simple way to manage your system configuration and dotfiles.
- [Table of Content](#table-of-content)
- [Gallery](#gallery)
- [Architecture](#architecture)
- [🏠 `home`](#-home)
- [💻 `hosts`](#-hosts)
- [Installation](#installation)
- [Documentation](#documentation)
## Gallery
![catppuccin1](docs/src/catppuccin/1.png)
![catppuccin2](docs/src/catppuccin/2.png)
![catppuccin3](docs/src/catppuccin/3.png)
![nixy1](docs/src/nixy/1.png)
![nixy2](docs/src/nixy/2.png)
![nixy3](docs/src/nixy/3.png)
## 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, ...)
### 🏠 `home`
Those are the dotfiles and configuration files for user-level configuration
**Subfolders:**
- `programs` is a collection of apps configured with home-manager
- `scripts` is a folder full of bash scripts (see [SCRIPTS.md](docs/SCRIPTS.md))
- `system` is some "desktop environment" configuration
- `wallpapers` are... wallpapers
### 💻 `hosts`
Those are the host-specific configurations
Each host contains a `configuration.nix` for system-level configuration, a `home.nix` for user-level configuration, and a `variables.nix` for config wide variables.
**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

View File

@@ -15,7 +15,7 @@ The configurations files can be found in the `hosts/laptop` directory.
| | hypridle |
| | hyprcursor |
| | wlogout |
| Bar | waybar |
| Bar | hyprpanel |
| Terminal | kitty |
| Shell | zsh |
| | tmux |
@@ -25,32 +25,17 @@ The configurations files can be found in the `hosts/laptop` directory.
| | zoxide |
| | fzf |
| Editor | neovim(nixvim) |
| File manager | lf |
| | thunar |
| File manager | 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 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
### Apps
- Nextcloud
- Vaultwarden
- Adguard Home
- Uptime Kuma
- "Jackflix"
- Jellyfin, Transmission, *arr
- See [hosts/server](../hosts/server/)...

View File

@@ -2,39 +2,41 @@
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 |
| Description | Keybinding |
|--------------------------------------------|--------------------------|
| Switch Workspace | SUPER + {Number} |
| Move app to Workspace | SHIFT + SUPER + {Number} |
| Kitty | SUPER + RETURN |
| Thunar | SUPER + E |
| Qutebrowser | SUPER + B |
| Bitwarden | SUPER + K |
| Lock | SUPER + L |
| Powermenu | SUPER + X |
| Launcher | SUPER + SPACE |
| "\$shiftMod, SPACE, hyprexpo:expo, toggle" | |
| Close window | SUPER + Q |
| Toggle Floating | SUPER + T |
| Toggle Fullscreen | SUPER + F |
| Move focus left | SUPER + left |
| Move focus Right | SUPER + right |
| Move focus Up | SUPER + up |
| Move focus Down | SUPER + down |
| 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 |
| Search on internet with wofi | SHIFT + SUPER + S |
| Clipboard picker with wofi | SHIFT + SUPER + C |
| Emoji picker with wofi | SHIFT + SUPER + E |
| Turn off night shift | SUPER + F2 |
| Turn on night shift | SUPER + F3 |
| 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 |

View File

@@ -1,6 +1,6 @@
# Scripts
Scripts are located in the `home/scripts` folder. Home-manager add those in the path.
Scripts are located in the `home/scripts` folder. Home-manager add those in the user's path.
## Nix/NixOs shortcuts
@@ -18,14 +18,15 @@ Scripts are located in the `home/scripts` folder. Home-manager add those in the
- `brightness-up`
- `brightness-down`
- `brightness-change <up/down> <increment>`
- `brightness-set [value]`
- `brightness-change [up/down] <increment>`
## Sound control
- `sound-up`
- `sound-down`
- `sound-toggle`
- `sound-output`
- `sound-set [value]`
- `sound-change [up/down/mute] <increment>`
## Caffeine
@@ -33,14 +34,16 @@ Scripts are located in the `home/scripts` folder. Home-manager add those in the
Caffeine is a simple script that toggles hypridle (disable suspend & screenlock).
- `caffeine` # Toggle caffeine
- `caffeine-status` # Return active/inactive
- `caffeine-status` # Return 1/0
- `caffeine-status-icon` # Return 󰅶/󰾪
## Night-Shift
Blue light filter, using wlsunset
- `night-shift` # Toggle night shift
- `night-shift-status` # Return active/inactive
- `night-shift-status` # Return 1/0
- `night-shift-status-icon` # Return 󰖕/󰖔
- `night-shift-on`
- `night-shift-off`
@@ -50,10 +53,3 @@ 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` ...

View File

@@ -18,15 +18,3 @@ Wallpapers are loaded from the `home/wallpapers` folder.
![nixy1](src/nixy/1.png)
![nixy2](src/nixy/2.png)
![nixy3](src/nixy/3.png)
### Catppuccin
![catppuccin1](src/catppuccin/1.png)
![catppuccin2](src/catppuccin/2.png)
![catppuccin3](src/catppuccin/3.png)
### Windows
![windows1](src/windows/1.png)
![windows2](src/windows/2.png)
![windows3](src/windows/3.png)

View File

@@ -2,28 +2,26 @@
feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md))
- [ ] Nixy
- [ ] Themes
- [ ] Wofi config
- Calculator
- [ ] Clipse: clipboard manager
- [ ] Walker launcher implementation
- [ ] Swaync implementation
- [ ] Test hyprshade (replacement for gammastep)
- [ ] 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)
- [ ] Fix screenshots (screenshot region's border shows up in the screenshot, hyprshot jq error?) and add in the scripts doc
- [ ] Nixvim
- [ ] Keymaps:
- Trouble
- Tagbar (actually not working)
- [ ] Disable background color for headlines.nvim for titles
- [ ] Change my keyboard backlight
- Issue on nixos-hardware ig
- [ ] Update docs
## Server
@@ -32,3 +30,4 @@ feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md))
- 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

@@ -8,22 +8,34 @@ It's a simple way to manage your system configuration and dotfiles.
## Gallery
![catppuccin1](docs/src/catppuccin/1.png)
![catppuccin2](docs/src/catppuccin/2.png)
![catppuccin3](docs/src/catppuccin/3.png)
![nixy1](docs/src/nixy/1.png)
![nixy2](docs/src/nixy/2.png)
![nixy3](docs/src/nixy/3.png)
## 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, ...)
### 🏠 `home`
Those are the dotfiles and configuration files for user-level configuration
**Subfolders:**
- `programs` is a collection of apps configured with home-manager
- `scripts` is a folder full of bash scripts (see [SCRIPTS.md](docs/SCRIPTS.md))
- `system` is some "desktop environment" configuration
- `wallpapers` are... wallpapers
### 💻 `hosts`
Those are the host-specific configurations
Each host contains a `configuration.nix` for system-level configuration, a `home.nix` for user-level configuration, and a `variables.nix` for config wide variables.
**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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 103 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 225 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 617 KiB

View File

@@ -1 +0,0 @@
62b52ad02a886c19a8cfe1ea17e8aaad50f23632

Binary file not shown.

Before

Width:  |  Height:  |  Size: 411 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 990 KiB

152
flake.lock generated
View File

@@ -1,5 +1,24 @@
{
"nodes": {
"ags": {
"inputs": {
"nixpkgs": "nixpkgs_3",
"systems": "systems_3"
},
"locked": {
"lastModified": 1721306136,
"narHash": "sha256-VKPsIGf3/a+RONBipx4lEE4LXG2sdMNkWQu22LNQItg=",
"owner": "Aylur",
"repo": "ags",
"rev": "344ea72cd3b8d4911f362fec34bce7d8fb37028c",
"type": "github"
},
"original": {
"owner": "Aylur",
"repo": "ags",
"type": "github"
}
},
"apple-fonts": {
"inputs": {
"flake-utils": "flake-utils",
@@ -44,11 +63,11 @@
]
},
"locked": {
"lastModified": 1724273991,
"narHash": "sha256-+aUSOXKGpS5CRm1oTitgNAr05ThQNbKIXalZHl3nC6Y=",
"lastModified": 1725016199,
"narHash": "sha256-2TMk7F2a27ZtOUW/bftkDyZKp3OQ71E5XnfKSUT8HZQ=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "9a3161ad4c78dc420d1cbb3aae638222608c7de4",
"rev": "cff00196f0fcf734a2bf164eb0dfdb6e58c5c906",
"type": "github"
},
"original": {
@@ -149,7 +168,7 @@
},
"flake-utils_2": {
"inputs": {
"systems": "systems_3"
"systems": "systems_4"
},
"locked": {
"lastModified": 1710146030,
@@ -182,11 +201,11 @@
]
},
"locked": {
"lastModified": 1724440431,
"narHash": "sha256-9etXEOUtzeMgqg1u0wp+EdwG7RpmrAZ2yX516bMj2aE=",
"lastModified": 1724857454,
"narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "c8a54057aae480c56e28ef3e14e4960628ac495b",
"rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6",
"type": "github"
},
"original": {
@@ -299,11 +318,11 @@
"xdph": "xdph"
},
"locked": {
"lastModified": 1724784150,
"narHash": "sha256-XlmFLoLppuKxSh2eGPXy27+tNIQ+w+cXoh8Ln3vBJew=",
"lastModified": 1725019943,
"narHash": "sha256-tAGs6TpIYkRUWjU0WYAavzHCPy4XLLMn63caFF7OCNc=",
"ref": "refs/heads/main",
"rev": "17ed4fc04cedbaad365bdebf6bfe0160c527f3fe",
"revCount": 5147,
"rev": "25e72949a1cc2368425ed81712a394cb277f514f",
"revCount": 5160,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@@ -400,6 +419,25 @@
"type": "github"
}
},
"hyprpanel": {
"inputs": {
"ags": "ags",
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1725006826,
"narHash": "sha256-DO9Sxg+HP7Iy/TguZtjwXRjlH35liWXEuG17ilcJejI=",
"owner": "Jas-SinghFSU",
"repo": "HyprPanel",
"rev": "4bd5c3ed30ae643ac1dee152f8b9332d0c5c3eb9",
"type": "github"
},
"original": {
"owner": "Jas-SinghFSU",
"repo": "HyprPanel",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
@@ -412,11 +450,11 @@
]
},
"locked": {
"lastModified": 1722869141,
"narHash": "sha256-0KU4qhyMp441qfwbirNg3+wbm489KnEjXOz2I/RbeFs=",
"lastModified": 1724966483,
"narHash": "sha256-WXDgKIbzjYKczxSZOsJplCS1i1yrTUpsDPuJV/xpYLo=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "0252fd13e78e60fb0da512a212e56007515a49f7",
"rev": "8976e3f6a5357da953a09511d0c7f6a890fb6ec2",
"type": "github"
},
"original": {
@@ -473,11 +511,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1724575805,
"narHash": "sha256-OB/kEL3GAhUZmUfkbPfsPhKs0pRqJKs0EEBiLfyKZw8=",
"lastModified": 1724878143,
"narHash": "sha256-UjpKo92iZ25M05kgSOw/Ti6VZwpgdlOa73zHj8OcaDk=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "9fc19be21f0807d6be092d70bf0b1de0c00ac895",
"rev": "95c3dfe6ef2e96ddc1ccdd7194e3cda02ca9a8ef",
"type": "github"
},
"original": {
@@ -521,11 +559,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1724224976,
"narHash": "sha256-Z/ELQhrSd7bMzTO8r7NZgi9g5emh+aRKoCdaAv5fiO0=",
"lastModified": 1724819573,
"narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c374d94f1536013ca8e92341b540eba4c22f9c62",
"rev": "71e91c409d1e654808b2621f28a327acfdad8dc2",
"type": "github"
},
"original": {
@@ -537,11 +575,43 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1724479785,
"narHash": "sha256-pP3Azj5d6M5nmG68Fu4JqZmdGt4S4vqI5f8te+E/FTw=",
"lastModified": 1718714799,
"narHash": "sha256-FUZpz9rg3gL8NVPKbqU8ei1VkPLsTIfAJ2fdAf5qjak=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "c00d587b1a1afbf200b1d8f0b0e4ba9deb1c7f0e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1722185531,
"narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "d0e1602ddde669d5beb01aec49d71a51937ed7be",
"rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1724819573,
"narHash": "sha256-GnR7/ibgIH1vhoy8cYdmXE6iyZqKqFxQSVkFgosBh6w=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "71e91c409d1e654808b2621f28a327acfdad8dc2",
"type": "github"
},
"original": {
@@ -566,11 +636,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1724820329,
"narHash": "sha256-jXaDebjRjcUgZcMNXkvA99s/tTUvZfLLJxLwf1e/qwE=",
"lastModified": 1724968633,
"narHash": "sha256-eb2NCdLwfXL1MuTAkoDncSl2lCJwyylV5/NM1Ws2P/U=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "70e9532ec290769e4d671747b0f65b1c29a3c14e",
"rev": "2704133fe3ca616b22ed6685cc67180456eb4160",
"type": "github"
},
"original": {
@@ -619,8 +689,9 @@
"home-manager": "home-manager",
"hyprland": "hyprland",
"hyprland-plugins": "hyprland-plugins",
"hyprpanel": "hyprpanel",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_3",
"nixpkgs": "nixpkgs_5",
"nixvim": "nixvim",
"sops-nix": "sops-nix",
"spicetify-nix": "spicetify-nix"
@@ -703,11 +774,11 @@
]
},
"locked": {
"lastModified": 1724818600,
"narHash": "sha256-7i8zqLTds2bXs6n/2ucSJdmKTzhajCktQ2WWFOVW3x0=",
"lastModified": 1724991403,
"narHash": "sha256-n0os3uymBUoGlikG87Yp7oisYGrkEwsm3nptS9FhdAk=",
"owner": "Gerg-L",
"repo": "spicetify-nix",
"rev": "c8050c21e2e61efe0ac2d423eac9062c62bb6633",
"rev": "0965e58aa38245b2105fec2949a9463fe34e3f05",
"type": "github"
},
"original": {
@@ -747,6 +818,21 @@
}
},
"systems_3": {
"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_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -769,11 +855,11 @@
]
},
"locked": {
"lastModified": 1724338379,
"narHash": "sha256-kKJtaiU5Ou+e/0Qs7SICXF22DLx4V/WhG1P6+k4yeOE=",
"lastModified": 1724833132,
"narHash": "sha256-F4djBvyNRAXGusJiNYInqR6zIMI3rvlp6WiKwsRISos=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "070f834771efa715f3e74cd8ab93ecc96fabc951",
"rev": "3ffd842a5f50f435d3e603312eefa4790db46af5",
"type": "github"
},
"original": {

View File

@@ -30,15 +30,18 @@
inputs.hyprland.follows = "hyprland";
};
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
hyprpanel.url = "github:Jas-SinghFSU/HyprPanel";
};
outputs = inputs@{ nixpkgs, ... }: {
nixosConfigurations = {
nixy = nixpkgs.lib.nixosSystem { # CHANGEME
system = "x86_64-linux";
modules = [
{ _module.args = { inherit inputs; }; }
{
nixpkgs.overlays = [ inputs.hyprpanel.overlay ];
_module.args = { inherit inputs; };
}
inputs.nixos-hardware.nixosModules.omen-16-n0005ne # CHANGEME
inputs.home-manager.nixosModules.home-manager
./hosts/laptop/configuration.nix # CHANGEME

View File

@@ -1,174 +0,0 @@
# vim:ft=dircolors
# (This is not a dircolors file but it helps to highlight colors and comments)
# default values from dircolors
# (entries with a leading # are not implemented in lf)
# #no 00 # NORMAL
# fi 00 # FILE
# #rs 0 # RESET
# di 01;34 # DIR
# ln 01;36 # LINK
# #mh 00 # MULTIHARDLINK
# pi 40;33 # FIFO
# so 01;35 # SOCK
# #do 01;35 # DOOR
# bd 40;33;01 # BLK
# cd 40;33;01 # CHR
# or 40;31;01 # ORPHAN
# #mi 00 # MISSING
# su 37;41 # SETUID
# sg 30;43 # SETGID
# #ca 30;41 # CAPABILITY
# tw 30;42 # STICKY_OTHER_WRITABLE
# ow 34;42 # OTHER_WRITABLE
# st 37;44 # STICKY
# ex 01;32 # EXEC
# default values from lf (with matching order)
# ln 01;36 # LINK
# or 31;01 # ORPHAN
# tw 01;34 # STICKY_OTHER_WRITABLE
# ow 01;34 # OTHER_WRITABLE
# st 01;34 # STICKY
# di 01;34 # DIR
# pi 33 # FIFO
# so 01;35 # SOCK
# bd 33;01 # BLK
# cd 33;01 # CHR
# su 01;32 # SETUID
# sg 01;32 # SETGID
# ex 01;32 # EXEC
# fi 00 # FILE
# file types (with matching order)
ln 01;36 # LINK
or 31;01 # ORPHAN
tw 34 # STICKY_OTHER_WRITABLE
ow 34 # OTHER_WRITABLE
st 01;34 # STICKY
di 01;34 # DIR
pi 33 # FIFO
so 01;35 # SOCK
bd 33;01 # BLK
cd 33;01 # CHR
su 01;32 # SETUID
sg 01;32 # SETGID
ex 01;32 # EXEC
fi 00 # FILE
# archives or compressed (dircolors defaults)
*.tar 01;31
*.tgz 01;31
*.arc 01;31
*.arj 01;31
*.taz 01;31
*.lha 01;31
*.lz4 01;31
*.lzh 01;31
*.lzma 01;31
*.tlz 01;31
*.txz 01;31
*.tzo 01;31
*.t7z 01;31
*.zip 01;31
*.z 01;31
*.dz 01;31
*.gz 01;31
*.lrz 01;31
*.lz 01;31
*.lzo 01;31
*.xz 01;31
*.zst 01;31
*.tzst 01;31
*.bz2 01;31
*.bz 01;31
*.tbz 01;31
*.tbz2 01;31
*.tz 01;31
*.deb 01;31
*.rpm 01;31
*.jar 01;31
*.war 01;31
*.ear 01;31
*.sar 01;31
*.rar 01;31
*.alz 01;31
*.ace 01;31
*.zoo 01;31
*.cpio 01;31
*.7z 01;31
*.rz 01;31
*.cab 01;31
*.wim 01;31
*.swm 01;31
*.dwm 01;31
*.esd 01;31
# image formats (dircolors defaults)
*.jpg 01;35
*.jpeg 01;35
*.mjpg 01;35
*.mjpeg 01;35
*.gif 01;35
*.bmp 01;35
*.pbm 01;35
*.pgm 01;35
*.ppm 01;35
*.tga 01;35
*.xbm 01;35
*.xpm 01;35
*.tif 01;35
*.tiff 01;35
*.png 01;35
*.svg 01;35
*.svgz 01;35
*.mng 01;35
*.pcx 01;35
*.mov 01;35
*.mpg 01;35
*.mpeg 01;35
*.m2v 01;35
*.mkv 01;35
*.webm 01;35
*.ogm 01;35
*.mp4 01;35
*.m4v 01;35
*.mp4v 01;35
*.vob 01;35
*.qt 01;35
*.nuv 01;35
*.wmv 01;35
*.asf 01;35
*.rm 01;35
*.rmvb 01;35
*.flc 01;35
*.avi 01;35
*.fli 01;35
*.flv 01;35
*.gl 01;35
*.dl 01;35
*.xcf 01;35
*.xwd 01;35
*.yuv 01;35
*.cgm 01;35
*.emf 01;35
*.ogv 01;35
*.ogx 01;35
# audio formats (dircolors defaults)
*.aac 00;36
*.au 00;36
*.flac 00;36
*.m4a 00;36
*.mid 00;36
*.midi 00;36
*.mka 00;36
*.mp3 00;36
*.mpc 00;36
*.ogg 00;36
*.ra 00;36
*.wav 00;36
*.oga 00;36
*.opus 00;36
*.spx 00;36
*.xspf 00;36

View File

@@ -1,361 +0,0 @@
# vim:ft=conf
# These examples require Nerd Fonts or a compatible font to be used.
# See https://www.nerdfonts.com for more information.
# default values from lf (with matching order)
# ln l # LINK
# or l # ORPHAN
# tw t # STICKY_OTHER_WRITABLE
# ow d # OTHER_WRITABLE
# st t # STICKY
# di d # DIR
# pi p # FIFO
# so s # SOCK
# bd b # BLK
# cd c # CHR
# su u # SETUID
# sg g # SETGID
# ex x # EXEC
# fi - # FILE
# file types (with matching order)
ln  # LINK
or  # ORPHAN
tw t # STICKY_OTHER_WRITABLE
ow  # OTHER_WRITABLE
st t # STICKY
di  # DIR
pi p # FIFO
so s # SOCK
bd b # BLK
cd c # CHR
su u # SETUID
sg g # SETGID
ex  # EXEC
fi  # FILE
# file extensions (vim-devicons)
*.styl 
*.sass 
*.scss 
*.htm 
*.html 
*.slim 
*.haml 
*.ejs 
*.css 
*.less 
*.md 
*.mdx 
*.markdown 
*.rmd 
*.json 
*.webmanifest 
*.js 
*.mjs 
*.jsx 
*.rb 
*.gemspec 
*.rake 
*.php 
*.py 
*.pyc 
*.pyo 
*.pyd 
*.coffee 
*.mustache 
*.hbs 
*.conf 
*.ini 
*.yml 
*.yaml 
*.toml 
*.bat 
*.mk 
*.jpg 
*.jpeg 
*.bmp 
*.png 
*.webp 
*.gif 
*.ico 
*.twig 
*.cpp 
*.c++ 
*.cxx 
*.cc 
*.cp 
*.c 
*.cs 󰌛
*.h 
*.hh 
*.hpp 
*.hxx 
*.hs 
*.lhs 
*.nix 
*.lua 
*.java 
*.sh 
*.fish 
*.bash 
*.zsh 
*.ksh 
*.csh 
*.awk 
*.ps1 
*.ml λ
*.mli λ
*.diff 
*.db 
*.sql 
*.dump 
*.clj 
*.cljc 
*.cljs 
*.edn 
*.scala 
*.go 
*.dart 
*.xul 
*.sln 
*.suo 
*.pl 
*.pm 
*.t 
*.rss 
'*.f#' 
*.fsscript 
*.fsx 
*.fs 
*.fsi 
*.rs 
*.rlib 
*.d 
*.erl 
*.hrl 
*.ex 
*.exs 
*.eex 
*.leex 
*.heex 
*.vim 
*.ai 
*.psd 
*.psb 
*.ts 
*.tsx 
*.jl 
*.pp 
*.vue 
*.elm 
*.swift 
*.xcplayground 
*.tex 󰙩
*.r 󰟔
*.rproj 󰗆
*.sol 󰡪
*.pem 
# file names (vim-devicons) (case-insensitive not supported in lf)
*gruntfile.coffee 
*gruntfile.js 
*gruntfile.ls 
*gulpfile.coffee 
*gulpfile.js 
*gulpfile.ls 
*mix.lock 
*dropbox 
*.ds_store 
*.gitconfig 
*.gitignore 
*.gitattributes 
*.gitlab-ci.yml 
*.bashrc 
*.zshrc 
*.zshenv 
*.zprofile 
*.vimrc 
*.gvimrc 
*_vimrc 
*_gvimrc 
*.bashprofile 
*favicon.ico 
*license 
*node_modules 
*react.jsx 
*procfile 
*dockerfile 
*docker-compose.yml 
*docker-compose.yaml 
*compose.yml 
*compose.yaml 
*rakefile 
*config.ru 
*gemfile 
*makefile 
*cmakelists.txt 
*robots.txt 󰚩
# file names (case-sensitive adaptations)
*Gruntfile.coffee 
*Gruntfile.js 
*Gruntfile.ls 
*Gulpfile.coffee 
*Gulpfile.js 
*Gulpfile.ls 
*Dropbox 
*.DS_Store 
*LICENSE 
*React.jsx 
*Procfile 
*Dockerfile 
*Docker-compose.yml 
*Docker-compose.yaml 
*Rakefile 
*Gemfile 
*Makefile 
*CMakeLists.txt 
# file patterns (vim-devicons) (patterns not supported in lf)
# .*jquery.*\.js$ 
# .*angular.*\.js$ 
# .*backbone.*\.js$ 
# .*require.*\.js$ 
# .*materialize.*\.js$ 
# .*materialize.*\.css$ 
# .*mootools.*\.js$ 
# .*vimrc.* 
# Vagrantfile$ 
# file patterns (file name adaptations)
*jquery.min.js 
*angular.min.js 
*backbone.min.js 
*require.min.js 
*materialize.min.js 
*materialize.min.css 
*mootools.min.js 
*vimrc 
Vagrantfile 
# archives or compressed (extensions from dircolors defaults)
*.tar 
*.tgz 
*.arc 
*.arj 
*.taz 
*.lha 
*.lz4 
*.lzh 
*.lzma 
*.tlz 
*.txz 
*.tzo 
*.t7z 
*.zip 
*.z 
*.dz 
*.gz 
*.lrz 
*.lz 
*.lzo 
*.xz 
*.zst 
*.tzst 
*.bz2 
*.bz 
*.tbz 
*.tbz2 
*.tz 
*.deb 
*.rpm 
*.jar 
*.war 
*.ear 
*.sar 
*.rar 
*.alz 
*.ace 
*.zoo 
*.cpio 
*.7z 
*.rz 
*.cab 
*.wim 
*.swm 
*.dwm 
*.esd 
# image formats (extensions from dircolors defaults)
*.jpg 
*.jpeg 
*.mjpg 
*.mjpeg 
*.gif 
*.bmp 
*.pbm 
*.pgm 
*.ppm 
*.tga 
*.xbm 
*.xpm 
*.tif 
*.tiff 
*.png 
*.svg 
*.svgz 
*.mng 
*.pcx 
*.mov 
*.mpg 
*.mpeg 
*.m2v 
*.mkv 
*.webm 
*.ogm 
*.mp4 
*.m4v 
*.mp4v 
*.vob 
*.qt 
*.nuv 
*.wmv 
*.asf 
*.rm 
*.rmvb 
*.flc 
*.avi 
*.fli 
*.flv 
*.gl 
*.dl 
*.xcf 
*.xwd 
*.yuv 
*.cgm 
*.emf 
*.ogv 
*.ogx 
# audio formats (extensions from dircolors defaults)
*.aac 
*.au 
*.flac 
*.m4a 
*.mid 
*.midi 
*.mka 
*.mp3 
*.mpc 
*.ogg 
*.ra 
*.wav 
*.oga 
*.opus 
*.spx 
*.xspf 
# other formats
*.pdf 

View File

@@ -1,80 +0,0 @@
{ pkgs, ... }: {
home.packages = with pkgs; [ pistol ];
programs.lf = {
enable = true;
commands = {
dragon-out = ''%${pkgs.xdragon}/bin/xdragon -a -x "$fx"'';
editor-open = "$$EDITOR $f";
mkdir = ''
''${{
printf "Directory Name: "
read DIR
mkdir $DIR
}}
'';
};
keybindings = {
d = "delete";
x = "cut";
"<enter>" = "open";
"<c-g>" = "quit";
"<esc>" = "quit";
"H" = "set hidden!";
"\\\"" = "";
o = "";
c = "mkdir";
"." = "set hidden!";
"`" = "mark-load";
"\\'" = "mark-load";
"g~" = "cd";
do = "dragon-out";
gh = "cd";
"g/" = "/";
ee = "editor-open";
V = ''$''${pkgs.bat}/bin/bat --paging=always "$f"'';
};
settings = {
ratios = [ 1 1 2 ];
preview = true;
hidden = true;
drawbox = true;
icons = true;
ignorecase = true;
incsearch = true;
};
previewer.source = "${pkgs.pistol}/bin/pistol";
extraConfig = let
previewer = pkgs.writeShellScriptBin "pv.sh" ''
file=$1
w=$2
h=$3
x=$4
y=$5
if [[ "$( ${pkgs.file}/bin/file -Lb --mime-type "$file")" =~ ^image ]]; then
${pkgs.kitty}/bin/kitty +kitten icat --silent --stdin no --transfer-mode file --place "''${w}x''${h}@''${x}x''${y}" "$file" < /dev/null > /dev/tty
exit 1
fi
${pkgs.pistol}/bin/pistol "$file"
'';
cleaner = pkgs.writeShellScriptBin "clean.sh" ''
${pkgs.kitty}/bin/kitty +kitten icat --clear --stdin no --silent --transfer-mode file < /dev/null > /dev/tty
'';
in ''
set cleaner ${cleaner}/bin/clean.sh
set previewer ${previewer}/bin/pv.sh
'';
};
xdg.configFile."lf" = {
recursive = true;
source = ./config;
};
}

View File

@@ -1,6 +1,13 @@
{ pkgs, ... }: {
{ pkgs, config, ... }: {
home.packages = with pkgs; [ ctags ];
programs.nixvim = {
highlight = {
Headline.bg = "#${config.var.theme.colors.bgalt}";
Headline.bold = true;
Headline1.bg = "#${config.var.theme.colors.c0}";
Headline1.bold = true;
};
plugins = {
lualine.enable = true;
noice.enable = true;
@@ -10,17 +17,22 @@
};
bufferline.enable = true;
trouble.enable = true;
indent-blankline.enable = true;
which-key.enable = true;
headlines = {
enable = true;
settings = {
markdown = {
codeblock_highlight = false;
headline_highlights = [ "Headline1" "Headline" ];
fat_headlines = false;
bullets = [ "" "" "" "" ];
dash_string = "";
codeblock_highlight = "Headline";
};
};
};
nvim-colorizer.enable = true;
# tagbar.enable = true;
tagbar.enable = true; # FIXME: Tagbar is not working
};
keymaps = [{
key = "<leader>t";

View File

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

View File

@@ -4,16 +4,12 @@ let
increments = "5";
brightness-change = pkgs.writeShellScriptBin "brightness-change" ''
sleep 0.05
[[ $1 == "up" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ''${2-${increments}}%+
[[ $1 == "down" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ''${2-${increments}}%-
'';
[[ $1 == "up" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ${increments}%+
[[ $1 == "down" ]] && ${pkgs.brightnessctl}/bin/brightnessctl set ${increments}%-
brightness_level=$(${pkgs.brightnessctl}/bin/brightnessctl get)
message="󰃠 Brightness: $brightness_level%"
notif "brightness" "$message" "extraargs=-h int:value:$brightness_level"
brightness-set = pkgs.writeShellScriptBin "brightness-set" ''
${pkgs.brightnessctl}/bin/brightnessctl set ''${1-100}%
'';
brightness-up = pkgs.writeShellScriptBin "brightness-up" ''
@@ -24,4 +20,12 @@ let
brightness-change down ${increments}
'';
in { home.packages = [ brightness-change brightness-up brightness-down ]; }
in {
home.packages = [
pkgs.brightnessctl
brightness-change
brightness-up
brightness-down
brightness-set
];
}

View File

@@ -1,29 +1,25 @@
{ pkgs, ... }:
let
caffeine-status = pkgs.writeShellScriptBin "caffeine-status" ''
[[ -f /tmp/caffeine ]] && echo "1" || echo "0"
'';
caffeine = pkgs.writeShellScriptBin "caffeine" ''
if [[ -f /tmp/caffeine ]]; then
rm /tmp/caffeine
${pkgs.hyprland}/bin/hyprctl dispatch exec ${pkgs.hypridle}/bin/hypridle
message="󰾪 Caffeine Deactivated"
else
touch /tmp/caffeine
pkill hypridle
message="󰅶 Caffeine Activated"
fi
notif "caffeine" "$message"
[[ $(pidof "hypridle") ]] && echo "0" || echo "1"
'';
caffeine-status-icon = pkgs.writeShellScriptBin "caffeine-status-icon" ''
status=$(caffeine-status)
if [[ $status == "1" ]]; then
echo "󰅶"
[[ $(pidof "hypridle") ]] && echo "󰾪" || echo "󰅶"
'';
caffeine = pkgs.writeShellScriptBin "caffeine" ''
if [[ $(pidof "hypridle") ]]; then
pkill hypridle
title="󰅶 Caffeine Activated"
description="Caffeine is now active! Your screen will not turn off automatically."
else
echo "󰾪"
${pkgs.hyprland}/bin/hyprctl dispatch exec ${pkgs.hypridle}/bin/hypridle
title="󰾪 Caffeine Deactivated"
description="Caffeine is now deactivated! Your screen will turn off automatically."
fi
notif "caffeine" "$title" "$description"
'';
in { home.packages = [ caffeine-status caffeine caffeine-status-icon ]; }

View File

@@ -1,22 +0,0 @@
# From https://github.com/Frost-Phoenix/nixos-config
{ pkgs, ... }:
let
compress = pkgs.writeShellScriptBin "compress" ''
if (( $# == 1 )) then
# echo -ne "Archive name: "
# read name
# tar -cvzf "$name.tar.gz" $1
tar -cvzf "$1.tar.gz" $1
else
echo "Wrong number of arguments..."
fi
'';
extract = pkgs.writeShellScriptBin "extract" ''
for i in "$@" ; do
tar -xvzf $i
break
done
'';
in { home.packages = [ compress extract ]; }

View File

@@ -6,11 +6,8 @@
./caffeine
./night-shift
./screenshot
./startup
./nerdfont_fzf
./notification
./battery
./compress
./misc
./system
];
}

View File

@@ -12,21 +12,15 @@ let
fi
echo "Copied to clipboard: $fzf_result"
echo "Paste it to close the window"
${pkgs.wl-clipboard}/bin/wl-copy -o "$fzf_result" # wait for paste before exiting.. not cool
${pkgs.wl-clipboard}/bin/wl-copy "$fzf_result" # wait for paste before exiting.. not cool
'';
nerdfont-fzf-fetch = pkgs.writeShellScriptBin "nerdfont-fzf-fetch" ''
wget "https://raw.githubusercontent.com/ryanoasis/nerd-fonts/master/glyphnames.json" -O "glyphnames.json" || exit 1
jq 'del(.METADATA)' "glyphnames.json"
'';
nerdfont-popup = pkgs.writeShellScriptBin "nerdfont-popup" ''
${pkgs.kitty}/bin/kitty --class floating -o font_size=18 zsh -c nerdfont-fzf 2>/dev/null
'';
in {
home.packages = [ nerdfont-fzf nerdfont-fzf-fetch nerdfont-popup ];
home.packages = [ nerdfont-fzf nerdfont-fzf-fetch ];
xdg.configFile."nerdfont_glyphnames.json" = {
source = ./nerdfont_glyphnames.json;

File diff suppressed because one or more lines are too long

View File

@@ -4,19 +4,23 @@ let
default = "4000";
night-shift-on = pkgs.writeShellScriptBin "night-shift-on" ''
${pkgs.hyprland}/bin/hyprctl dispatch exec "${pkgs.wlsunset}/bin/wlsunset -t ${default}"
message="󰖔 Night-Shift Activated"
notif "night-shift" "$message"
${pkgs.hyprland}/bin/hyprctl dispatch exec "${pkgs.gammastep}/bin/gammastep -O ${default}"
title="󰖔 Night-Shift Activated"
description="Night-Shift is now activated! Your screen will be warmer and easier on the eyes."
notif "night-shift" "$title" "$description"
'';
night-shift-off = pkgs.writeShellScriptBin "night-shift-off" ''
pkill wlsunset
message="󰖔 Night-Shift Deactivated"
notif "night-shift" "$message"
pkill gammastep
title="󰖕 Night-Shift Deactivated"
description="Night-Shift is now deactivated! Your screen will return to normal."
notif "night-shift" "$title" "$description"
'';
night-shift = pkgs.writeShellScriptBin "night-shift" ''
if pgrep wlsunset; then
if pgrep gammastep; then
night-shift-off
else
night-shift-on
@@ -24,7 +28,7 @@ let
'';
night-shift-status = pkgs.writeShellScriptBin "night-shift-status" ''
if [[ $(pgrep wlsunset) ]]; then
if [[ $(pgrep gammastep) ]]; then
echo "1"
else
echo "0"
@@ -33,7 +37,7 @@ let
night-shift-status-icon =
pkgs.writeShellScriptBin "night-shift-status-icon" ''
if [[ $(pgrep wlsunset) ]]; then
if [[ $(pgrep gammastep) ]]; then
echo "󰖔"
else
echo "󰖕"
@@ -41,6 +45,7 @@ let
'';
in {
home.packages = [
pkgs.gammastep
night-shift-on
night-shift-off
night-shift

View File

@@ -1,7 +1,5 @@
{ pkgs, config, ... }:
let
nixy = pkgs.writeShellScriptBin "nixy" ''
function exec() {
$@

View File

@@ -1,27 +1,26 @@
{ 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
notif = pkgs.writeShellScriptBin "notif" # bash
''
# Shell script to send custom notifications
# Usage: notif "sender_id" "message" ["description"]
NOTIF_FOLDER="/tmp/notif"
sender_id=$1 # To overwrite existing notifications
title=$2
description=$3
[[ -d "$NOTIF_FOLDER" ]] || mkdir $NOTIF_FOLDER
[[ -f "$NOTIF_FOLDER/$sender_id" ]] || echo "0" > "$NOTIF_FOLDER/$sender_id"
[[ -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")
old_notification_id=$(cat "$NOTIF_FOLDER/$sender_id")
[[ -z "$old_notification_id" ]] && old_notification_id=0
${pkgs.libnotify}/bin/notify-send "$message" \
$extraargs \
--replace-id="$old_notification_id" --print-id > "$NOTIF_FOLDER/$sender_id"
'';
${pkgs.libnotify}/bin/notify-send \
--replace-id="$old_notification_id" --print-id \
--app-name="$sender_id" \
"$title" \
"$description" \
> "$NOTIF_FOLDER/$sender_id"
'';
in { home.packages = [ notif ]; }
in { home.packages = [ pkgs.libnotify notif ]; }

View File

@@ -1,38 +1,23 @@
{ pkgs, config, ... }:
{ pkgs, ... }:
let
homedir = config.home.homeDirectory;
increments = "5";
sound-change = pkgs.writeShellScriptBin "sound-change" ''
sleep 0.05
[[ $1 == "mute" ]] && wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
[[ $1 == "up" ]] && wpctl set-volume @DEFAULT_AUDIO_SINK@ "$2%+"
[[ $1 == "down" ]] && wpctl set-volume @DEFAULT_AUDIO_SINK@ "$2%-"
sink_info=$(wpctl get-volume @DEFAULT_AUDIO_SINK@)
volume=$(echo "$(echo "$sink_info" | awk '{print $2}' | sed 's/%//')*100" | bc -l | xargs printf "%.0f")
muted=false
if [[ $sink_info == *"MUTED"* ]]; then
muted=true
fi
message=""
if [ $muted = true ]; then
message="󰖁 Muted"
else
message="󰕾 Volume: $volume%"
fi
notif "sound" "$message" "extraargs=-h int:value:$volume"
[[ $1 == "up" ]] && wpctl set-volume @DEFAULT_AUDIO_SINK@ ''${2-${increments}}%+
[[ $1 == "down" ]] && wpctl set-volume @DEFAULT_AUDIO_SINK@ ''${2-${increments}}%-
[[ $1 == "set" ]] && wpctl set-volume @DEFAULT_AUDIO_SINK@ ''${2-100}%
'';
sound-up = pkgs.writeShellScriptBin "sound-up" ''
sound-change up ${increments}
'';
sound-set = pkgs.writeShellScriptBin "sound-set" ''
sound-change set ''${1-100}
'';
sound-down = pkgs.writeShellScriptBin "sound-down" ''
sound-change down ${increments}
'';
@@ -40,47 +25,6 @@ let
sound-toggle = pkgs.writeShellScriptBin "sound-toggle" ''
sound-change mute
'';
sound-output = pkgs.writeShellScriptBin "sound-output" ''
function parse_sinks(){
output=$(wpctl status)
sinks=($(echo "$output" | sed 's/ //' | awk '/Sinks:/ {flag=1; next} /^$/ {flag=0} flag' | sed 's/ /-/g'))
for sink in "''${sinks[@]}"; do
id=""
default=false
sink=$(echo "$sink" | sed 's/-/ /g')
sink_name=$(echo "$sink" | sed 's/\[vol:.*$//')
if [[ $sink_name == "*"* ]]; then
sink_name=$(echo "$sink_name" | sed 's/*//')
default=true
fi
id=$(echo "$sink_name" | cut -d'.' -f1)
sink_name=$(echo "$sink_name" | sed 's/^[ ]*//;s/[ ]*$//' )
sink_name=$(echo "$sink_name" | cut -d'.' -f2 )
if [[ $default == true ]];then
printf "*%s (%d)" "$sink_name" "$id"
else
printf " %s (%d)" "$sink_name" "$id"
fi
printf "\n"
done
}
choosed_sink=$(echo "$(parse_sinks)" | ${pkgs.fzf}/bin/fzf \
--border-label "Choose sound output" ) || exit 1
choosed_sink_id=$(echo "$choosed_sink" | sed 's/.*(\(.*\))/\1/')
wpctl set-default $choosed_sink_id
'';
in {
home.packages =
[ sound-output sound-change sound-up sound-down sound-toggle ];
home.packages = [ sound-change sound-up sound-down sound-toggle sound-set ];
}

View File

@@ -1,17 +0,0 @@
# File runned at startup by Hyprland
{ pkgs, config, ... }:
let
startup = pkgs.writeShellScriptBin "startup" ''
# Startup is a script called by Hyprland on startup
# Because HM enabling services suck.
[[ ${toString config.var.sops} == "1" ]] && systemctl --user start sops-nix
battery-watch &
${pkgs.waybar}/bin/waybar &
wlr-randr --output "Unknown-1" --off # FIX: REMOVE WEIRD GHOST MONITOR
'';
in { home.packages = [ startup ]; }

View File

@@ -0,0 +1,6 @@
{
services.batsignal = {
enable = true;
extraArgs = [ "-c 10" "-w 30" "-f 97" ];
};
}

View File

@@ -0,0 +1,18 @@
{ pkgs, ... }:
let
clipboard-clear = pkgs.writeShellScriptBin "clipboard-clear" ''
clipman clear --all
'';
clipboard = pkgs.writeShellScriptBin "clipboard" ''
clipman pick --tool=wofi
'';
in {
wayland.windowManager.hyprland.settings.exec-once =
[ "${clipboard-clear}" "wl-paste -t text --watch clipman store" ];
home.packages = with pkgs; [ clipman clipboard clipboard-clear ];
services.clipman.enable = true;
}

View File

@@ -1,83 +0,0 @@
{ config, pkgs, ... }: {
home.packages = with pkgs; [ libnotify ];
services.dunst = {
enable = true;
iconTheme = {
name = "Moka";
package = pkgs.moka-icon-theme;
};
settings = {
global = {
rounded = "yes";
origin = "top-center";
monitor = "0";
alignment = "center";
vertical_alignment = "center";
width = "400";
height = "400";
scale = 0;
gap_size = 0;
progress_bar = true;
transparency = 0;
text_icon_padding = 0;
separator_color = "frame";
sort = "yes";
idle_threshold = 120;
line_height = 0;
markup = "full";
show_age_threshold = 60;
ellipsize = "middle";
ignore_newline = "no";
stack_duplicates = true;
sticky_history = "yes";
history_length = 20;
always_run_script = true;
corner_radius = config.var.theme.rounding;
follow = "mouse";
font = config.var.theme.font;
format = "<b>%s</b>\\n%b";
progress_bar_corner_radius = config.var.theme.rounding - 10;
#format = ''
# <span foreground='#${config.var.theme.colors.accent}'><b>%s %p</b></span>
# %b'';
frame_color = "#" + config.var.theme.colors.bg;
highlight = "#" + config.var.theme.colors.accent;
foreground = "#" + config.var.theme.colors.fg;
frame_width = 1;
offset = "0x10";
horizontal_padding = 10;
icon_position = "left";
indicate_hidden = "yes";
min_icon_size = 0;
max_icon_size = 64;
mouse_left_click = "do_action, close_current";
mouse_middle_click = "close_current";
mouse_right_click = "close_all";
padding = 10;
plain_text = "no";
separator_height = 2;
show_indicators = "yes";
shrink = "no";
word_wrap = "yes";
browser = "${pkgs.qutebrowser}/bin/qutebrowser";
};
fullscreen_delay_everything = { fullscreen = "delay"; };
urgency_critical = {
background = "#" + config.var.theme.colors.c1;
foreground = "#" + config.var.theme.colors.c0;
};
urgency_low = {
background = "#" + config.var.theme.colors.bgalt;
foreground = "#" + config.var.theme.colors.fgalt;
};
urgency_normal = {
background = "#" + config.var.theme.colors.bgalt;
foreground = "#" + config.var.theme.colors.fgalt;
};
};
};
}

View File

@@ -1,7 +1,12 @@
{ pkgs, config, inputs, ... }: {
imports =
[ ./hyprlock/macos.nix ./hypridle.nix ./hyprpaper.nix ./hyprcursor.nix ];
imports = [
./hyprlock.nix
./hypridle.nix
./hyprpaper.nix
./hyprcursor.nix
./hyprpanel.nix
];
home.packages = with pkgs; [
hyprshot
@@ -9,14 +14,10 @@
swappy
imv
wf-recorder
xdg-desktop-portal-hyprland
wlr-randr
wl-clipboard
brightnessctl
gnome-themes-extra
wlsunset
xwayland
xdg-desktop-portal-gtk
qt5ct
libva
dconf
@@ -29,30 +30,45 @@
enable = true;
xwayland.enable = true;
package = inputs.hyprland.packages."${pkgs.system}".hyprland;
# plugins = [ inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo ]; # TODO: Fix, stack overflow
# plugins = [ inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo ]; TODO: broken
settings = {
"$mod" = "SUPER";
"$shiftMod" = "SUPER_SHIFT";
exec-once = [
"startup"
"${pkgs.hypridle}/bin/hypridle"
"${pkgs.hyprpaper}/bin/hyprpaper"
"${pkgs.bitwarden}/bin/bitwarden"
"[[ ${
toString config.var.sops
} == 1 ]] && systemctl --user start sops-nix"
];
monitor = [ "eDP-2,highres,0x0,1" ",prefered,auto,1" ];
# plugin = {
# hyprexpo = {
# columns = 2;
# gap_size = 5;
# bg_col = "rgb(111111)";
# workspace_method =
# "center current"; # [center/first] [workspace] e.g. first 1 or center m+1
#
# enable_gesture = true; # laptop touchpad
# gesture_fingers = 3; # 3 or 4
# gesture_distance = 300; # how far is the "max"
# gesture_positive = true; # positive = swipe down. Negative = swipe up.
# };
# };
bind = [
"$mod, RETURN, exec, ${pkgs.kitty}/bin/kitty" # Kitty
"$mod, E, exec, ${pkgs.xfce.thunar}/bin/thunar" # Thunar
"$mod, B, exec, ${pkgs.qutebrowser}/bin/qutebrowser" # Qutebrowser
"$mod, K, exec, ${pkgs.bitwarden}/bin/bitwarden" # Bitwarden
"$mod, C, exec, ${pkgs.kitty}/bin/kitty --class peaclock peaclock" # Peaclock
"$mod, L, exec, ${pkgs.hyprlock}/bin/hyprlock" # Lock
"$mod, X, exec, powermenu" # Powermenu
"$mod, SPACE, exec, menu" # Launcher
# "$shiftMod, SPACE, hyprexpo:expo, toggle" # HyprExpo
"$mod, Q, killactive," # Close window
"$mod, T, togglefloating," # Toggle Floating
@@ -69,10 +85,11 @@
"$shiftMod, PRINT, exec, screenshot region" # Screenshot region
"ALT, PRINT, exec, screenshot region swappy" # Screenshot region then edit
"$shiftMod, S, exec, ${pkgs.qutebrowser}/bin/qutebrowser :open $(wofi --show dmenu -L 1 -p ' Search on internet')" # Search on internet with wofi
"$shiftMod, C, exec, clipboard" # Clipboard picker with wofi
"$shiftMod, E, exec, ${pkgs.wofi-emoji}/bin/wofi-emoji" # Emoji picker with wofi
"$mod, F2, exec, night-shift-off" # Turn off night shift
"$mod, F3, exec, night-shift-on" # Turn on night shift
"$mod, F5, exec, ${pkgs.kitty}/bin/kitty --class floating zsh -c sound-output" # Choose sound output
] ++ (builtins.concatLists (builtins.genList (i:
let ws = i + 1;
in [
@@ -131,12 +148,14 @@
};
decoration = {
active_opacity = config.var.theme.active-opacity;
inactive_opacity = config.var.theme.inactive-opacity;
rounding = config.var.theme.rounding;
drop_shadow = true;
shadow_range = 20;
shadow_render_power = 3;
"col.shadow" = "rgba(00000055)";
blur = { enabled = false; };
blur = { enabled = if config.var.theme.blur then "true" else "false"; };
};
master = {
@@ -176,13 +195,7 @@
};
};
windowrule = [ "animation popin,^(wlogout)$" ];
windowrulev2 = [
"float, class:peaclock"
"move 2% 78%, class:peaclock"
"size 30% 20%, class:peaclock"
"float, class:floating"
"size 40% 40%, class:floating"
"move 30% 30%, class:floating"

View File

@@ -1,4 +1,6 @@
{ pkgs, ... }: {
# wayland.windowManager.hyprland.settings.exec-once =
# [ "${pkgs.hypridle}/bin/hypridle" ];
services.hypridle = {
enable = true;

View File

@@ -1,84 +0,0 @@
{ config, ... }: {
programs.hyprlock = {
enable = true;
settings = {
general = {
disable_loading_bar = true;
grace = 5;
no_fade_in = true;
no_fade_out = true;
};
background = {
monitor = "";
path = "$HOME/wallpapers/${config.var.theme.wallpaper}";
color = "rgb(${config.var.theme.colors.bg})";
blur_size = 4;
blur_passes = 3;
noise = 1.17e-2;
contrast = 1.3;
brightness = 0.8;
vibrancy = 0.21;
vibrancy_darkness = 0.0;
};
input-field = [{
monitor = "";
size = "250, 50";
outline_thickness = 3;
dots_size = 0.2; # Scale of input-field height, 0.2 - 0.8
dots_spacing = 0.64; # Scale of dots' absolute size, 0.0 - 1.0
dots_center = true;
outer_color = "rgb(${config.var.theme.colors.accent})";
inner_color = "rgb(${config.var.theme.colors.bg})";
font_color = "rgb(${config.var.theme.colors.fg})";
fade_on_empty = true;
placeholder_text =
"Password..."; # Text rendered in the input box when it's empty.
position = "0, 80";
halign = "center";
valign = "bottom";
}];
label = [
# Current time
{
monitor = "";
text =
''cmd[update:1000] echo "<b><big> $(date +"%H:%M:%S") </big></b>"'';
color = "rgb(${config.var.theme.colors.fg})";
font_size = 64;
font_family = config.var.theme.font;
position = "0, 16";
halign = "center";
valign = "center";
}
# User label
{
monitor = "";
text = ''
Hey <span text_transform="capitalize" size="larger">$USER</span>'';
color = "rgb(${config.var.theme.colors.fg})";
font_size = config.var.theme.font-size;
font_family = config.var.theme.font;
position = "0, 0";
halign = "center";
valign = "center";
}
# Type to unlock
{
monitor = "";
text = "Type to unlock!";
color = "rgb(${config.var.theme.colors.fg})";
font_size = config.var.theme.font-size;
font_family = config.var.theme.font;
position = "0, 30";
halign = "center";
valign = "bottom";
}
];
};
};
}

View File

@@ -1,86 +0,0 @@
{ config, ... }: {
programs.hyprlock = {
enable = true;
settings = {
general = {
disable_loading_bar = true;
grace = 5;
no_fade_in = true;
no_fade_out = true;
};
background = {
monitor = "";
color = "rgb(${config.var.theme.colors.bg})";
};
input-field = [{
monitor = "";
size = "250, 50";
outline_thickness = 3;
dots_size = 0.2;
dots_spacing = 0.64;
dots_center = false;
outer_color = "rgb(${config.var.theme.colors.bg})";
inner_color = "rgb(${config.var.theme.colors.bg})";
font_color = "rgb(${config.var.theme.colors.fg})";
fade_on_empty = false;
placeholder_text = "";
position = "1190, -50";
halign = "left";
valign = "center";
}];
shape = [{
monitor = "";
size = "520, 200";
color = "rgb(${config.var.theme.colors.bg})";
rounding = "0";
border_size = "3";
border_color = "rgba(255, 255, 255, 1.0)";
rotate = "0";
xray = "false";
position = "0, 0";
halign = "center";
valign = "center";
}];
label = [
# Current time
{
monitor = "";
text = ''cmd[update:900] echo "time: $(date +"%H:%M:%S")"'';
color = "rgb(${config.var.theme.colors.fg})";
font_size = config.var.theme.font-size;
font_family = config.var.theme.font-mono;
position = "1100, 50";
halign = "left";
valign = "center";
}
# Username
{
monitor = "";
text = "username: ${config.var.username}";
color = "rgb(${config.var.theme.colors.fg})";
font_size = config.var.theme.font-size;
font_family = config.var.theme.font-mono;
position = "1100, 0";
halign = "left";
valign = "center";
}
# Password
{
monitor = "";
text = "password: ";
color = "rgb(${config.var.theme.colors.fg})";
font_size = config.var.theme.font-size;
font_family = config.var.theme.font-mono;
position = "1100, -50";
halign = "left";
valign = "center";
}
];
};
};
}

View File

@@ -0,0 +1,230 @@
{ pkgs, config, ... }: {
wayland.windowManager.hyprland.settings.exec-once =
[ "${pkgs.hyprpanel}/bin/hyprpanel" ];
home.packages = with pkgs; [ hyprpanel libnotify ];
home.file.".cache/ags/hyprpanel/options.json" = {
text = # json
''
{
"bar.layouts": {
"0": {
"left": [
"dashboard",
"workspaces",
"windowtitle"
],
"middle": [
"media"
],
"right": [
"systray",
"network",
"volume",
"bluetooth",
"battery",
"clock",
"notifications"
]
},
"1": {
"left": [
"dashboard",
"workspaces",
"windowtitle"
],
"middle": [
"media"
],
"right": [
"systray",
"network",
"volume",
"bluetooth",
"battery",
"clock",
"notifications"
]
},
"2": {
"left": [
"dashboard",
"workspaces",
"windowtitle"
],
"middle": [
"media"
],
"right": [
"systray",
"network",
"volume",
"bluetooth",
"battery",
"clock",
"notifications"
]
}
},
"theme.font.name": "${config.var.theme.font}",
"theme.font.size": "${toString config.var.theme.bar.font-size}px",
"theme.bar.outer_spacing": "${
if config.var.theme.bar.floating
&& config.var.theme.bar.transparent then
"0"
else
"8"
}px",
"theme.bar.buttons.y_margins": "${
if config.var.theme.bar.floating
&& config.var.theme.bar.transparent then
"0"
else
"8"
}px",
"theme.bar.buttons.spacing": "0.3em",
"theme.bar.buttons.radius": "${
if config.var.theme.bar.transparent then
toString config.var.theme.rounding
else
toString (config.var.theme.rounding - 8)
}px",
"theme.bar.floating": ${
if config.var.theme.bar.floating then "true" else "false"
},
"theme.bar.buttons.padding_x": "0.8rem",
"theme.bar.buttons.padding_y": "0.4rem",
"theme.bar.buttons.workspaces.hover": "#${config.var.theme.colors.accentalt}",
"theme.bar.buttons.workspaces.active": "#${config.var.theme.colors.accent}",
"theme.bar.buttons.workspaces.available": "#${config.var.theme.colors.bg}",
"theme.bar.margin_top": "1.0em",
"theme.bar.margin_sides": "${toString config.var.theme.gaps-out}px",
"theme.bar.margin_bottom": "0px",
"theme.bar.border_radius": "${toString config.var.theme.rounding}px",
"bar.launcher.icon": "",
"theme.bar.transparent": ${
if config.var.theme.bar.transparent then "true" else "false"
},
"bar.workspaces.show_numbered": false,
"bar.workspaces.workspaces": 5,
"bar.workspaces.monitorSpecific": true,
"bar.workspaces.hideUnoccupied": false,
"bar.windowtitle.label": true,
"bar.volume.label": false,
"bar.network.truncation_size": 7,
"bar.bluetooth.label": false,
"bar.clock.format": "%a %b %d %I:%M %p",
"bar.notifications.show_total": true,
"theme.notification.border_radius": "${
toString config.var.theme.rounding
}px",
"theme.osd.enable": true,
"theme.osd.orientation": "vertical",
"theme.osd.location": "left",
"theme.osd.radius": "${toString config.var.theme.rounding}px",
"theme.osd.margins": "0px 0px 0px 10px",
"theme.osd.muted_zero": true,
"menus.clock.weather.location": "${config.var.location}",
"menus.clock.weather.key": "myapikey",
"menus.clock.weather.unit": "metric",
"menus.dashboard.powermenu.avatar.image": "${config.var.homeDirectory}/.profile_picture.png",
"menus.dashboard.powermenu.confirmation": false,
"menus.dashboard.shortcuts.left.shortcut1.icon": "",
"menus.dashboard.shortcuts.left.shortcut1.command": "qutebrowser",
"menus.dashboard.shortcuts.left.shortcut1.tooltip": "Qutebrowser",
"menus.dashboard.shortcuts.left.shortcut2.icon": "󰅶",
"menus.dashboard.shortcuts.left.shortcut2.command": "caffeine",
"menus.dashboard.shortcuts.left.shortcut2.tooltip": "Caffeine",
"menus.dashboard.shortcuts.left.shortcut3.icon": "󰖔",
"menus.dashboard.shortcuts.left.shortcut3.command": "night-shift",
"menus.dashboard.shortcuts.left.shortcut3.tooltip": "Night-shift",
"menus.dashboard.shortcuts.left.shortcut4.icon": "",
"menus.dashboard.shortcuts.left.shortcut4.command": "menu",
"menus.dashboard.shortcuts.left.shortcut4.tooltip": "Search Apps",
"menus.dashboard.shortcuts.right.shortcut1.icon": "",
"menus.dashboard.shortcuts.right.shortcut1.command": "hyprpicker -a",
"menus.dashboard.shortcuts.right.shortcut1.tooltip": "Color Picker",
"menus.dashboard.shortcuts.right.shortcut3.icon": "󰄀",
"menus.dashboard.shortcuts.right.shortcut3.command": "screenshot region swappy",
"menus.dashboard.shortcuts.right.shortcut3.tooltip": "Screenshot",
"menus.dashboard.directories.left.directory1.label": "󰉍 Downloads",
"menus.dashboard.directories.left.directory1.command": "bash -c \"thunar $HOME/Downloads/\"",
"menus.dashboard.directories.left.directory2.label": "󰉏 Pictures",
"menus.dashboard.directories.left.directory2.command": "bash -c \"thunar $HOME/Pictures/\"",
"menus.dashboard.directories.left.directory3.label": "󱧶 Documents",
"menus.dashboard.directories.left.directory3.command": "bash -c \"thunar $HOME/Documents/\"",
"menus.dashboard.directories.right.directory1.label": "󱂵 Home",
"menus.dashboard.directories.right.directory1.command": "bash -c \"thunar $HOME/\"",
"menus.dashboard.directories.right.directory2.label": "󰚝 Projects",
"menus.dashboard.directories.right.directory2.command": "bash -c \"thunar $HOME/dev/\"",
"menus.dashboard.directories.right.directory3.label": " Config",
"menus.dashboard.directories.right.directory3.command": "bash -c \"thunar $HOME/.config/\"",
"theme.bar.menus.monochrome": true,
"wallpaper.enable": false,
"theme.bar.menus.background": "#${config.var.theme.colors.bg}",
"theme.bar.menus.cards": "#${config.var.theme.colors.bgalt}",
"theme.bar.menus.card_radius": "${
toString config.var.theme.rounding
}px",
"theme.bar.menus.label": "#${config.var.theme.colors.fg}",
"theme.bar.menus.text": "#${config.var.theme.colors.fg}",
"theme.bar.menus.border.size": "${
toString config.var.theme.border-size
}px",
"theme.bar.menus.border.color": "#${config.var.theme.colors.accent}",
"theme.bar.menus.border.radius": "${
toString config.var.theme.rounding
}px",
"theme.bar.menus.popover.text": "#${config.var.theme.colors.fg}",
"theme.bar.menus.popover.background": "#${config.var.theme.colors.bgalt}",
"theme.bar.menus.listitems.active": "#${config.var.theme.colors.accent}",
"theme.bar.menus.icons.active": "#${config.var.theme.colors.accent}",
"theme.bar.menus.switch.enabled": "#${config.var.theme.colors.accent}",
"theme.bar.menus.check_radio_button.active": "#${config.var.theme.colors.accent}",
"theme.bar.menus.buttons.default": "#${config.var.theme.colors.accent}",
"theme.bar.menus.buttons.active": "#${config.var.theme.colors.accent}",
"theme.bar.menus.iconbuttons.active": "#${config.var.theme.colors.accent}",
"theme.bar.menus.progressbar.foreground": "#${config.var.theme.colors.accent}",
"theme.bar.menus.slider.primary": "#${config.var.theme.colors.accent}",
"theme.bar.menus.tooltip.background": "#${config.var.theme.colors.bgalt}",
"theme.bar.menus.tooltip.text": "#${config.var.theme.colors.fg}",
"theme.bar.menus.dropdownmenu.background": "#${config.var.theme.colors.bgalt}",
"theme.bar.menus.dropdownmenu.text": "#${config.var.theme.colors.fg}",
"theme.bar.background": "#${config.var.theme.colors.bg}",
"theme.bar.buttons.style": "default",
"theme.bar.buttons.monochrome": true,
"theme.bar.buttons.text": "#${config.var.theme.colors.fg}",
"theme.bar.buttons.background": "#${config.var.theme.colors.bgalt}",
"theme.bar.buttons.icon": "#${config.var.theme.colors.accent}",
"theme.bar.buttons.notifications.background": "#${config.var.theme.colors.bgalt}",
"theme.bar.buttons.hover": "#${config.var.theme.colors.bg}",
"theme.bar.buttons.notifications.hover": "#${config.var.theme.colors.bg}",
"theme.bar.buttons.notifications.total": "#${config.var.theme.colors.accent}",
"theme.bar.buttons.notifications.icon": "#${config.var.theme.colors.accent}",
"theme.notification.background": "#${config.var.theme.colors.bgalt}",
"theme.notification.actions.background": "#${config.var.theme.colors.accent}",
"theme.notification.actions.text": "#${config.var.theme.colors.fg}",
"theme.notification.label": "#${config.var.theme.colors.accent}",
"theme.notification.border": "#${config.var.theme.colors.bgalt}",
"theme.notification.text": "#${config.var.theme.colors.fgalt}",
"theme.notification.labelicon": "#${config.var.theme.colors.accent}",
"theme.osd.bar_color": "#${config.var.theme.colors.accent}",
"theme.osd.bar_overflow_color": "#${config.var.theme.colors.accentalt}",
"theme.osd.icon": "#${config.var.theme.colors.bg}",
"theme.osd.icon_container": "#${config.var.theme.colors.accent}",
"theme.osd.label": "#${config.var.theme.colors.accent}",
"theme.osd.bar_container": "#${config.var.theme.colors.bgalt}",
"theme.bar.menus.menu.media.background.color": "#${config.var.theme.colors.bgalt}",
"theme.bar.menus.menu.media.card.color": "#${config.var.theme.colors.bgalt}",
"theme.bar.menus.menu.media.card.tint": 90
}
'';
};
}

View File

@@ -1,4 +1,7 @@
{ config, ... }: {
{ pkgs, config, ... }: {
# wayland.windowManager.hyprland.settings.exec-once =
# [ "${pkgs.hyprpaper}/bin/hyprpaper" ];
services.hyprpaper = {
enable = true;
settings = {

View File

@@ -1,125 +0,0 @@
{ pkgs, ... }: {
imports = [ ./style.nix ];
home.packages = with pkgs; [ libnotify ];
services.swaync = {
enable = true;
settings = {
positionX = "right";
positionY = "top";
control-center-margin-top = 15;
control-center-margin-bottom = 15;
control-center-margin-right = 15;
control-center-margin-left = 15;
notification-icon-size = 32;
notification-body-image-height = 50;
notification-body-image-width = 50;
timeout-low = 5;
timeout = 10;
timeout-critical = 0;
fit-to-screen = true;
control-center-width = 500;
notification-window-width = 400;
keyboard-shortcuts = true;
image-visibility = "when-available";
transition-time = 200;
hide-on-clear = false;
hide-on-action = true;
script-fail-notify = true;
widgets = [
"menubar"
"title"
"buttons-grid"
"mpris"
"volume"
"backlight"
"dnd"
"notifications"
];
widget-config = {
title = {
text = "Notification Center";
clear-all-button = true;
button-text = "󰆴 Clear All";
};
dnd = { text = "Do Not Disturb"; };
mpris = {
image-size = 96;
image-radius = 7;
};
volume = { label = "󰕾"; };
backlight = {
label = "󰃟";
subsystem = "backlight";
device = "nvidia_0";
};
menubar = {
"menu#power-buttons" = {
label = "󰐥";
position = "right";
actions = [
{
label = "󰐥";
command = "systemctl poweroff";
}
{
label = "󰜉";
command = "systemctl reboot";
}
{
label = "󰒲";
command = "systemctl suspend";
}
{
"label" = "󰌾";
"command" = "${pkgs.hyprlock}/bin/hyprlock";
}
{
"label" = "󰍃";
"command" = "${pkgs.hyprland}/bin/hyprctl dispatch exit";
}
];
};
};
"buttons-grid" = {
"actions" = [
{
"label" = "󰕾";
"command" =
"${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle";
}
{
"label" = "󰍬";
"command" =
"${pkgs.pulseaudio}/bin/pactl set-source-mute @DEFAULT_SOURCE@ toggle";
}
{
"label" = "󰂯";
"command" = "${pkgs.blueman}/bin/blueman-manager";
}
{
"label" = "󰹑";
"command" =
"${pkgs.grimblast}/bin/grimblast --notify --freeze --wait 1 copysave area ~/Pictures/$(date +%Y-%m-%dT%H%M%S).png";
}
{
"label" = "";
"command" = "${pkgs.kooha}/bin/kooha";
}
];
};
};
};
};
}

View File

@@ -1,315 +0,0 @@
{ config, ... }: {
xdg.configFile."swaync/style.css" = {
text = ''
@define-color notif-bg #${config.var.theme.colors.bgalt};
@define-color notif-fg #${config.var.theme.colors.fgalt};
@define-color cc-bg #${config.var.theme.colors.bg};
@define-color cc-fg #${config.var.theme.colors.fg};
@define-color red #${config.var.theme.colors.c1};
* {
font-family: "${config.var.theme.font}";
color: #${config.var.theme.colors.fg};
}
.notification-row {
outline: none;
}
.notification-row:focus,
.notification-row:hover {
background: @notif-bg;
opacity: 0.8;
}
.notification {
border-radius: ${toString config.var.theme.rounding}px;
margin: 6px 12px;
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.3), 0 1px 3px 1px rgba(0, 0, 0, 0.7),
0 2px 6px 2px rgba(0, 0, 0, 0.3);
padding: 0;
}
.notification-content {
background: transparent;
padding: 6px;
border-radius: 12px;
}
.close-button {
background: @cc-bg;
color: @cc-fg;
text-shadow: none;
padding: 0;
border-radius: 100%;
margin-top: 10px;
margin-right: 16px;
box-shadow: none;
border: none;
min-width: 24px;
min-height: 24px;
}
.close-button:hover {
box-shadow: none;
background: @red;
transition: all 0.15s ease-in-out;
border: none;
}
.notification-default-action,
.notification-action {
padding: 4px;
margin: 0;
box-shadow: none;
background: @cc-bg;
color: @cc-fg;
}
.notification-default-action:hover,
.notification-action:hover {
-gtk-icon-effect: none;
background: @noti-bg-hover;
}
.notification-default-action {
border-radius: 12px;
}
/* When alternative actions are visible */
.notification-default-action:not(:only-child) {
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
}
.notification-action {
border-radius: 0px;
border-top: none;
border-right: none;
}
/* add bottom border radius to eliminate clipping */
.notification-action:first-child {
border-bottom-left-radius: 10px;
}
.notification-action:last-child {
border-bottom-right-radius: 10px;
border-right: 1px solid @noti-border-color;
}
.image {}
.body-image {
margin-top: 6px;
background-color: white;
border-radius: 12px;
}
.summary {
font-size: 16px;
font-weight: bold;
background: transparent;
color: white;
text-shadow: none;
}
.time {
font-size: 16px;
font-weight: bold;
background: transparent;
color: white;
text-shadow: none;
margin-right: 18px;
}
.body {
font-size: 15px;
font-weight: normal;
background: transparent;
color: white;
text-shadow: none;
}
/* The "Notifications" and "Do Not Disturb" text widget */
.top-action-title {
color: white;
text-shadow: none;
}
.control-center {
background-color: @cc-bg;
}
.control-center-list {
background: transparent;
}
.floating-notifications {
background: transparent;
}
/* Window behind control center and on all other monitors */
.blank-window {
background: transparent;
}
/*** Widgets ***/
/* Title widget */
.widget-title {
margin: 8px;
font-size: 1.5rem;
}
.widget-title>button {
font-size: initial;
color: white;
text-shadow: none;
background: @noti-bg;
border: 1px solid @noti-border-color;
box-shadow: none;
border-radius: 12px;
}
.widget-title>button:hover {
background: @noti-bg-hover;
}
/* DND widget */
.widget-dnd {
margin: 8px;
font-size: 1.1rem;
}
.widget-dnd>switch {
font-size: initial;
border-radius: 12px;
background: @noti-bg;
border: 1px solid @noti-border-color;
box-shadow: none;
}
.widget-dnd>switch:checked {
background: @bg-selected;
}
.widget-dnd>switch slider {
background: @noti-bg-hover;
border-radius: 12px;
}
/* Label widget */
.widget-label {
margin: 8px;
}
.widget-label>label {
font-size: 1.1rem;
}
/* Mpris widget */
.widget-mpris {
/* The parent to all players */
}
.widget-mpris-player {
padding: 8px;
margin: 8px;
}
.widget-mpris-title {
font-weight: bold;
font-size: 1.25rem;
}
.widget-mpris-subtitle {
font-size: 1.1rem;
}
/* Volume and Brightness Widget*/
.widget-volume {
background-color: @noti-bg;
padding: 4px 8px 8px 8px;
margin: 0px 8px 8px 8px;
border-bottom-left-radius: 12px;
border-bottom-right-radius: 12px;
}
.widget-backlight {
background-color: @noti-bg;
padding: 8px 8px 4px 8px;
margin: 8px 8px 0px 8px;
border-top-left-radius: 12px;
border-top-right-radius: 12px;
}
.KB {
padding: 4px 8px 4px 8px;
margin: 0px 8px 0px 8px;
border-radius: 0;
}
.power-buttons{
background-color: @noti-bg;
padding: 8px;
margin: 8px;
border-radius: 12px;
}
.power-buttons>button {
background: transparent;
border: none;
}
.power-buttons>button:hover {
background: @noti-bg-hover;
}
.widget-menubar>box>.menu-button-bar>button{
border: none;
background: transparent;
}
.topbar-buttons>button{
border: none;
background: transparent;
}
.widget-buttons-grid{
padding: 8px;
margin: 8px;
border-radius: 12px;
background-color: @noti-bg;
}
.widget-buttons-grid>flowbox>flowboxchild>button{
background: @noti-bg;
border-radius: 12px;
}
.widget-buttons-grid>flowbox>flowboxchild>button:hover {
background: @noti-bg-hover;
}
.powermode-buttons{
background-color: @noti-bg;
padding: 8px;
margin: 8px;
border-radius: 12px;
}
.powermode-buttons>button {
background: transparent;
border: none;
}
.powermode-buttons>button:hover {
background: @noti-bg-hover;
}
'';
};
}

View File

@@ -1,337 +0,0 @@
{ config, ... }: {
services = {
blueman-applet.enable = true;
network-manager-applet.enable = true;
};
programs.waybar = {
enable = true;
settings = {
mainBar = {
layer = config.var.theme.waybar.position;
position = config.var.theme.waybar.position;
spacing = 0;
"margin-top" = if config.var.theme.waybar.float
&& config.var.theme.waybar.position == "top" then
config.var.theme.gaps-out
else
0;
"margin-bottom" = if config.var.theme.waybar.float
&& config.var.theme.waybar.position == "bottom" then
config.var.theme.gaps-out
else
0;
"margin-left" = if config.var.theme.waybar.float then
config.var.theme.gaps-out
else
0;
"margin-right" = if config.var.theme.waybar.float then
config.var.theme.gaps-out
else
0;
height = 44;
modules-left = [ "custom/logo" "hyprland/window" ];
modules-center = [ "hyprland/workspaces" ];
modules-right = [
"tray"
# "backlight"
# "pulseaudio"
"custom/caffeine"
"custom/night-shift"
"battery"
"clock"
"custom/notification"
"custom/power"
];
"wlr/taskbar" = {
format = "{icon}";
"on-click" = "activate";
"on-click-right" = "fullscreen";
"icon-size" = 25;
"tooltip-format" = "{title}";
};
"hyprland/window" = {
"format" = "{title:30}";
"max-length" = 30;
"separate-outputs" = true;
rewrite = {
"\\s*(.*)\\s+" = "$1"; # Remove trailing whitespace
# "\\s*" = # TODO FIXME
# "\${USER}@\${HOST}"; # Replace empty string with your username
".* - LibreWolf" = "LibreWolf";
};
};
"hyprland/workspaces" = {
"on-click" = "activate";
format = "{icon}";
"format-icons" = {
"default" = "";
"1" = "1";
"2" = "2";
"3" = "3";
"4" = "4";
"5" = "5";
"6" = "6";
"7" = "7";
"8" = "8";
"9" = "9";
"active" = "󱓻";
"urgent" = "󱓻";
};
"persistent-workspaces" = {
"1" = [ ];
"2" = [ ];
"3" = [ ];
"4" = [ ];
"5" = [ ];
};
};
tray = { spacing = 16; };
clock = {
"tooltip-format" = "<tt>{calendar}</tt>";
"format-alt" = " {:%a, %d %b %Y}";
format = "󰥔 {:%I:%M %p}";
};
pulseaudio = {
format = "{icon}";
"format-bluetooth" = "󰂰";
nospacing = 1;
"tooltip-format" = "Volume : {volume}%";
"format-muted" = "󰝟";
"format-icons" = {
"headphone" = "";
"default" = [ "󰖀" "󰕾" "" ];
};
"on-click" = "sound-toggle";
"scroll-step" = 1;
};
"custom/logo" = {
format = " ";
tooltip = false;
on-click = "menu";
};
"custom/notification" = {
tooltip = false;
format = "{} {icon}";
"format-icons" = {
notification = "󱅫";
none = "";
"dnd-notification" = " ";
"dnd-none" = "󰂛";
"inhibited-notification" = " ";
"inhibited-none" = "";
"dnd-inhibited-notification" = " ";
"dnd-inhibited-none" = " ";
};
"return-type" = "json";
"exec-if" = "which swaync-client";
exec = "swaync-client -swb";
"on-click" = "sleep 0.1 && swaync-client -t -sw";
"on-click-right" = "sleep 0.1 && swaync-client -d -sw";
escape = true;
};
battery = {
format = "{capacity}% {icon}";
"format-icons" = {
"charging" = [ "󰢜" "󰂆" "󰂇" "󰂈" "󰢝" "󰂉" "󰢞" "󰂊" "󰂋" "󰂅" ];
"default" = [ "󰁺" "󰁻" "󰁼" "󰁽" "󰁾" "󰁿" "󰂀" "󰂁" "󰂂" "󰁹" ];
};
"format-full" = "󰁹 ";
interval = 10;
states = {
warning = 20;
critical = 10;
};
tooltip = false;
};
"custom/power" = {
format = "󰤆";
tooltip = false;
on-click = "powermenu";
};
"custom/caffeine" = {
format = "{}";
max-length = 5;
interval = 10;
exec = "caffeine-status-icon";
"on-click" = "caffeine";
# exec-if = "pgrep spotify";
# return-type = "";
};
"custom/night-shift" = {
format = "{}";
max-length = 5;
interval = 10;
exec = "night-shift-status-icon";
"on-click" = "night-shift";
};
backlight = {
device = "nvidia_0";
format = "{icon}";
"format-icons" = [ " " " " "" "" "" "" "" "" "" ];
};
};
};
style = ''
* {
border: none;
border-radius: 0;
min-height: 0;
font-family: "${config.var.theme.font}";
color: #${config.var.theme.colors.fg};
font-weight: 700;
}
window#waybar {
background-color: ${
if config.var.theme.waybar.transparent then
"rgba(0, 0, 0, 0)"
else
"#${config.var.theme.colors.bg}"
};
transition-property: background-color;
transition-duration: 0.5s;
border-radius: ${
if config.var.theme.waybar.float then
toString config.var.theme.rounding
else
"0"
}px;
font-size: ${toString config.var.theme.waybar.font-size}px;
}
.modules-left, .modules-center, .modules-right {
border-radius: ${
if config.var.theme.waybar.float then
toString config.var.theme.rounding
else
"0"
}px;
background-color: #${config.var.theme.colors.bg};
padding: 2px 6px;
}
window#waybar.hidden {
opacity: 0.5;
}
#workspaces {
background-color: transparent;
}
#workspaces button {
all: initial; /* Remove GTK theme values (waybar #1351) */
min-width: 0; /* Fix weird spacing in materia (waybar #450) */
box-shadow: inset 0 -3px transparent; /* Use box-shadow instead of border so the text isn't offset */
padding: 6px 18px;
margin: 6px 3px;
border-radius: 4px;
background-color: #${config.var.theme.colors.bgalt};
color: #${config.var.theme.colors.fgalt};
}
#workspaces button.active {
color: #${config.var.theme.colors.accentFg};
background-color: #${config.var.theme.colors.accent};
}
#workspaces button:hover {
box-shadow: inherit;
text-shadow: inherit;
opacity: 0.8;
}
#workspaces button.urgent {
background-color: #${config.var.theme.colors.c1};
}
#window > * {
font-family: "${config.var.theme.font-mono}";
}
#memory,
#custom-power,
#custom-notification,
#custom-caffeine,
#custom-night-shift,
#battery,
#backlight,
#pulseaudio,
#network,
#clock,
#tray,
#backlight{
border-radius: 9px;
margin: 6px 3px;
padding: 6px 12px;
background-color: #${config.var.theme.colors.bgalt};
color: #${config.var.theme.colors.fgalt};
}
#tray menu {
background-color: #${config.var.theme.colors.bgalt};
color: #${config.var.theme.colors.fgalt};
}
#custom-logo {
padding-right: 7px;
font-size: ${toString config.var.theme.waybar.font-size}px;
color: #${config.var.theme.colors.accent};
}
@keyframes blink {
to {
background-color: #f38ba8;
color: #181825;
}
}
#battery.warning,
#battery.critical,
#battery.urgent {
background-color: #ff0048;
color: #181825;
animation-name: blink;
animation-duration: 0.5s;
animation-timing-function: linear;
animation-iteration-count: infinite;
animation-direction: alternate;
}
#battery.charging {
background-color: #${config.var.theme.colors.bgalt};
color: #${config.var.theme.colors.fgalt};
animation: none;
}
#custom-power {
background-color: #${config.var.theme.colors.accent};
color: #${config.var.theme.colors.accentFg};
}
tooltip {
border-radius: 8px;
padding: 15px;
background-color: #${config.var.theme.colors.bgalt};
color: #${config.var.theme.colors.fgalt};
}
tooltip label {
padding: 5px;
background-color: #${config.var.theme.colors.bgalt};
color: #${config.var.theme.colors.fgalt};
}
'';
};
}

View File

@@ -1,4 +1,6 @@
{ config, ... }: {
{ config, pkgs, ... }: {
home.packages = with pkgs; [ wofi-emoji ];
programs.wofi = {
enable = true;

View File

@@ -9,9 +9,6 @@
statusbar-basename = true;
render-loading = false;
scroll-step = 120;
# highlight-color = ");
# highlight-active-color = mkForce (rgba "base0D");
};
};
}

View File

@@ -16,7 +16,9 @@
../modules/nix.nix
../modules/network-manager.nix
../modules/home-manager.nix
../modules/power-profiles.nix
../modules/utils.nix
../modules/gvfs.nix
./hardware-configuration.nix
./variables.nix

View File

@@ -4,33 +4,30 @@
./variables.nix
# Programs
../../home/programs/btop
../../home/programs/cava
../../home/programs/kitty
../../home/programs/nextcloud
../../home/programs/nvim
../../home/programs/qutebrowser
../../home/programs/spicetify
../../home/programs/shell
../../home/programs/fetch
../../home/programs/lf
../../home/programs/git
../../home/programs/yazi
# ../../home/programs/spicetify TODO: broken
../../home/programs/btop
../../home/programs/cava
../../home/programs/nextcloud
# Scripts
../../home/scripts # All scripts
# System (Desktop environment like stuff)
# ../../home/system/dunst
../../home/system/gtk
../../home/system/zathura
../../home/system/hyprland
../../home/system/waybar
../../home/system/gtk
../../home/system/wlogout
../../home/system/wofi
../../home/system/batsignal
../../home/system/zathura
../../home/system/mime
../../home/system/udiskie
../../home/system/swaync
../../home/system/clipman
./secrets # You should probably remove this line
];
@@ -40,19 +37,14 @@
inherit (config.var) homeDirectory;
packages = with pkgs; [
# Apps
discord
xfce.thunar
bitwarden
vlc
nextcloud-client
tailscale
wireguard-tools
# Dev
wails
pkg-config
go
cargo
nodejs
python3
jq
@@ -67,6 +59,7 @@
optipng
pfetch
pandoc
tailscale
# Just cool
peaclock
@@ -78,7 +71,6 @@
vscode
firefox
neovide
brave
];
# Import wallpapers into $HOME/wallpapers
@@ -87,6 +79,9 @@
source = ../../home/wallpapers;
};
# Import my profile picture, used by the hyprpanel dashboard
file.".profile_picture.png" = { source = ./profile_picture.png; };
# Don't touch this
stateVersion = "24.05";
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -9,6 +9,7 @@
keyboardLayout = "fr";
location = "Paris";
timeZone = "Europe/Paris";
defaultLocale = "en_US.UTF-8";
extraLocale = "fr_FR.UTF-8";

1
hosts/modules/gvfs.nix Normal file
View File

@@ -0,0 +1 @@
{ services.gvfs.enable = true; }

View File

@@ -1,6 +1,4 @@
{ pkgs, ... }: {
networking.networkmanager.enable = true;
systemd.services.NetworkManager-wait-online.enable = false;
environment.systemPackages = with pkgs; [ networkmanagerapplet ];
}

View File

@@ -0,0 +1 @@
{ services.power-profiles-daemon.enable = true; }

View File

@@ -15,7 +15,7 @@
# internal
./modules/internal/security.nix
./modules/internal/openssh.nix
# ./modules/internal/adguard.nix # TODO
# ./modules/internal/adguard.nix
# ./modules/internal/cockpit.nix
# exposed

View File

@@ -1,52 +0,0 @@
{
wallpaper = "nix.png";
font = "SFProDisplay Nerd Font";
font-mono = "FiraCode Nerd Font Mono";
font-size = 13;
rounding = 11;
gaps-in = 15;
gaps-out = 15 * 2;
border-size = 5;
animation-speed = "medium"; # "fast" | "medium" | "slow"
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
waybar = {
transparent = true;
float = true;
position = "top";
font-size = 15;
};
colors = {
c0 = "1e1e2e"; # black
c1 = "f38ba8"; # red
c2 = "a6e3a1"; # green
c3 = "fab387"; # yellow
c4 = "89b4fa"; # blue
c5 = "cba6f7"; # magenta
c6 = "74c7ec"; # cyan
c7 = "cdd6f4"; # white
c8 = "313244"; # bright black
c9 = "eba0ac"; # bright red
c10 = "94e2d5"; # bright green
c11 = "f9e2af"; # bright yellow
c12 = "b4befe"; # bright blue
c13 = "f5c2e7"; # bright magenta
c14 = "94e2d5"; # bright cyan
c15 = "bac2de"; # bright white
bg = "01010b";
fg = "cdd6f4";
bgalt = "181825";
fgalt = "bac2de";
accent = "89b4fa";
accentFg = "1e1e2e";
# Should make those automtic
accentName = "blue";
accentNumber = "4";
};
}

View File

@@ -1,52 +0,0 @@
{
wallpaper = "magma.png";
font = "SFProDisplay Nerd Font";
font-mono = "FiraCode Nerd Font Mono";
font-size = 14;
rounding = 8;
gaps-in = 8;
gaps-out = 8 * 2;
border-size = 2;
animation-speed = "slow"; # "fast" | "medium" | "slow"
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
waybar = {
transparent = false;
float = false;
position = "bottom";
font-size = 16;
};
colors = {
c0 = "1e1e2e"; # black
c1 = "f38ba8"; # red
c2 = "a6e3a1"; # green
c3 = "fab387"; # yellow
c4 = "89b4fa"; # blue
c5 = "cba6f7"; # magenta
c6 = "74c7ec"; # cyan
c7 = "cdd6f4"; # white
c8 = "313244"; # bright black
c9 = "eba0ac"; # bright red
c10 = "94e2d5"; # bright green
c11 = "f9e2af"; # bright yellow
c12 = "b4befe"; # bright blue
c13 = "f5c2e7"; # bright magenta
c14 = "94e2d5"; # bright cyan
c15 = "bac2de"; # bright white
bg = "01010b";
fg = "cdd6f4";
bgalt = "181825";
fgalt = "bac2de";
accent = "f38ba8";
accentFg = "1e1e2e";
# Should make those automtic
accentName = "red";
accentNumber = "1";
};
}

View File

@@ -1,5 +1,5 @@
{
wallpaper = "dark_cloud.png";
wallpaper = "nix.png";
font = "SFProDisplay Nerd Font";
font-mono = "FiraCode Nerd Font Mono";
@@ -8,15 +8,17 @@
rounding = 15;
gaps-in = 10;
gaps-out = 10 * 2;
active-opacity = 0.95;
inactive-opacity = 0.9;
blur = true;
border-size = 3;
animation-speed = "fast"; # "fast" | "medium" | "slow"
fetch = "nerdfetch"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
waybar = {
bar = {
transparent = true;
float = true;
position = "top";
font-size = 15;
floating = true;
font-size = 16;
};
colors = {
@@ -44,6 +46,7 @@
accent = "A594FD";
accentFg = "0B0B0B";
accentalt = "917FF0";
# Should make those automtic
accentName = "magenta";

View File

@@ -1,21 +1,23 @@
{
wallpaper = "windows.png";
wallpaper = "moutains_black.png";
font = "SFProDisplay Nerd Font";
font-mono = "FiraCode Nerd Font Mono";
font-size = 14;
rounding = 8;
gaps-in = 8;
gaps-out = 8 * 2;
border-size = 2;
animation-speed = "slow"; # "fast" | "medium" | "slow"
rounding = 10;
gaps-in = 6;
gaps-out = 6 * 2;
active-opacity = 0.95;
inactive-opacity = 0.9;
blur = true;
border-size = 1;
animation-speed = "medium"; # "fast" | "medium" | "slow"
fetch = "none"; # "nerdfetch" | "neofetch" | "pfetch" | "none"
waybar = {
bar = {
transparent = false;
float = false;
position = "bottom";
floating = false;
font-size = 16;
};
@@ -25,7 +27,7 @@
c2 = "a6e3a1"; # green
c3 = "fab387"; # yellow
c4 = "89b4fa"; # blue
c5 = "cba6f7"; # magenta
c5 = "A594FD"; # magenta
c6 = "74c7ec"; # cyan
c7 = "cdd6f4"; # white
c8 = "313244"; # bright black
@@ -37,16 +39,17 @@
c14 = "94e2d5"; # bright cyan
c15 = "bac2de"; # bright white
bg = "01010b";
fg = "cdd6f4";
bgalt = "181825";
fgalt = "bac2de";
bg = "0B0B1B";
fg = "EAF0F5";
bgalt = "121222";
fgalt = "EAF0F5";
accent = "89b4fa";
accentFg = "1e1e2e";
accent = "74c7ec";
accentFg = "1E1E2E";
accentalt = "94e2d5";
# Should make those automtic
accentName = "blue";
accentNumber = "4";
accentName = "cyan";
accentNumber = "6";
};
}