Initial commit (after fork)
BIN
.github/assets/screenshots/1.old.png
vendored
Before Width: | Height: | Size: 824 KiB |
BIN
.github/assets/screenshots/1.png
vendored
Before Width: | Height: | Size: 749 KiB |
BIN
.github/assets/screenshots/2.old.png
vendored
Before Width: | Height: | Size: 1.1 MiB |
BIN
.github/assets/screenshots/2.png
vendored
Before Width: | Height: | Size: 1.1 MiB |
BIN
.github/assets/screenshots/3.old.png
vendored
Before Width: | Height: | Size: 1.3 MiB |
BIN
.github/assets/screenshots/3.png
vendored
Before Width: | Height: | Size: 1.2 MiB |
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
BIN
.repo/assets/screenshots/1.png
Normal file
After Width: | Height: | Size: 658 KiB |
BIN
.repo/assets/screenshots/2.png
Normal file
After Width: | Height: | Size: 400 KiB |
265
README.md
|
@ -1,7 +1,7 @@
|
||||||
<h1 align="center">
|
<h1 align="center">
|
||||||
<img src="./.github/assets/logo/nixos-logo.png " width="100px" />
|
<img src="./.repo/assets/logo/nixos-logo.png " width="100px" />
|
||||||
<br>
|
<br>
|
||||||
Frost-Phoenix's Flakes
|
peprolinbot's Flakes
|
||||||
<br>
|
<br>
|
||||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/palette/macchiato.png" width="600px" /> <br>
|
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/palette/macchiato.png" width="600px" /> <br>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
@ -9,12 +9,6 @@
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<p></p>
|
<p></p>
|
||||||
<div align="center">
|
<div align="center">
|
||||||
<a href="https://github.com/Frost-Phoenix/nixos-config/stargazers">
|
|
||||||
<img src="https://img.shields.io/github/stars/Frost-Phoenix/nixos-config?color=F5BDE6&labelColor=303446&style=for-the-badge&logo=starship&logoColor=F5BDE6">
|
|
||||||
</a>
|
|
||||||
<a href="https://github.com/Frost-Phoenix/nixos-config/">
|
|
||||||
<img src="https://img.shields.io/github/repo-size/Frost-Phoenix/nixos-config?color=C6A0F6&labelColor=303446&style=for-the-badge&logo=github&logoColor=C6A0F6">
|
|
||||||
</a>
|
|
||||||
<a = href="https://nixos.org">
|
<a = href="https://nixos.org">
|
||||||
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor=303446&logo=NixOS&logoColor=white&color=91D7E3">
|
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor=303446&logo=NixOS&logoColor=white&color=91D7E3">
|
||||||
</a>
|
</a>
|
||||||
|
@ -32,36 +26,20 @@
|
||||||
### 🖼️ Gallery
|
### 🖼️ Gallery
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="./.github/assets/screenshots/1.png" /> <br>
|
<img src="./.repo/assets/screenshots/1.png" /> <br>
|
||||||
<img src="./.github/assets/screenshots/2.png" /> <br>
|
<img src="./.repo/assets/screenshots/2.png" /> <br>
|
||||||
<img src="./.github/assets/screenshots/3.png" /> <br>
|
Screenshots last updated <b>8th July 2024</b>
|
||||||
Screenshots last updated <b>2024-04-09</b>
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
OLD (EXPAND)
|
|
||||||
</summary>
|
|
||||||
<p align="center">
|
|
||||||
<img src="./.github/assets/screenshots/1.old.png" width="800px" /> <br>
|
|
||||||
<img src="./.github/assets/screenshots/2.old.png" width="800px" /> <br>
|
|
||||||
<img src="./.github/assets/screenshots/3.old.png" width="800px" /> <br>
|
|
||||||
</p>
|
|
||||||
</details>
|
|
||||||
|
|
||||||
# 🗃️ Overview
|
# 🗃️ Overview
|
||||||
|
|
||||||
### 📚 Layout
|
### 📚 Layout
|
||||||
|
|
||||||
- [flake.nix](flake.nix) base of the configuration
|
- [flake.nix](flake.nix) base of the configuration
|
||||||
- [hosts](hosts) 🌳 per-host configurations that contain machine specific configurations
|
- [hosts](hosts) 🌳 per-host configurations that contain machine specific configurations
|
||||||
- [desktop](hosts/desktop/) 🖥️ Desktop specific configuration
|
|
||||||
- [laptop](hosts/laptop/) 💻 Laptop specific configuration
|
|
||||||
- [modules](modules) 🍱 modularized NixOS configurations
|
- [modules](modules) 🍱 modularized NixOS configurations
|
||||||
- [core](modules/core/) ⚙️ Core NixOS configuration
|
- [core](modules/core/) ⚙️ Core NixOS configuration
|
||||||
- [homes](modules/home/) 🏠 my [Home-Manager](https://github.com/nix-community/home-manager) config
|
- [homes](modules/home/) 🏠 my [Home-Manager](https://github.com/nix-community/home-manager) config
|
||||||
- [pkgs](flake/pkgs) 📦 packages exported by my flake
|
|
||||||
- [wallpapers](wallpapers/) 🌄 wallpapers collection
|
|
||||||
|
|
||||||
### 📓 Components
|
### 📓 Components
|
||||||
| | NixOS + Hyprland |
|
| | NixOS + Hyprland |
|
||||||
|
@ -80,10 +58,10 @@ OLD (EXPAND)
|
||||||
| **Color Scheme** | [Catppuccin][Catppuccin] |
|
| **Color Scheme** | [Catppuccin][Catppuccin] |
|
||||||
| **Cursor** | [Nordzy-cursors][Nordzy-cursors] |
|
| **Cursor** | [Nordzy-cursors][Nordzy-cursors] |
|
||||||
| **Icons** | [catppuccin-papirus-folders][catppuccin-papirus-folders] |
|
| **Icons** | [catppuccin-papirus-folders][catppuccin-papirus-folders] |
|
||||||
| **Lockscreen** | [Swaylock-effects][Swaylock-effects] |
|
| **Lockscreen** | [Hyprlock][Swaylock-effects] |
|
||||||
| **Image Viewer** | [imv][imv] |
|
| **Image Viewer** | [imv][imv] |
|
||||||
| **Media Player** | [mpv][mpv] |
|
| **Media Player** | [mpv][mpv] |
|
||||||
| **Music Player** | [audacious][audacious] |
|
| **Music Player** | [audacious][spotify_player] |
|
||||||
| **Screenshot Software** | [grimblast][grimblast] |
|
| **Screenshot Software** | [grimblast][grimblast] |
|
||||||
| **Screen Recording** | [wf-recorder][wf-recorder] |
|
| **Screen Recording** | [wf-recorder][wf-recorder] |
|
||||||
| **Clipboard** | [wl-clip-persist][wl-clip-persist] |
|
| **Clipboard** | [wl-clip-persist][wl-clip-persist] |
|
||||||
|
@ -192,26 +170,6 @@ toggle_oppacity.sh
|
||||||
**Usage:** ```toggle_oppacity```
|
**Usage:** ```toggle_oppacity```
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
maxfetch.sh
|
|
||||||
</summary>
|
|
||||||
|
|
||||||
**Description:** This script is a modified version of the [jobcmax/maxfetch][maxfetch] script.
|
|
||||||
|
|
||||||
**Usage:** ```maxfetch```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
music.sh
|
|
||||||
</summary>
|
|
||||||
|
|
||||||
**Description:** This script is for managing Audacious (music player). If Audacious is currently running, it will be killed (stopping the music); otherwise, it will start Audacious in the 8th workspace and resume the music.
|
|
||||||
|
|
||||||
**Usage:** ```music```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>
|
<summary>
|
||||||
runbg.sh
|
runbg.sh
|
||||||
|
@ -224,130 +182,7 @@ runbg.sh
|
||||||
|
|
||||||
### ⌨️ Keybinds
|
### ⌨️ Keybinds
|
||||||
|
|
||||||
View all keybinds by pressing ```$mainMod F1``` and wallpaper picker by pressing ```$mainMod w```. By default ```$mainMod``` is the ```SUPER``` key.
|
View all keybinds by pressing ```$mainMod F1```. By default ```$mainMod``` is the ```SUPER``` key.
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
Keybindings
|
|
||||||
</summary>
|
|
||||||
|
|
||||||
- ```bind = $mainMod, Return, exec, kitty```
|
|
||||||
- ```bind = ALT, Return, exec, kitty --title float_kitty```
|
|
||||||
- ```bind = $mainMod SHIFT, Return, exec, kitty --start-as=fullscreen -o 'font_size=16'```
|
|
||||||
- ```bind = $mainMod, B, exec, firefox```
|
|
||||||
- ```bind = $mainMod, Q, killactive,```
|
|
||||||
- ```bind = $mainMod, F, fullscreen, 0```
|
|
||||||
- ```bind = $mainMod SHIFT, F, fullscreen, 1```
|
|
||||||
- ```bind = $mainMod, Space, togglefloating,```
|
|
||||||
- ```bind = $mainMod, D, exec, fuzzel```
|
|
||||||
- ```bind = $mainMod, Escape, exec, swaylock```
|
|
||||||
- ```bind = $mainMod SHIFT, Escape, exec, shutdown-script```
|
|
||||||
- ```bind = $mainMod, P, pseudo,```
|
|
||||||
- ```bind = $mainMod, J, togglesplit,```
|
|
||||||
- ```bind = $mainMod, E, exec, nemo```
|
|
||||||
- ```bind = $mainMod SHIFT, B, exec, pkill -SIGUSR1 .waybar-wrapped```
|
|
||||||
- ```bind = $mainMod, C ,exec, hyprpicker -a```
|
|
||||||
- ```bind = $mainMod, W,exec, wallpaper-picker```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
Screenshot
|
|
||||||
</summary>
|
|
||||||
|
|
||||||
- ```bind = $mainMod, Print, exec, grimblast --notify --cursor save area ~/Pictures/$(date +'%Y-%m-%d-At-%Ih%Mm%Ss').png```
|
|
||||||
- ```bind = ,Print, exec, grimblast --notify --cursor copy area```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
Switch window focus
|
|
||||||
</summary>
|
|
||||||
|
|
||||||
- ```bind = $mainMod, left, movefocus, l```
|
|
||||||
- ```bind = $mainMod, right, movefocus, r```
|
|
||||||
- ```bind = $mainMod, up, movefocus, u```
|
|
||||||
- ```bind = $mainMod, down, movefocus, d```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
Switch workspace
|
|
||||||
</summary>
|
|
||||||
|
|
||||||
- ```bind = $mainMod, 1, workspace, 1```
|
|
||||||
- ```bind = $mainMod, 2, workspace, 2```
|
|
||||||
- ```bind = $mainMod, 3, workspace, 3```
|
|
||||||
- ```bind = $mainMod, 4, workspace, 4```
|
|
||||||
- ```bind = $mainMod, 5, workspace, 5```
|
|
||||||
- ```bind = $mainMod, 6, workspace, 6```
|
|
||||||
- ```bind = $mainMod, 7, workspace, 7```
|
|
||||||
- ```bind = $mainMod, 8, workspace, 8```
|
|
||||||
- ```bind = $mainMod, 9, workspace, 9```
|
|
||||||
- ```bind = $mainMod, 0, workspace, 10```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
Switch window to workspace
|
|
||||||
</summary>
|
|
||||||
|
|
||||||
- ```bind = $mainMod SHIFT, 1, movetoworkspace, 1```
|
|
||||||
- ```bind = $mainMod SHIFT, 2, movetoworkspace, 2```
|
|
||||||
- ```bind = $mainMod SHIFT, 3, movetoworkspace, 3```
|
|
||||||
- ```bind = $mainMod SHIFT, 4, movetoworkspace, 4```
|
|
||||||
- ```bind = $mainMod SHIFT, 5, movetoworkspace, 5```
|
|
||||||
- ```bind = $mainMod SHIFT, 6, movetoworkspace, 6```
|
|
||||||
- ```bind = $mainMod SHIFT, 7, movetoworkspace, 7```
|
|
||||||
- ```bind = $mainMod SHIFT, 8, movetoworkspace, 8```
|
|
||||||
- ```bind = $mainMod SHIFT, 9, movetoworkspace, 9```
|
|
||||||
- ```bind = $mainMod SHIFT, 0, movetoworkspace, 10```
|
|
||||||
- ```bind = $mainMod CTRL, c, movetoworkspace, empty```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
Window control
|
|
||||||
</summary>
|
|
||||||
|
|
||||||
- ```bind = $mainMod SHIFT, left, movewindow, l```
|
|
||||||
- ```bind = $mainMod SHIFT, right, movewindow, r```
|
|
||||||
- ```bind = $mainMod SHIFT, up, movewindow, u```
|
|
||||||
- ```bind = $mainMod SHIFT, down, movewindow, d```
|
|
||||||
- ```bind = $mainMod CTRL, left, resizeactive, -80 0```
|
|
||||||
- ```bind = $mainMod CTRL, right, resizeactive, 80 0```
|
|
||||||
- ```bind = $mainMod CTRL, up, resizeactive, 0 -80```
|
|
||||||
- ```bind = $mainMod CTRL, down, resizeactive, 0 80```
|
|
||||||
- ```bind = $mainMod ALT, left, moveactive, -80 0```
|
|
||||||
- ```bind = $mainMod ALT, right, moveactive, 80 0```
|
|
||||||
- ```bind = $mainMod ALT, up, moveactive, 0 -80```
|
|
||||||
- ```bind = $mainMod ALT, down, moveactive, 0 80```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
Media and volume controls
|
|
||||||
</summary>
|
|
||||||
|
|
||||||
- ```bind = ,XF86AudioRaiseVolume,exec, pamixer -i 2```
|
|
||||||
- ```bind = ,XF86AudioLowerVolume,exec, pamixer -d 2```
|
|
||||||
- ```bind = ,XF86AudioMute,exec, pamixer -t```
|
|
||||||
- ```bind = ,XF86AudioPlay,exec, playerctl play-pause```
|
|
||||||
- ```bind = ,XF86AudioNext,exec, playerctl next```
|
|
||||||
- ```bind = ,XF86AudioPrev,exec, playerctl previous```
|
|
||||||
- ```bind = , XF86AudioStop, exec, playerctl stop```
|
|
||||||
- ```bind = $mainMod, mouse_down, workspace, e-1```
|
|
||||||
- ```bind = $mainMod, mouse_up, workspace, e+1```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
<details>
|
|
||||||
<summary>
|
|
||||||
Mouse binding
|
|
||||||
</summary>
|
|
||||||
|
|
||||||
- ```bindm = $mainMod, mouse:272, movewindow```
|
|
||||||
- ```bindm = $mainMod, mouse:273, resizewindow```
|
|
||||||
</details>
|
|
||||||
|
|
||||||
# 🚀 Installation
|
# 🚀 Installation
|
||||||
|
|
||||||
|
@ -355,7 +190,7 @@ Mouse binding
|
||||||
> Applying custom configurations, especially those related to your operating system, can have unexpected consequences and may interfere with your system's normal behavior. While I have tested these configurations on my own setup, there is no guarantee that they will work flawlessly on all systems. <br>
|
> Applying custom configurations, especially those related to your operating system, can have unexpected consequences and may interfere with your system's normal behavior. While I have tested these configurations on my own setup, there is no guarantee that they will work flawlessly on all systems. <br>
|
||||||
> **I am not responsible for any issues that may arise from using this configuration.**
|
> **I am not responsible for any issues that may arise from using this configuration.**
|
||||||
|
|
||||||
> It is highly recommended to review the configuration contents and make necessary modifications to customize it to your needs before attempting the installation.
|
> It is highly recommended to review the configuration contents and make necessary modifications to customize it to your needs before attempting the installation. Especially if you consider that I only use this on my own systems and I make almost no efforts for this to be used by anyone other than me.
|
||||||
|
|
||||||
1. **Install NixOs**
|
1. **Install NixOs**
|
||||||
|
|
||||||
|
@ -366,75 +201,24 @@ Mouse binding
|
||||||
|
|
||||||
```
|
```
|
||||||
nix-shell -p git
|
nix-shell -p git
|
||||||
git clone https://github.com/Frost-Phoenix/nixos-config
|
git clone https://git.peprolinbot.com/peprolinbot/nixos-config
|
||||||
cd nixos-config
|
cd nixos-config
|
||||||
```
|
```
|
||||||
3. **Install script**
|
|
||||||
|
|
||||||
> First make sure to read the install script, it isn't long
|
2. **Customize**
|
||||||
|
Read everything (as much as you can anyway) and edit what you consider neccesary.
|
||||||
Execute and follow the installation script :
|
|
||||||
```
|
3. **Install**
|
||||||
./install.sh
|
|
||||||
```
|
Run `sudo nixos-rebuild switch --flake .` and fix any errors that might arise
|
||||||
> You will need to change the git account yourself in ./modules/home/git.nix
|
|
||||||
```
|
|
||||||
programs.git = {
|
|
||||||
...
|
|
||||||
userName = "Frost-Phoenix";
|
|
||||||
userEmail = "67cyril6767@gmail.com";
|
|
||||||
...
|
|
||||||
};
|
|
||||||
```
|
|
||||||
4. **Reboot**
|
4. **Reboot**
|
||||||
|
|
||||||
After rebooting, you'll be greeted by swaylock prompting for your password, with the wallpaper in the background.
|
After rebooting, you'll be greeted by regreet prompting for your password.
|
||||||
|
|
||||||
5. **Manual config**
|
|
||||||
|
|
||||||
Even though I use home manager, there is still a little bit of manual configuration to do:
|
|
||||||
- Set Aseprite theme (they are in the folder `./nixos-config/modules/home/aseprite/themes`).
|
|
||||||
- Enable Discord theme (in Discord settings under VENCORD > Themes).
|
|
||||||
- Configure the browser (for now, all browser configuration is done manually).
|
|
||||||
|
|
||||||
### Install script walkthrough
|
|
||||||
|
|
||||||
A brief walkthrough of what the install script does.
|
|
||||||
|
|
||||||
1. **Get username**
|
|
||||||
|
|
||||||
You will receive a prompt to enter your username, with a confirmation check.
|
|
||||||
|
|
||||||
2. **Set username**
|
|
||||||
|
|
||||||
The script will replace all occurancies of the default usename ```CURRENT_USERNAME``` by the given one stored in ```$username```
|
|
||||||
|
|
||||||
3. Create basic directories
|
|
||||||
|
|
||||||
The following directories will be created:
|
|
||||||
- ```~/Music```
|
|
||||||
- ```~/Documents```
|
|
||||||
- ```~/Pictures/wallpapers/others```
|
|
||||||
|
|
||||||
4. Copy the wallpapers
|
|
||||||
|
|
||||||
Then the wallpapers will be copied into ```~/Pictures/wallpapers/others``` which is the folder in which the ```wallpaper-picker.sh``` script will be looking for them.
|
|
||||||
|
|
||||||
5. Get the hardware configuration
|
|
||||||
|
|
||||||
It will also automatically copy the hardware configuration from ```/etc/nixos/hardware-configuration.nix``` to ```./hosts/nixos/hardware-configuration.nix``` so that the hardware configuration used is yours and not the default one.
|
|
||||||
|
|
||||||
6. Choose a host (desktop / laptop)
|
|
||||||
|
|
||||||
Now you will need to choose the host you want. It depend on whether you are using a desktop or laptop.
|
|
||||||
|
|
||||||
7. Build the system
|
|
||||||
|
|
||||||
Lastly, it will build the system, which includes both the flake config and home-manager config.
|
|
||||||
|
|
||||||
# 👥 Credits
|
# 👥 Credits
|
||||||
|
|
||||||
Other dotfiles that I learned / copy from:
|
Heavily based on [Frost-Phoenix's Flakes](https://github.com/Frost-Phoenix/nixos-config). And therefore, recursively, also:
|
||||||
|
|
||||||
- Nix Flakes
|
- Nix Flakes
|
||||||
- [nomadics9/NixOS-Flake](https://github.com/nomadics9/NixOS-Flake): This is where I start my nixos / hyprland journey.
|
- [nomadics9/NixOS-Flake](https://github.com/nomadics9/NixOS-Flake): This is where I start my nixos / hyprland journey.
|
||||||
|
@ -449,12 +233,7 @@ Other dotfiles that I learned / copy from:
|
||||||
- [sioodmy/dotfiles](https://github.com/sioodmy/dotfiles)
|
- [sioodmy/dotfiles](https://github.com/sioodmy/dotfiles)
|
||||||
- [Ruixi-rebirth/flakes](https://github.com/Ruixi-rebirth/flakes)
|
- [Ruixi-rebirth/flakes](https://github.com/Ruixi-rebirth/flakes)
|
||||||
|
|
||||||
|
Please open an issue if i forgot to credit you.
|
||||||
<!-- # ✨ Stars History -->
|
|
||||||
|
|
||||||
<!-- <p align="center"><img src="https://api.star-history.com/svg?repos=frost-phoenix/nixos-config&type=Timeline&theme=dark" /></p> -->
|
|
||||||
|
|
||||||
<p align="center"><img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/footers/gray0_ctp_on_line.svg?sanitize=true" /></p>
|
|
||||||
|
|
||||||
<!-- end of page, send back to the top -->
|
<!-- end of page, send back to the top -->
|
||||||
|
|
||||||
|
@ -473,8 +252,8 @@ Other dotfiles that I learned / copy from:
|
||||||
[yazi]: https://github.com/sxyazi/yazi
|
[yazi]: https://github.com/sxyazi/yazi
|
||||||
[zsh]: https://ohmyz.sh/
|
[zsh]: https://ohmyz.sh/
|
||||||
[oh-my-zsh]: https://ohmyz.sh/
|
[oh-my-zsh]: https://ohmyz.sh/
|
||||||
[Swaylock-effects]: https://github.com/mortie/swaylock-effects
|
[hyprlock]: https://github.com/hyprwm/hyprlock
|
||||||
[audacious]: https://audacious-media-player.org/
|
[spotify_player]: https://github.com/aome510/spotify-player
|
||||||
[mpv]: https://github.com/mpv-player/mpv
|
[mpv]: https://github.com/mpv-player/mpv
|
||||||
[VSCodium]:https://vscodium.com/
|
[VSCodium]:https://vscodium.com/
|
||||||
[Neovim]: https://github.com/neovim/neovim
|
[Neovim]: https://github.com/neovim/neovim
|
||||||
|
|
218
flake.lock
|
@ -91,7 +91,67 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"fjordlauncher": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": "flake-compat",
|
||||||
|
"flake-parts": "flake-parts",
|
||||||
|
"libnbtplusplus": "libnbtplusplus",
|
||||||
|
"nix-filter": "nix-filter",
|
||||||
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"pre-commit-hooks": "pre-commit-hooks"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1719962305,
|
||||||
|
"narHash": "sha256-LM+8y/cK4aLuWlqHGNhTaaVdIV6e9zCnc4ar3Ux/Q6U=",
|
||||||
|
"owner": "unmojang",
|
||||||
|
"repo": "FjordLauncher",
|
||||||
|
"rev": "a7cf31fd95a129d3246894747121a5e70a9bf431",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "unmojang",
|
||||||
|
"repo": "FjordLauncher",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-compat": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1696426674,
|
||||||
|
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "edolstra",
|
||||||
|
"repo": "flake-compat",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"flake-parts": {
|
"flake-parts": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs-lib": [
|
||||||
|
"fjordlauncher",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1719877454,
|
||||||
|
"narHash": "sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah+nxdImJqrSATjOU=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"rev": "4e3583423212f9303aa1a6337f8dffb415920e4f",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "flake-parts",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"flake-parts_2": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs-lib": "nixpkgs-lib"
|
"nixpkgs-lib": "nixpkgs-lib"
|
||||||
},
|
},
|
||||||
|
@ -125,6 +185,28 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"gitignore": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"fjordlauncher",
|
||||||
|
"pre-commit-hooks",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1709087332,
|
||||||
|
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "hercules-ci",
|
||||||
|
"repo": "gitignore.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
|
@ -132,11 +214,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719677234,
|
"lastModified": 1720188602,
|
||||||
"narHash": "sha256-qO9WZsj/0E6zcK4Ht1y/iJ8XfwbBzq7xdqhBh44OP/M=",
|
"narHash": "sha256-lC3byBmhVZFzWl/dCic8+cKUEEAXAswWOYjq4paFmbo=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "36317d4d38887f7629876b0e43c8d9593c5cc48d",
|
"rev": "e3582e5151498bc4d757e8361431ace8529e7bb7",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -147,7 +229,7 @@
|
||||||
},
|
},
|
||||||
"hypr-contrib": {
|
"hypr-contrib": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_2"
|
"nixpkgs": "nixpkgs_3"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718476555,
|
"lastModified": 1718476555,
|
||||||
|
@ -198,16 +280,16 @@
|
||||||
"hyprlang": "hyprlang",
|
"hyprlang": "hyprlang",
|
||||||
"hyprutils": "hyprutils",
|
"hyprutils": "hyprutils",
|
||||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"nixpkgs": "nixpkgs_4",
|
||||||
"systems": "systems",
|
"systems": "systems",
|
||||||
"xdph": "xdph"
|
"xdph": "xdph"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719684307,
|
"lastModified": 1720213509,
|
||||||
"narHash": "sha256-mpBw92WX8uqxRd4UWAHg4K6r33brYqDg8cpVXzr1NnQ=",
|
"narHash": "sha256-aPYf8Jnu1fMgMYMgQnH433/Fcqfky1Z5ZuzCkNKcR1U=",
|
||||||
"ref": "refs/heads/main",
|
"ref": "refs/heads/main",
|
||||||
"rev": "718afe271ecebfe6711453b9cfee90fa49a7e761",
|
"rev": "cc98594c3aed0b542e03818371a4636f549f80e1",
|
||||||
"revCount": 4897,
|
"revCount": 4908,
|
||||||
"submodules": true,
|
"submodules": true,
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/hyprwm/Hyprland"
|
"url": "https://github.com/hyprwm/Hyprland"
|
||||||
|
@ -276,14 +358,14 @@
|
||||||
},
|
},
|
||||||
"hyprpicker": {
|
"hyprpicker": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": "nixpkgs_4"
|
"nixpkgs": "nixpkgs_5"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1718119103,
|
"lastModified": 1719873934,
|
||||||
"narHash": "sha256-Ghtstc1LV2RkaQDwThGS2VfjHgYSvgk4+jsytDKYog0=",
|
"narHash": "sha256-2UiP64OYyeeQJnrt3opInzv8IJKeor9nUAoxl87anng=",
|
||||||
"owner": "hyprwm",
|
"owner": "hyprwm",
|
||||||
"repo": "hyprpicker",
|
"repo": "hyprpicker",
|
||||||
"rev": "67e0f34e2760a80d74ab5d8ec8d2acae692d307f",
|
"rev": "b0974381f996f92dc191e6b03adf7d581061619b",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -342,17 +424,48 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"libnbtplusplus": {
|
||||||
|
"flake": false,
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1699286814,
|
||||||
|
"narHash": "sha256-yy0q+bky80LtK1GWzz7qpM+aAGrOqLuewbid8WT1ilk=",
|
||||||
|
"owner": "PrismLauncher",
|
||||||
|
"repo": "libnbtplusplus",
|
||||||
|
"rev": "23b955121b8217c1c348a9ed2483167a6f3ff4ad",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "PrismLauncher",
|
||||||
|
"repo": "libnbtplusplus",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-filter": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1710156097,
|
||||||
|
"narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=",
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "nix-filter",
|
||||||
|
"rev": "3342559a24e85fc164b295c3444e8a139924675b",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "numtide",
|
||||||
|
"repo": "nix-filter",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"nix-gaming": {
|
"nix-gaming": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-parts": "flake-parts",
|
"flake-parts": "flake-parts_2",
|
||||||
"nixpkgs": "nixpkgs_5"
|
"nixpkgs": "nixpkgs_6"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719710498,
|
"lastModified": 1720185178,
|
||||||
"narHash": "sha256-+yqI1zvk1jNcNTWA3CGnp5N2jSXr/q/CggYZYvGsdNc=",
|
"narHash": "sha256-9KJ7KXQYDhnAfPIAvYYAEFW+85Gk9gm5W1pMoE/VMFg=",
|
||||||
"owner": "fufexan",
|
"owner": "fufexan",
|
||||||
"repo": "nix-gaming",
|
"repo": "nix-gaming",
|
||||||
"rev": "774908e566a0b3b702219fdf90a5ed4551b3688d",
|
"rev": "6caa391790442baea22260296041429fb365e0ce",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -390,6 +503,22 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1719826879,
|
||||||
|
"narHash": "sha256-xs7PlULe8O1SAcs/9e/HOjeUjBrU5FNtkAF/bSEcFto=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "b9014df496d5b68bf7c0145d0e9b0f529ce4f2a8",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixpkgs-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_3": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1712163089,
|
"lastModified": 1712163089,
|
||||||
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
|
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
|
||||||
|
@ -405,7 +534,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_3": {
|
"nixpkgs_4": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719075281,
|
"lastModified": 1719075281,
|
||||||
"narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=",
|
"narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=",
|
||||||
|
@ -421,7 +550,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_4": {
|
"nixpkgs_5": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1683014792,
|
"lastModified": 1683014792,
|
||||||
"narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=",
|
"narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=",
|
||||||
|
@ -437,7 +566,7 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_5": {
|
"nixpkgs_6": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719468428,
|
"lastModified": 1719468428,
|
||||||
"narHash": "sha256-vN5xJAZ4UGREEglh3lfbbkIj+MPEYMuqewMn4atZFaQ=",
|
"narHash": "sha256-vN5xJAZ4UGREEglh3lfbbkIj+MPEYMuqewMn4atZFaQ=",
|
||||||
|
@ -453,13 +582,13 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixpkgs_6": {
|
"nixpkgs_7": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719506693,
|
"lastModified": 1720031269,
|
||||||
"narHash": "sha256-C8e9S7RzshSdHB7L+v9I51af1gDM5unhJ2xO1ywxNH8=",
|
"narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "b2852eb9365c6de48ffb0dc2c9562591f652242a",
|
"rev": "9f4128e00b0ae8ec65918efeba59db998750ead6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -471,11 +600,11 @@
|
||||||
},
|
},
|
||||||
"nur": {
|
"nur": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1719733143,
|
"lastModified": 1720262786,
|
||||||
"narHash": "sha256-Q3gdHnH1HCLymN1OdvJqXhwX2xD0LCPL0G66hXK7O5o=",
|
"narHash": "sha256-lOw+DePpT6JEzudxzq/yhDqWW9fOga9vrojV2E1DgAs=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "NUR",
|
"repo": "NUR",
|
||||||
"rev": "cfef8e13dde1c1679d6d1781d942b4ab0203e0d2",
|
"rev": "7907d743f2a29c574db99f3297da264fe5fe7a6e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -484,18 +613,49 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"pre-commit-hooks": {
|
||||||
|
"inputs": {
|
||||||
|
"flake-compat": [
|
||||||
|
"fjordlauncher",
|
||||||
|
"flake-compat"
|
||||||
|
],
|
||||||
|
"gitignore": "gitignore",
|
||||||
|
"nixpkgs": [
|
||||||
|
"fjordlauncher",
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": [
|
||||||
|
"fjordlauncher",
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1719259945,
|
||||||
|
"narHash": "sha256-F1h+XIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4=",
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "pre-commit-hooks.nix",
|
||||||
|
"rev": "0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "cachix",
|
||||||
|
"repo": "pre-commit-hooks.nix",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"alejandra": "alejandra",
|
"alejandra": "alejandra",
|
||||||
"catppuccin-bat": "catppuccin-bat",
|
"catppuccin-bat": "catppuccin-bat",
|
||||||
"catppuccin-cava": "catppuccin-cava",
|
"catppuccin-cava": "catppuccin-cava",
|
||||||
"catppuccin-starship": "catppuccin-starship",
|
"catppuccin-starship": "catppuccin-starship",
|
||||||
|
"fjordlauncher": "fjordlauncher",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"hypr-contrib": "hypr-contrib",
|
"hypr-contrib": "hypr-contrib",
|
||||||
"hyprland": "hyprland",
|
"hyprland": "hyprland",
|
||||||
"hyprpicker": "hyprpicker",
|
"hyprpicker": "hyprpicker",
|
||||||
"nix-gaming": "nix-gaming",
|
"nix-gaming": "nix-gaming",
|
||||||
"nixpkgs": "nixpkgs_6",
|
"nixpkgs": "nixpkgs_7",
|
||||||
"nur": "nur"
|
"nur": "nur"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
55
flake.nix
|
@ -1,23 +1,25 @@
|
||||||
{
|
{
|
||||||
description = "FrostPhoenix's nixos configuration";
|
description = "peprolinbot's nixos configuration";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
nur.url = "github:nix-community/NUR";
|
nur.url = "github:nix-community/NUR";
|
||||||
|
|
||||||
hypr-contrib.url = "github:hyprwm/contrib";
|
hypr-contrib.url = "github:hyprwm/contrib";
|
||||||
hyprpicker.url = "github:hyprwm/hyprpicker";
|
hyprpicker.url = "github:hyprwm/hyprpicker";
|
||||||
|
|
||||||
alejandra.url = "github:kamadorueda/alejandra/3.0.0";
|
alejandra.url = "github:kamadorueda/alejandra/3.0.0";
|
||||||
|
|
||||||
nix-gaming.url = "github:fufexan/nix-gaming";
|
nix-gaming.url = "github:fufexan/nix-gaming";
|
||||||
|
|
||||||
|
fjordlauncher.url = "github:unmojang/FjordLauncher";
|
||||||
|
|
||||||
hyprland = {
|
hyprland = {
|
||||||
type = "git";
|
type = "git";
|
||||||
url = "https://github.com/hyprwm/Hyprland";
|
url = "https://github.com/hyprwm/Hyprland";
|
||||||
submodules = true;
|
submodules = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
@ -37,34 +39,43 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { nixpkgs, self, ...} @ inputs:
|
outputs = {
|
||||||
let
|
nixpkgs,
|
||||||
selfPkgs = import ./pkgs;
|
self,
|
||||||
username = "frostphoenix";
|
...
|
||||||
|
} @ inputs: let
|
||||||
|
username = "pedro";
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
config.allowUnfree = true;
|
config.allowUnfree = true;
|
||||||
};
|
};
|
||||||
lib = nixpkgs.lib;
|
lib = nixpkgs.lib;
|
||||||
in
|
in {
|
||||||
{
|
|
||||||
overlays.default = selfPkgs.overlay;
|
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
desktop = nixpkgs.lib.nixosSystem {
|
frues-pc = nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = [ (import ./hosts/desktop) ];
|
modules = [(import ./hosts/frues-pc)];
|
||||||
specialArgs = { host="desktop"; inherit self inputs username ; };
|
specialArgs = {
|
||||||
|
host = "frues-pc";
|
||||||
|
inherit self inputs username;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
laptop = nixpkgs.lib.nixosSystem {
|
frues-port = nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = [ (import ./hosts/laptop) ];
|
modules = [(import ./hosts/frues-port)];
|
||||||
specialArgs = { host="laptop"; inherit self inputs username ; };
|
specialArgs = {
|
||||||
|
host = "frues-port";
|
||||||
|
inherit self inputs username;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
vm = nixpkgs.lib.nixosSystem {
|
frues-vm = nixpkgs.lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
modules = [ (import ./hosts/vm) ];
|
modules = [(import ./hosts/frues-vm)];
|
||||||
specialArgs = { host="vm"; inherit self inputs username ; };
|
specialArgs = {
|
||||||
|
host = "frues-vm";
|
||||||
|
inherit self inputs username;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,9 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
./../../modules/core
|
|
||||||
];
|
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = "performance";
|
|
||||||
}
|
|
|
@ -1,41 +0,0 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
|
||||||
# and may be overwritten by future invocations. Please make changes
|
|
||||||
# to /etc/nixos/configuration.nix instead.
|
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
imports =
|
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
|
||||||
boot.initrd.kernelModules = [ ];
|
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
|
||||||
boot.extraModulePackages = [ ];
|
|
||||||
|
|
||||||
fileSystems."/" =
|
|
||||||
{ device = "/dev/disk/by-uuid/6b518d54-a144-42fe-b500-b6651038bbcc";
|
|
||||||
fsType = "ext4";
|
|
||||||
};
|
|
||||||
|
|
||||||
fileSystems."/boot" =
|
|
||||||
{ device = "/dev/disk/by-uuid/D1A5-9B92";
|
|
||||||
fsType = "vfat";
|
|
||||||
};
|
|
||||||
|
|
||||||
swapDevices =
|
|
||||||
[ { device = "/dev/disk/by-uuid/2d69abc2-3d44-481b-ada8-b436c2b9c8c2"; }
|
|
||||||
];
|
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
|
||||||
# still possible to use this option, but it's recommended to use it in conjunction
|
|
||||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
|
||||||
networking.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.enp0s31f6.useDHCP = lib.mkDefault true;
|
|
||||||
# networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
|
|
||||||
|
|
||||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
|
19
hosts/frues-pc/default.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
./../../modules/core
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = "frues-pc";
|
||||||
|
|
||||||
|
powerManagement.cpuFreqGovernor = "performance";
|
||||||
|
|
||||||
|
hardware.ckb-next.enable = true;
|
||||||
|
|
||||||
|
boot.initrd.kernelModules = ["amdgpu"];
|
||||||
|
services.xserver.videoDrivers = ["amdgpu"];
|
||||||
|
hardware.graphics.extraPackages = with pkgs; [
|
||||||
|
rocmPackages.clr.icd
|
||||||
|
amdvlk
|
||||||
|
];
|
||||||
|
}
|
57
hosts/frues-pc/hardware-configuration.nix
Normal file
|
@ -0,0 +1,57 @@
|
||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usb_storage" "usbhid" "sd_mod"];
|
||||||
|
boot.initrd.kernelModules = ["dm-snapshot"];
|
||||||
|
boot.kernelModules = ["kvm-amd"];
|
||||||
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
|
fileSystems."/" = {
|
||||||
|
device = "/dev/disk/by-uuid/120da0bc-6419-42f0-b47f-11aa2e1a7058";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.initrd.luks.devices."sda6_crypt".device = "/dev/disk/by-uuid/5fd8e7a0-88be-4779-a52b-01b8888219a6";
|
||||||
|
|
||||||
|
fileSystems."/home" = {
|
||||||
|
device = "/dev/disk/by-uuid/7cf15f3c-bf94-470e-96a4-ef537ea934cd";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
boot.initrd.luks.devices."sdb2_crypt".device = "/dev/disk/by-uuid/0deeb53b-3885-4a4f-be6d-28a48b6af052";
|
||||||
|
|
||||||
|
fileSystems."/boot" = {
|
||||||
|
device = "/dev/disk/by-uuid/9b01cae4-e5cd-4059-bf31-af746216fbef";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot/efi" = {
|
||||||
|
device = "/dev/disk/by-uuid/A606-4C72";
|
||||||
|
fsType = "vfat";
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [
|
||||||
|
{device = "/dev/disk/by-uuid/98cf8cbb-8d39-45af-8143-326d24b65960";}
|
||||||
|
];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp7s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
}
|
|
@ -1,22 +1,27 @@
|
||||||
{ pkgs, config, ... }:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./../../modules/core
|
./../../modules/core
|
||||||
];
|
];
|
||||||
|
|
||||||
|
networking.hostName = "frues-port";
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
acpi
|
acpi
|
||||||
brightnessctl
|
brightnessctl
|
||||||
cpupower-gui
|
cpupower-gui
|
||||||
powertop
|
powertop
|
||||||
];
|
];
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
# thermald.enable = true;
|
# thermald.enable = true;
|
||||||
# cpupower-gui.enable = true;
|
# cpupower-gui.enable = true;
|
||||||
power-profiles-daemon.enable = true;
|
power-profiles-daemon.enable = true;
|
||||||
|
|
||||||
upower = {
|
upower = {
|
||||||
enable = true;
|
enable = true;
|
||||||
percentageLow = 20;
|
percentageLow = 20;
|
|
@ -1,31 +1,35 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/installer/scan/not-detected.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "usb_storage" "sd_mod" ];
|
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "usb_storage" "sd_mod"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/761317bf-c727-4d12-b663-bc8eaa0227cc";
|
device = "/dev/disk/by-uuid/761317bf-c727-4d12-b663-bc8eaa0227cc";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/boot" =
|
fileSystems."/boot" = {
|
||||||
{ device = "/dev/disk/by-uuid/A00C-17CE";
|
device = "/dev/disk/by-uuid/A00C-17CE";
|
||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices =
|
swapDevices = [
|
||||||
[ { device = "/dev/disk/by-uuid/f9c078c5-d71f-4373-8e11-c6240617e9c2"; }
|
{device = "/dev/disk/by-uuid/f9c078c5-d71f-4373-8e11-c6240617e9c2";}
|
||||||
];
|
];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
24
hosts/frues-vm/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
./../../modules/core
|
||||||
|
];
|
||||||
|
|
||||||
|
networking.hostName = "frues-vm";
|
||||||
|
|
||||||
|
# allow local remote access to make it easier to toy around with the system
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
ports = [22];
|
||||||
|
settings = {
|
||||||
|
PasswordAuthentication = true;
|
||||||
|
AllowUsers = null;
|
||||||
|
PermitRootLogin = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -1,24 +1,28 @@
|
||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, pkgs, modulesPath, ... }:
|
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
config,
|
||||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
lib,
|
||||||
];
|
pkgs,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [
|
||||||
|
(modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk"];
|
||||||
boot.initrd.kernelModules = [ ];
|
boot.initrd.kernelModules = [];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = ["kvm-intel"];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [];
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" = {
|
||||||
{ device = "/dev/disk/by-uuid/631775ef-6851-4fe7-997f-189372f87437";
|
device = "/dev/disk/by-uuid/631775ef-6851-4fe7-997f-189372f87437";
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [];
|
||||||
|
|
||||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
|
@ -1,26 +0,0 @@
|
||||||
{ pkgs, config, lib, ... }:
|
|
||||||
{
|
|
||||||
imports = [
|
|
||||||
./hardware-configuration.nix
|
|
||||||
./../../modules/core
|
|
||||||
];
|
|
||||||
|
|
||||||
# kvm/qemu doesn't use UEFI firmware mode by default.
|
|
||||||
# so we force-override the setting here
|
|
||||||
# and configure GRUB instead.
|
|
||||||
boot.loader.systemd-boot.enable = lib.mkForce false;
|
|
||||||
boot.loader.grub.enable = true;
|
|
||||||
boot.loader.grub.device = "/dev/vda";
|
|
||||||
boot.loader.grub.useOSProber = false;
|
|
||||||
|
|
||||||
# allow local remote access to make it easier to toy around with the system
|
|
||||||
services.openssh = {
|
|
||||||
enable = true;
|
|
||||||
ports = [22];
|
|
||||||
settings = {
|
|
||||||
PasswordAuthentication = true;
|
|
||||||
AllowUsers = null;
|
|
||||||
PermitRootLogin = "yes";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
134
install.sh
|
@ -1,134 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
init() {
|
|
||||||
# Vars
|
|
||||||
CURRENT_USERNAME='frostphoenix'
|
|
||||||
|
|
||||||
# Colors
|
|
||||||
NORMAL=$(tput sgr0)
|
|
||||||
WHITE=$(tput setaf 7)
|
|
||||||
BLACK=$(tput setaf 0)
|
|
||||||
RED=$(tput setaf 1)
|
|
||||||
GREEN=$(tput setaf 2)
|
|
||||||
YELLOW=$(tput setaf 3)
|
|
||||||
BLUE=$(tput setaf 4)
|
|
||||||
MAGENTA=$(tput setaf 5)
|
|
||||||
CYAN=$(tput setaf 6)
|
|
||||||
BRIGHT=$(tput bold)
|
|
||||||
UNDERLINE=$(tput smul)
|
|
||||||
}
|
|
||||||
|
|
||||||
confirm() {
|
|
||||||
echo -en "[${GREEN}y${NORMAL}/${RED}n${NORMAL}]: "
|
|
||||||
read -n 1 -r
|
|
||||||
echo
|
|
||||||
if [[ ! $REPLY =~ ^[Yy]$ ]]
|
|
||||||
then
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
print_header() {
|
|
||||||
echo -E "$CYAN
|
|
||||||
_____ _ ____ _ _
|
|
||||||
| ___| __ ___ ___| |_| _ \| |__ ___ ___ _ __ (_)_ __
|
|
||||||
| |_ | '__/ _ \/ __| __| |_) | '_ \ / _ \ / _ \ '_ \| \ \/ /
|
|
||||||
| _|| | | (_) \__ \ |_| __/| | | | (_) | __/ | | | |> <
|
|
||||||
|_| |_| \___/|___/\__|_| |_| |_|\___/ \___|_| |_|_/_/\_\
|
|
||||||
_ _ _ ___ ___ _ _ _
|
|
||||||
| \ | (_)_ __/ _ \ ___ |_ _|_ __ ___| |_ __ _| | | ___ _ __
|
|
||||||
| \| | \ \/ / | | / __| | || '_ \/ __| __/ _' | | |/ _ \ '__|
|
|
||||||
| |\ | |> <| |_| \__ \ | || | | \__ \ || (_| | | | __/ |
|
|
||||||
|_| \_|_/_/\_\\\\___/|___/ |___|_| |_|___/\__\__,_|_|_|\___|_|
|
|
||||||
|
|
||||||
|
|
||||||
$BLUE https://github.com/Frost-Phoenix $RED
|
|
||||||
! To make sure everything runs correctly DONT run as root ! $GREEN
|
|
||||||
-> '"./install.sh"' $NORMAL
|
|
||||||
|
|
||||||
"
|
|
||||||
}
|
|
||||||
|
|
||||||
get_username() {
|
|
||||||
echo -en "Enter your$GREEN username$NORMAL : $YELLOW"
|
|
||||||
read username
|
|
||||||
echo -en "$NORMAL"
|
|
||||||
echo -en "Use$YELLOW "$username"$NORMAL as ${GREEN}username${NORMAL} ? "
|
|
||||||
confirm
|
|
||||||
}
|
|
||||||
|
|
||||||
set_username() {
|
|
||||||
sed -i -e "s/${CURRENT_USERNAME}/${username}/g" ./flake.nix
|
|
||||||
sed -i -e "s/${CURRENT_USERNAME}/${username}/g" ./modules/home/audacious/config
|
|
||||||
}
|
|
||||||
|
|
||||||
get_host() {
|
|
||||||
echo -en "Choose a ${GREEN}host${NORMAL} - [${YELLOW}D${NORMAL}]esktop, [${YELLOW}L${NORMAL}]aptop or [${YELLOW}V${NORMAL}]irtual machine: "
|
|
||||||
read -n 1 -r
|
|
||||||
echo
|
|
||||||
|
|
||||||
if [[ $REPLY =~ ^[Dd]$ ]]; then
|
|
||||||
HOST='desktop'
|
|
||||||
elif [[ $REPLY =~ ^[Ll]$ ]]; then
|
|
||||||
HOST='laptop'
|
|
||||||
elif [[ $REPLY =~ ^[Vv]$ ]]; then
|
|
||||||
HOST='vm'
|
|
||||||
else
|
|
||||||
echo "Invalid choice. Please select 'D' for desktop, 'L' for laptop or 'V' for virtual machine."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo -en "$NORMAL"
|
|
||||||
echo -en "Use the$YELLOW "$HOST"$NORMAL ${GREEN}host${NORMAL} ? "
|
|
||||||
confirm
|
|
||||||
}
|
|
||||||
|
|
||||||
install() {
|
|
||||||
echo -e "\n${RED}START INSTALL PHASE${NORMAL}\n"
|
|
||||||
sleep 0.2
|
|
||||||
|
|
||||||
# Create basic directories
|
|
||||||
echo -e "Creating folders:"
|
|
||||||
echo -e " - ${MAGENTA}~/Music${NORMAL}"
|
|
||||||
echo -e " - ${MAGENTA}~/Documents${NORMAL}"
|
|
||||||
echo -e " - ${MAGENTA}~/Pictures/wallpapers/others${NORMAL}"
|
|
||||||
mkdir -p ~/Music
|
|
||||||
mkdir -p ~/Documents
|
|
||||||
mkdir -p ~/Pictures/wallpapers/others
|
|
||||||
sleep 0.2
|
|
||||||
|
|
||||||
# Copy the wallpapers
|
|
||||||
echo -e "Copying all ${MAGENTA}wallpapers${NORMAL}"
|
|
||||||
cp -r wallpapers/wallpaper.png ~/Pictures/wallpapers
|
|
||||||
cp -r wallpapers/otherWallpaper/catppuccin/* ~/Pictures/wallpapers/others/
|
|
||||||
cp -r wallpapers/otherWallpaper/nixos/* ~/Pictures/wallpapers/others/
|
|
||||||
cp -r wallpapers/otherWallpaper/others/* ~/Pictures/wallpapers/others/
|
|
||||||
sleep 0.2
|
|
||||||
|
|
||||||
# Get the hardware configuration
|
|
||||||
echo -e "Copying ${MAGENTA}/etc/nixos/hardware-configuration.nix${NORMAL} to ${MAGENTA}./hosts/${HOST}/${NORMAL}\n"
|
|
||||||
cp /etc/nixos/hardware-configuration.nix hosts/${HOST}/hardware-configuration.nix
|
|
||||||
sleep 0.2
|
|
||||||
|
|
||||||
# Last Confirmation
|
|
||||||
echo -en "You are about to start the system build, do you want to process ? "
|
|
||||||
confirm
|
|
||||||
|
|
||||||
# Build the system (flakes + home manager)
|
|
||||||
echo -e "\nBuilding the system...\n"
|
|
||||||
sudo nixos-rebuild switch --flake .#${HOST}
|
|
||||||
}
|
|
||||||
|
|
||||||
main() {
|
|
||||||
init
|
|
||||||
|
|
||||||
print_header
|
|
||||||
|
|
||||||
get_username
|
|
||||||
set_username
|
|
||||||
get_host
|
|
||||||
|
|
||||||
install
|
|
||||||
}
|
|
||||||
|
|
||||||
main && exit 0
|
|
|
@ -1,7 +1,14 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
boot.loader = {
|
||||||
boot.loader.systemd-boot.enable = true;
|
efi = {
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
canTouchEfiVariables = true;
|
||||||
boot.loader.systemd-boot.configurationLimit = 10;
|
efiSysMountPoint = "/boot/efi";
|
||||||
|
};
|
||||||
|
grub = {
|
||||||
|
efiSupport = true;
|
||||||
|
device = "nodev";
|
||||||
|
useOSProber = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,24 @@
|
||||||
{ inputs, nixpkgs, self, username, host, ...}:
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
nixpkgs,
|
||||||
|
self,
|
||||||
|
username,
|
||||||
|
host,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports =
|
imports =
|
||||||
[ (import ./bootloader.nix) ]
|
[(import ./bootloader.nix)]
|
||||||
++ [ (import ./hardware.nix) ]
|
++ [(import ./hardware.nix)]
|
||||||
++ [ (import ./xserver.nix) ]
|
++ [(import ./xserver.nix)]
|
||||||
++ [ (import ./network.nix) ]
|
++ [(import ./network.nix)]
|
||||||
++ [ (import ./pipewire.nix) ]
|
++ [(import ./pipewire.nix)]
|
||||||
++ [ (import ./program.nix) ]
|
++ [(import ./programs.nix)]
|
||||||
++ [ (import ./security.nix) ]
|
++ [(import ./security.nix)]
|
||||||
++ [ (import ./services.nix) ]
|
++ [(import ./services.nix)]
|
||||||
++ [ (import ./system.nix) ]
|
++ [(import ./gaming.nix)]
|
||||||
++ [ (import ./user.nix) ]
|
++ [(import ./system.nix)]
|
||||||
++ [ (import ./wayland.nix) ]
|
++ [(import ./user.nix)]
|
||||||
++ [ (import ./virtualization.nix) ];
|
++ [(import ./wayland.nix)]
|
||||||
|
++ [(import ./variables.nix)]
|
||||||
|
++ [(import ./virtualisation.nix)];
|
||||||
}
|
}
|
||||||
|
|
14
modules/core/gaming.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
programs.steam = {
|
||||||
|
enable = true;
|
||||||
|
remotePlay.openFirewall = true;
|
||||||
|
dedicatedServer.openFirewall = false;
|
||||||
|
};
|
||||||
|
programs.gamemode.enable = true;
|
||||||
|
|
||||||
|
services.joycond.enable = true;
|
||||||
|
}
|
|
@ -1,12 +1,14 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
hardware = {
|
hardware = {
|
||||||
graphics = {
|
graphics = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
|
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
|
hardware.flipperzero.enable = true; # Installs and setups everything Flipper Zero
|
||||||
|
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +1,14 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "nixos";
|
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
nameservers = [ "1.1.1.1" ];
|
nameservers = ["1.1.1.1"];
|
||||||
firewall = {
|
firewall = {
|
||||||
enable = true;
|
enable = true;
|
||||||
allowedTCPPorts = [ 22 80 443 59010 59011 ];
|
allowedTCPPorts = [22 80 443 59010 59011];
|
||||||
allowedUDPPorts = [ 59010 59011 ];
|
allowedUDPPorts = [59010 59011];
|
||||||
# allowedUDPPortRanges = [
|
# allowedUDPPortRanges = [
|
||||||
# { from = 4000; to = 4007; }
|
# { from = 4000; to = 4007; }
|
||||||
# { from = 8000; to = 8010; }
|
# { from = 8000; to = 8010; }
|
||||||
# ];
|
# ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
sound.enable = true;
|
sound.enable = true;
|
||||||
hardware.pulseaudio.enable = false;
|
hardware.pulseaudio.enable = false;
|
||||||
services.pipewire = {
|
services.pipewire = {
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
programs.zsh.enable = true;
|
programs.zsh.enable = true;
|
||||||
programs.gnupg.agent = {
|
programs.gnupg.agent = {
|
||||||
|
@ -9,4 +12,5 @@
|
||||||
};
|
};
|
||||||
programs.nix-ld.enable = true;
|
programs.nix-ld.enable = true;
|
||||||
programs.nix-ld.libraries = with pkgs; [];
|
programs.nix-ld.libraries = with pkgs; [];
|
||||||
|
programs.adb.enable = true;
|
||||||
}
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
{ ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
security.rtkit.enable = true;
|
security.rtkit.enable = true;
|
||||||
security.sudo.enable = true;
|
security.sudo.enable = true;
|
||||||
|
security.sudo.package = pkgs.sudo.override {withInsults = true;}; # I'm spanish and I love cursing
|
||||||
# security.pam.services.swaylock = { };
|
# security.pam.services.swaylock = { };
|
||||||
security.pam.services.hyprlock = {};
|
security.pam.services.hyprlock = {};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,10 +1,17 @@
|
||||||
{ ... }:
|
{...}: {
|
||||||
{
|
|
||||||
services = {
|
services = {
|
||||||
gvfs.enable = true;
|
gvfs.enable = true;
|
||||||
gnome.gnome-keyring.enable = true;
|
gnome.gnome-keyring.enable = true;
|
||||||
dbus.enable = true;
|
dbus.enable = true;
|
||||||
fstrim.enable = true;
|
fstrim.enable = true;
|
||||||
|
flatpak.enable = true;
|
||||||
|
printing.enable = true;
|
||||||
|
blueman.enable = true;
|
||||||
|
avahi = {
|
||||||
|
enable = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
services.logind.extraConfig = ''
|
services.logind.extraConfig = ''
|
||||||
# don’t shutdown when power button is short-pressed
|
# don’t shutdown when power button is short-pressed
|
||||||
|
|
|
@ -1,12 +1,17 @@
|
||||||
{ self, pkgs, lib, inputs, ...}:
|
|
||||||
{
|
{
|
||||||
|
self,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
# imports = [ inputs.nix-gaming.nixosModules.default ];
|
# imports = [ inputs.nix-gaming.nixosModules.default ];
|
||||||
nix = {
|
nix = {
|
||||||
settings = {
|
settings = {
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
experimental-features = [ "nix-command" "flakes" ];
|
experimental-features = ["nix-command" "flakes"];
|
||||||
substituters = [ "https://nix-gaming.cachix.org" ];
|
substituters = ["https://nix-gaming.cachix.org"];
|
||||||
trusted-public-keys = [ "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" ];
|
trusted-public-keys = ["nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="];
|
||||||
};
|
};
|
||||||
gc = {
|
gc = {
|
||||||
automatic = true;
|
automatic = true;
|
||||||
|
@ -16,7 +21,6 @@
|
||||||
};
|
};
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
overlays = [
|
overlays = [
|
||||||
self.overlays.default
|
|
||||||
inputs.nur.overlay
|
inputs.nur.overlay
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
@ -24,9 +28,17 @@
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
wget
|
wget
|
||||||
git
|
git
|
||||||
|
ddcutil
|
||||||
];
|
];
|
||||||
|
|
||||||
time.timeZone = "Europe/Paris";
|
# For ddcutil brightness control
|
||||||
|
boot.kernelModules = ["i2c-dev"];
|
||||||
|
services.udev.extraRules = ''
|
||||||
|
KERNEL=="i2c-[0-9]*", GROUP="i2c", MODE="0660"
|
||||||
|
'';
|
||||||
|
|
||||||
|
time.timeZone = "Europe/Madrid";
|
||||||
|
console.keyMap = "es";
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
|
|
|
@ -1,15 +1,17 @@
|
||||||
{ pkgs, inputs, username, host, ...}:
|
|
||||||
{
|
{
|
||||||
imports = [ inputs.home-manager.nixosModules.home-manager ];
|
pkgs,
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
host,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
imports = [inputs.home-manager.nixosModules.home-manager];
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
extraSpecialArgs = { inherit inputs username host; };
|
extraSpecialArgs = {inherit inputs username host;};
|
||||||
users.${username} = {
|
users.${username} = {
|
||||||
imports =
|
imports = [./../home];
|
||||||
if (host == "desktop") then
|
|
||||||
[ ./../home/default.desktop.nix ]
|
|
||||||
else [ ./../home ];
|
|
||||||
home.username = "${username}";
|
home.username = "${username}";
|
||||||
home.homeDirectory = "/home/${username}";
|
home.homeDirectory = "/home/${username}";
|
||||||
home.stateVersion = "24.05";
|
home.stateVersion = "24.05";
|
||||||
|
@ -20,8 +22,8 @@
|
||||||
users.users.${username} = {
|
users.users.${username} = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "${username}";
|
description = "${username}";
|
||||||
extraGroups = [ "networkmanager" "wheel" ];
|
extraGroups = ["networkmanager" "wheel" "i2c" "libvirtd" "adbusers"];
|
||||||
shell = pkgs.zsh;
|
shell = pkgs.zsh;
|
||||||
};
|
};
|
||||||
nix.settings.allowed-users = [ "${username}" ];
|
nix.settings.allowed-users = ["${username}"];
|
||||||
}
|
}
|
||||||
|
|
4
modules/core/variables.nix
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
{...}: {
|
||||||
|
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||||
|
environment.sessionVariables.XKB_DEFAULT_LAYOUT = "es";
|
||||||
|
}
|
47
modules/core/virtualisation.nix
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
# Add user to libvirtd group
|
||||||
|
users.users.${username}.extraGroups = ["libvirtd"];
|
||||||
|
|
||||||
|
# Install necessary packages
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
podman-compose
|
||||||
|
virt-manager
|
||||||
|
virt-viewer
|
||||||
|
spice
|
||||||
|
spice-gtk
|
||||||
|
spice-protocol
|
||||||
|
win-virtio
|
||||||
|
win-spice
|
||||||
|
adwaita-icon-theme
|
||||||
|
];
|
||||||
|
|
||||||
|
# Manage the virtualisation services
|
||||||
|
virtualisation = {
|
||||||
|
waydroid.enable = true;
|
||||||
|
|
||||||
|
podman = {
|
||||||
|
enable = true;
|
||||||
|
# Create a `docker` alias for podman, to use it as a drop-in replacement
|
||||||
|
dockerCompat = true;
|
||||||
|
# Required for containers under podman-compose to be able to talk to each other.
|
||||||
|
defaultNetwork.settings.dns_enabled = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
libvirtd = {
|
||||||
|
enable = true;
|
||||||
|
qemu = {
|
||||||
|
swtpm.enable = true;
|
||||||
|
ovmf.enable = true;
|
||||||
|
ovmf.packages = [pkgs.OVMFFull.fd];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
spiceUSBRedirection.enable = true;
|
||||||
|
};
|
||||||
|
services.spice-vdagentd.enable = true;
|
||||||
|
}
|
|
@ -1,30 +0,0 @@
|
||||||
{ config, pkgs, username, ... }:
|
|
||||||
{
|
|
||||||
# Add user to libvirtd group
|
|
||||||
users.users.${username}.extraGroups = [ "libvirtd" ];
|
|
||||||
|
|
||||||
# Install necessary packages
|
|
||||||
environment.systemPackages = with pkgs; [
|
|
||||||
virt-manager
|
|
||||||
virt-viewer
|
|
||||||
spice spice-gtk
|
|
||||||
spice-protocol
|
|
||||||
win-virtio
|
|
||||||
win-spice
|
|
||||||
gnome.adwaita-icon-theme
|
|
||||||
];
|
|
||||||
|
|
||||||
# Manage the virtualisation services
|
|
||||||
virtualisation = {
|
|
||||||
libvirtd = {
|
|
||||||
enable = true;
|
|
||||||
qemu = {
|
|
||||||
swtpm.enable = true;
|
|
||||||
ovmf.enable = true;
|
|
||||||
ovmf.packages = [ pkgs.OVMFFull.fd ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
spiceUSBRedirection.enable = true;
|
|
||||||
};
|
|
||||||
services.spice-vdagentd.enable = true;
|
|
||||||
}
|
|
|
@ -1,5 +1,8 @@
|
||||||
{ inputs, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.hyprland.enable = true;
|
programs.hyprland.enable = true;
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -14,4 +17,12 @@
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
# xwaylandvideobridge
|
# xwaylandvideobridge
|
||||||
];
|
];
|
||||||
|
|
||||||
|
# Display manager
|
||||||
|
programs.regreet = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
background.path = pkgs.nixos-artwork.wallpapers.simple-dark-gray-bottom.gnomeFilePath;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
{ pkgs, username, ... }:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
username,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
services = {
|
services = {
|
||||||
xserver = {
|
xserver = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xkb.layout = "us,fr";
|
xkb.layout = "es,us";
|
||||||
};
|
};
|
||||||
|
|
||||||
displayManager.autoLogin = {
|
displayManager.autoLogin = {
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = (with pkgs; [ aseprite ]);
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = (with pkgs; [ audacious ]);
|
|
||||||
xdg.configFile."audacious/config".source = ./config;
|
|
||||||
}
|
|
|
@ -1,23 +0,0 @@
|
||||||
[audacious]
|
|
||||||
equalizer_active=TRUE
|
|
||||||
equalizer_bands=-1,1,2,2,1,0,0,-1,-1,-1
|
|
||||||
soft_clipping=TRUE
|
|
||||||
|
|
||||||
[audgui]
|
|
||||||
filesel_path=/home/frostphoenix/Music
|
|
||||||
|
|
||||||
[audqt]
|
|
||||||
icon_theme=audacious-flat-dark
|
|
||||||
theme=dark
|
|
||||||
|
|
||||||
[pipewire]
|
|
||||||
volume_left=35
|
|
||||||
volume_right=35
|
|
||||||
|
|
||||||
[qtui]
|
|
||||||
column_widths=25,25,275,175,50,175,175,25,100,28,75,275,275,275,75,275,175
|
|
||||||
menu_visible=FALSE
|
|
||||||
player_height=581
|
|
||||||
player_width=941
|
|
||||||
playlist_headers=FALSE
|
|
||||||
playlist_headers_bold=TRUE
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ inputs, ... }:
|
{inputs, ...}: {
|
||||||
{
|
|
||||||
programs.bat = {
|
programs.bat = {
|
||||||
enable = true;
|
enable = true;
|
||||||
config = {
|
config = {
|
||||||
|
@ -7,4 +6,4 @@
|
||||||
theme = "Dracula";
|
theme = "Dracula";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
programs.btop = {
|
programs.btop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
color_theme = "dracula";
|
color_theme = "dracula";
|
||||||
theme_background = false;
|
theme_background = false;
|
||||||
|
@ -10,5 +9,5 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.packages = (with pkgs; [ nvtopPackages.intel ]);
|
home.packages = with pkgs; [nvtopPackages.intel];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,16 @@
|
||||||
{ inputs, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.cava = {
|
programs.cava = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
# https://github.com/catppuccin/cava
|
# https://github.com/catppuccin/cava
|
||||||
home.file.".config/cava/config".text = ''
|
home.file.".config/cava/config".text =
|
||||||
# custom cava config
|
''
|
||||||
'' + builtins.readFile "${inputs.catppuccin-cava}/themes/mocha.cava";
|
# custom cava config
|
||||||
|
''
|
||||||
|
+ builtins.readFile "${inputs.catppuccin-cava}/themes/mocha.cava";
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
{inputs, username, host, ...}: {
|
|
||||||
imports =
|
|
||||||
[(import ./default.nix)];
|
|
||||||
# ++ [(import ./rider.nix)] # C# JetBrain editor
|
|
||||||
# ++ [(import ./steam.nix)]
|
|
||||||
# ++ [(import ./unity.nix)];
|
|
||||||
}
|
|
|
@ -1,27 +1,29 @@
|
||||||
{inputs, username, host, ...}: {
|
{
|
||||||
|
inputs,
|
||||||
|
username,
|
||||||
|
host,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
imports =
|
imports =
|
||||||
[(import ./aseprite/aseprite.nix)] # pixel art editor
|
[(import ./bat.nix)] # better cat command
|
||||||
++ [(import ./audacious/audacious.nix)] # music player
|
++ [(import ./btop.nix)] # resouces monitor
|
||||||
++ [(import ./bat.nix)] # better cat command
|
++ [(import ./cava.nix)] # audio visualizer
|
||||||
++ [(import ./btop.nix)] # resouces monitor
|
++ [(import ./discord.nix)] # discord with catppuccin theme
|
||||||
++ [(import ./cava.nix)] # audio visualizer
|
++ [(import ./floorp/floorp.nix)] # firefox based browser
|
||||||
++ [(import ./discord.nix)] # discord with catppuccin theme
|
++ [(import ./fuzzel.nix)] # launcher
|
||||||
++ [(import ./floorp/floorp.nix)] # firefox based browser
|
++ [(import ./gaming.nix)] # packages related to gaming
|
||||||
++ [(import ./fuzzel.nix)] # launcher
|
++ [(import ./git.nix)] # version control
|
||||||
++ [(import ./gaming.nix)] # packages related to gaming
|
++ [(import ./gtk.nix)] # gtk theme
|
||||||
++ [(import ./git.nix)] # version control
|
++ [(import ./hyprland)] # window manager
|
||||||
++ [(import ./gtk.nix)] # gtk theme
|
++ [(import ./kitty.nix)] # terminal
|
||||||
++ [(import ./hyprland)] # window manager
|
++ [(import ./swaync/swaync.nix)] # notification deamon
|
||||||
++ [(import ./kitty.nix)] # terminal
|
++ [(import ./nvim.nix)] # neovim editor
|
||||||
++ [(import ./swaync/swaync.nix)] # notification deamon
|
++ [(import ./packages.nix)] # other packages
|
||||||
++ [(import ./micro.nix)] # nano replacement
|
|
||||||
++ [(import ./nvim.nix)] # neovim editor
|
|
||||||
++ [(import ./packages.nix)] # other packages
|
|
||||||
++ [(import ./retroarch.nix)]
|
++ [(import ./retroarch.nix)]
|
||||||
++ [(import ./scripts/scripts.nix)] # personal scripts
|
++ [(import ./scripts/scripts.nix)] # personal scripts
|
||||||
++ [(import ./starship.nix)] # shell prompt
|
++ [(import ./spotify.nix)]
|
||||||
++ [(import ./swaylock.nix)] # lock screen
|
++ [(import ./starship.nix)] # shell prompt
|
||||||
++ [(import ./vscodium.nix)] # vscode forck
|
++ [(import ./vscodium.nix)] # vscode forck
|
||||||
++ [(import ./waybar)] # status bar
|
++ [(import ./waybar)] # status bar
|
||||||
++ [(import ./zsh.nix)]; # shell
|
++ [(import ./zsh.nix)]; # shell
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,22 +1,18 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
discord
|
webcord
|
||||||
# (discord.override {
|
|
||||||
# withVencord = true;
|
|
||||||
# })
|
|
||||||
];
|
];
|
||||||
xdg.configFile."Vencord/themes/custom.css".text = ''
|
# xdg.configFile."Vencord/themes/custom.css".text = ''
|
||||||
/**
|
# /**
|
||||||
* @name Catppuccin Mocha
|
# * @name Catppuccin Mocha
|
||||||
* @author winston#0001
|
# * @author winston#0001
|
||||||
* @authorId 505490445468696576
|
# * @authorId 505490445468696576
|
||||||
* @version 0.2.0
|
# * @version 0.2.0
|
||||||
* @description 🎮 Soothing pastel theme for Discord
|
# * @description 🎮 Soothing pastel theme for Discord
|
||||||
* @website https://github.com/catppuccin/discord
|
# * @website https://github.com/catppuccin/discord
|
||||||
* @invite r6Mdz5dpFc
|
# * @invite r6Mdz5dpFc
|
||||||
* **/
|
# * **/
|
||||||
|
|
||||||
@import url("https://catppuccin.github.io/discord/dist/catppuccin-mocha.theme.css");
|
# @import url("https://catppuccin.github.io/discord/dist/catppuccin-mocha.theme.css");
|
||||||
'';
|
# '';
|
||||||
}
|
}
|
||||||
|
|
14
modules/home/floorp/extensions_list.txt
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
Bitwarden Password Manager
|
||||||
|
ClearURLs
|
||||||
|
Dark Reader
|
||||||
|
Decentraleyes
|
||||||
|
Firefox Color
|
||||||
|
FoxyProxy
|
||||||
|
I still don't care about cookies
|
||||||
|
LibRedirect
|
||||||
|
Privacy Badger
|
||||||
|
Ruffle - Flash Emulator
|
||||||
|
Tree Style Tab
|
||||||
|
Tridactyl
|
||||||
|
uBlock Origin
|
||||||
|
Wappalyzer - Technology profiler
|
|
@ -1,8 +0,0 @@
|
||||||
uBlock Origin # + filter for shorts
|
|
||||||
ScrollAnywhere # disable momentum + reverse dirrection
|
|
||||||
Return YouTube Dislike
|
|
||||||
Stylus # import file import.json
|
|
||||||
Firefox Color # catppuccin
|
|
||||||
Dark Reader # theme dracula
|
|
||||||
I don't care about cookies
|
|
||||||
ClearURLs
|
|
|
@ -1,4 +1,3 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
home.packages = with pkgs; [floorp];
|
||||||
home.packages = (with pkgs; [ floorp ]);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ ... }:
|
{...}: {
|
||||||
{
|
|
||||||
programs.fuzzel = {
|
programs.fuzzel = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -8,13 +7,14 @@
|
||||||
line-height = 25;
|
line-height = 25;
|
||||||
fields = "name,generic,comment,categories,filename,keywords";
|
fields = "name,generic,comment,categories,filename,keywords";
|
||||||
terminal = "kitty";
|
terminal = "kitty";
|
||||||
prompt = "' ➜ '" ;
|
prompt = "' ➜ '";
|
||||||
icon-theme = "Papirus-Dark";
|
icon-theme = "Papirus-Dark";
|
||||||
layer = "top";
|
layer = "top";
|
||||||
lines = 10;
|
lines = 10;
|
||||||
width = 35;
|
width = 35;
|
||||||
horizontal-pad = 25;
|
horizontal-pad = 25;
|
||||||
inner-pad = 5;
|
inner-pad = 5;
|
||||||
|
dpi-aware = false;
|
||||||
};
|
};
|
||||||
colors = {
|
colors = {
|
||||||
background = "1e1e2ecc";
|
background = "1e1e2ecc";
|
||||||
|
@ -31,4 +31,4 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,17 +1,23 @@
|
||||||
{ pkgs, config, inputs, ... }:
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs;[
|
pkgs,
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
## Utils
|
## Utils
|
||||||
# gamemode
|
# gamemode
|
||||||
# gamescope
|
# gamescope
|
||||||
# winetricks
|
# winetricks
|
||||||
# inputs.nix-gaming.packages.${pkgs.system}.wine-ge
|
# inputs.nix-gaming.packages.${pkgs.system}.wine-ge
|
||||||
|
|
||||||
|
## Minecraft
|
||||||
|
inputs.fjordlauncher.packages.${pkgs.system}.fjordlauncher
|
||||||
|
|
||||||
## Cli games
|
## Cli games
|
||||||
_2048-in-terminal
|
|
||||||
vitetris
|
vitetris
|
||||||
nethack
|
nethack
|
||||||
|
|
||||||
## Celeste
|
## Celeste
|
||||||
celeste-classic
|
celeste-classic
|
||||||
celeste-classic-pm
|
celeste-classic-pm
|
||||||
|
@ -23,7 +29,8 @@
|
||||||
## Emulation
|
## Emulation
|
||||||
sameboy
|
sameboy
|
||||||
snes9x
|
snes9x
|
||||||
# cemu
|
cemu
|
||||||
# dolphin-emu
|
dolphin-emu
|
||||||
|
ryujinx
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,12 +1,11 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
programs.git = {
|
programs.git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
userName = "Frost-Phoenix";
|
userName = "peprolinbot";
|
||||||
userEmail = "67cyril6767@gmail.com";
|
userEmail = "personal@peprolinbot.com";
|
||||||
|
|
||||||
extraConfig = {
|
extraConfig = {
|
||||||
init.defaultBranch = "main";
|
init.defaultBranch = "main";
|
||||||
credential.helper = "store";
|
credential.helper = "store";
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,11 +1,15 @@
|
||||||
{ pkgs, config, ... }:
|
|
||||||
{
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.nerdfonts
|
pkgs.nerdfonts
|
||||||
(pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" "Noto" ]; })
|
(pkgs.nerdfonts.override {fonts = ["JetBrainsMono" "Noto"];})
|
||||||
pkgs.twemoji-color-font
|
pkgs.twemoji-color-font
|
||||||
pkgs.noto-fonts-emoji
|
pkgs.noto-fonts-emoji
|
||||||
|
pkgs.roboto
|
||||||
];
|
];
|
||||||
|
|
||||||
gtk = {
|
gtk = {
|
||||||
|
@ -31,7 +35,7 @@
|
||||||
size = 22;
|
size = 22;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.pointerCursor = {
|
home.pointerCursor = {
|
||||||
name = "Nordzy-cursors";
|
name = "Nordzy-cursors";
|
||||||
package = pkgs.nordzy-cursor-theme;
|
package = pkgs.nordzy-cursor-theme;
|
||||||
|
|
|
@ -1,27 +1,27 @@
|
||||||
{ ... }:
|
{...}: {
|
||||||
{
|
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
settings = {
|
settings = {
|
||||||
|
|
||||||
# autostart
|
# autostart
|
||||||
exec-once = [
|
exec-once = [
|
||||||
"systemctl --user import-environment &"
|
"systemctl --user import-environment &"
|
||||||
"hash dbus-update-activation-environment 2>/dev/null &"
|
"hash dbus-update-activation-environment 2>/dev/null &"
|
||||||
"dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP &"
|
"dbus-update-activation-environment --systemd --all &"
|
||||||
"nm-applet &"
|
"nm-applet &"
|
||||||
"wl-clip-persist --clipboard both"
|
"wl-clip-persist --clipboard both &"
|
||||||
"swaybg -m fill -i $(find ~/Pictures/wallpapers/ -maxdepth 1 -type f) &"
|
"bash -c 'if [ ! -f ~/.config/hypr/wallpaper.png ]; then wall-change ~/.config/hypr/default_wallpaper.png; fi'"
|
||||||
"hyprctl setcursor Nordzy-cursors 22 &"
|
"swaybg -m fill -i ~/.config/hypr/wallpaper.png &"
|
||||||
"poweralertd &"
|
"poweralertd &"
|
||||||
"waybar &"
|
"waybar &"
|
||||||
"swaync &"
|
"swaync &"
|
||||||
"wl-paste --watch cliphist store &"
|
"wl-paste --type text --watch cliphist store &" #Stores only text data
|
||||||
"hyprlock"
|
"wl-paste --type image --watch cliphist store &" #Stores only image data
|
||||||
|
"ckb-next -b &"
|
||||||
|
"element-desktop --hidden &"
|
||||||
];
|
];
|
||||||
|
|
||||||
input = {
|
input = {
|
||||||
kb_layout = "us,fr";
|
kb_layout = "es,us";
|
||||||
kb_options ="grp:alt_caps_toggle";
|
kb_options = "grp:alt_caps_toggle";
|
||||||
numlock_by_default = true;
|
numlock_by_default = true;
|
||||||
follow_mouse = 1;
|
follow_mouse = 1;
|
||||||
sensitivity = 0;
|
sensitivity = 0;
|
||||||
|
@ -133,15 +133,16 @@
|
||||||
"$mainMod, Return, exec, kitty"
|
"$mainMod, Return, exec, kitty"
|
||||||
"ALT, Return, exec, kitty --title float_kitty"
|
"ALT, Return, exec, kitty --title float_kitty"
|
||||||
"$mainMod SHIFT, Return, exec, kitty --start-as=fullscreen -o 'font_size=16'"
|
"$mainMod SHIFT, Return, exec, kitty --start-as=fullscreen -o 'font_size=16'"
|
||||||
"$mainMod, B, exec, hyprctl dispatch exec '[workspace 1 silent] floorp'"
|
"$mainMod, B, exec, floorp"
|
||||||
"$mainMod, Q, killactive,"
|
"$mainMod, N, exec, swaync-client -t"
|
||||||
|
"$mainMod SHIFT, N, exec, swaync-client -d"
|
||||||
|
"$mainMod SHIFT, Q, killactive,"
|
||||||
"$mainMod, F, fullscreen, 0"
|
"$mainMod, F, fullscreen, 0"
|
||||||
"$mainMod SHIFT, F, fullscreen, 1"
|
"$mainMod SHIFT, F, fullscreen, 1"
|
||||||
"$mainMod, Space, togglefloating,"
|
"$mainMod, Space, togglefloating,"
|
||||||
"$mainMod, D, exec, fuzzel"
|
"$mainMod, D, exec, fuzzel"
|
||||||
"$mainMod SHIFT, D, exec, hyprctl dispatch exec '[workspace 4 silent] discord --enable-features=UseOzonePlatform --ozone-platform=wayland'"
|
"$mainMod, M, exec, element-desktop"
|
||||||
"$mainMod SHIFT, S, exec, hyprctl dispatch exec '[workspace 5 silent] SoundWireServer'"
|
"$mainMod, Escape, exec, loginctl lock-session"
|
||||||
"$mainMod, Escape, exec, swaylock"
|
|
||||||
"$mainMod SHIFT, Escape, exec, shutdown-script"
|
"$mainMod SHIFT, Escape, exec, shutdown-script"
|
||||||
"$mainMod, P, pseudo,"
|
"$mainMod, P, pseudo,"
|
||||||
"$mainMod, J, togglesplit,"
|
"$mainMod, J, togglesplit,"
|
||||||
|
@ -149,17 +150,16 @@
|
||||||
"$mainMod SHIFT, B, exec, pkill -SIGUSR1 .waybar-wrapped"
|
"$mainMod SHIFT, B, exec, pkill -SIGUSR1 .waybar-wrapped"
|
||||||
"$mainMod, C ,exec, hyprpicker -a"
|
"$mainMod, C ,exec, hyprpicker -a"
|
||||||
"$mainMod, W,exec, wallpaper-picker"
|
"$mainMod, W,exec, wallpaper-picker"
|
||||||
"$mainMod SHIFT, W, exec, vm-start"
|
|
||||||
|
|
||||||
# screenshot
|
# screenshot
|
||||||
"$mainMod, Print, exec, grimblast --notify --cursor --freeze save area ~/Pictures/$(date +'%Y-%m-%d-At-%Ih%Mm%Ss').png"
|
"$mainMod, Print, exec, screenshot-menu"
|
||||||
",Print, exec, grimblast --notify --cursor --freeze copy area"
|
",Print, exec, grimblast --notify --cursor --freeze copy area"
|
||||||
|
|
||||||
# switch focus
|
# switch focus
|
||||||
"$mainMod, left, movefocus, l"
|
"$mainMod, H, movefocus, l"
|
||||||
"$mainMod, right, movefocus, r"
|
"$mainMod, L, movefocus, r"
|
||||||
"$mainMod, up, movefocus, u"
|
"$mainMod, K, movefocus, u"
|
||||||
"$mainMod, down, movefocus, d"
|
"$mainMod, J, movefocus, d"
|
||||||
|
|
||||||
# switch workspace
|
# switch workspace
|
||||||
"$mainMod, 1, workspace, 1"
|
"$mainMod, 1, workspace, 1"
|
||||||
|
@ -187,18 +187,18 @@
|
||||||
"$mainMod CTRL, c, movetoworkspace, empty"
|
"$mainMod CTRL, c, movetoworkspace, empty"
|
||||||
|
|
||||||
# window control
|
# window control
|
||||||
"$mainMod SHIFT, left, movewindow, l"
|
"$mainMod SHIFT, H, movewindow, l"
|
||||||
"$mainMod SHIFT, right, movewindow, r"
|
"$mainMod SHIFT, L, movewindow, r"
|
||||||
"$mainMod SHIFT, up, movewindow, u"
|
"$mainMod SHIFT, K, movewindow, u"
|
||||||
"$mainMod SHIFT, down, movewindow, d"
|
"$mainMod SHIFT, J, movewindow, d"
|
||||||
"$mainMod CTRL, left, resizeactive, -80 0"
|
"$mainMod CTRL, H, resizeactive, -80 0"
|
||||||
"$mainMod CTRL, right, resizeactive, 80 0"
|
"$mainMod CTRL, L, resizeactive, 80 0"
|
||||||
"$mainMod CTRL, up, resizeactive, 0 -80"
|
"$mainMod CTRL, K, resizeactive, 0 -80"
|
||||||
"$mainMod CTRL, down, resizeactive, 0 80"
|
"$mainMod CTRL, J, resizeactive, 0 80"
|
||||||
"$mainMod ALT, left, moveactive, -80 0"
|
"$mainMod ALT, H, moveactive, -80 0"
|
||||||
"$mainMod ALT, right, moveactive, 80 0"
|
"$mainMod ALT, L, moveactive, 80 0"
|
||||||
"$mainMod ALT, up, moveactive, 0 -80"
|
"$mainMod ALT, K, moveactive, 0 -80"
|
||||||
"$mainMod ALT, down, moveactive, 0 80"
|
"$mainMod ALT, J, moveactive, 0 80"
|
||||||
|
|
||||||
# media and volume controls
|
# media and volume controls
|
||||||
",XF86AudioRaiseVolume,exec, pamixer -i 2"
|
",XF86AudioRaiseVolume,exec, pamixer -i 2"
|
||||||
|
@ -239,8 +239,6 @@
|
||||||
"float,title:^(float_kitty)$"
|
"float,title:^(float_kitty)$"
|
||||||
"center,title:^(float_kitty)$"
|
"center,title:^(float_kitty)$"
|
||||||
"size 950 600,title:^(float_kitty)$"
|
"size 950 600,title:^(float_kitty)$"
|
||||||
"float,audacious"
|
|
||||||
"workspace 8 silent, audacious"
|
|
||||||
# "pin,wofi"
|
# "pin,wofi"
|
||||||
# "float,wofi"
|
# "float,wofi"
|
||||||
# "noborder,wofi"
|
# "noborder,wofi"
|
||||||
|
@ -270,7 +268,6 @@
|
||||||
"center,class:^(zenity)$"
|
"center,class:^(zenity)$"
|
||||||
"size 850 500,class:^(zenity)$"
|
"size 850 500,class:^(zenity)$"
|
||||||
"float,class:^(pavucontrol)$"
|
"float,class:^(pavucontrol)$"
|
||||||
"float,class:^(SoundWireServer)$"
|
|
||||||
"float,class:^(.sameboy-wrapped)$"
|
"float,class:^(.sameboy-wrapped)$"
|
||||||
"float,class:^(file_progress)$"
|
"float,class:^(file_progress)$"
|
||||||
"float,class:^(confirm)$"
|
"float,class:^(confirm)$"
|
||||||
|
@ -290,7 +287,6 @@
|
||||||
"maxsize 1 1,class:^(xwaylandvideobridge)$"
|
"maxsize 1 1,class:^(xwaylandvideobridge)$"
|
||||||
"noblur,class:^(xwaylandvideobridge)$"
|
"noblur,class:^(xwaylandvideobridge)$"
|
||||||
];
|
];
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extraConfig = "
|
extraConfig = "
|
||||||
|
|
|
@ -1,8 +1,11 @@
|
||||||
{ inputs, ... }:
|
{inputs, ...}: {
|
||||||
{
|
imports =
|
||||||
imports = [ (import ./hyprland.nix) ]
|
[(import ./hyprland.nix)]
|
||||||
++ [ (import ./config.nix) ]
|
++ [(import ./config.nix)]
|
||||||
++ [ (import ./hyprlock.nix) ]
|
++ [(import ./hyprlock.nix)]
|
||||||
++ [ (import ./variables.nix) ]
|
++ [(import ./hypridle.nix)]
|
||||||
++ [ inputs.hyprland.homeManagerModules.default ];
|
++ [(import ./variables.nix)]
|
||||||
|
++ [inputs.hyprland.homeManagerModules.default];
|
||||||
|
|
||||||
|
xdg.configFile."hypr/default_wallpaper.png".source = ./default_wallpaper.png;
|
||||||
}
|
}
|
||||||
|
|
BIN
modules/home/hyprland/default_wallpaper.png
Normal file
After Width: | Height: | Size: 3.4 MiB |
41
modules/home/hyprland/hypridle.nix
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
host,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
services.hypridle.enable = true;
|
||||||
|
xdg.configFile."hypr/hypridle.conf".text =
|
||||||
|
''
|
||||||
|
general {
|
||||||
|
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
|
||||||
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 300 # 5min
|
||||||
|
on-timeout = loginctl lock-session # lock screen when timeout has passed
|
||||||
|
}
|
||||||
|
''
|
||||||
|
+ (
|
||||||
|
if (host == "frues-pc")
|
||||||
|
then ''
|
||||||
|
listener {
|
||||||
|
timeout = 150 # 2.5min.
|
||||||
|
on-timeout = ckb-next --profile "Off" # turn off keyboard backlight.
|
||||||
|
on-resume = ckb-next --profile "Personal" # turn on keyboard backlight.
|
||||||
|
}
|
||||||
|
|
||||||
|
listener {
|
||||||
|
timeout = 330 # 5.5min
|
||||||
|
on-timeout = ddcmonitorctl off # screen off when timeout has passed
|
||||||
|
on-resume = ddcmonitorctl on # screen on when activity is detected after timeout has fired.
|
||||||
|
}
|
||||||
|
''
|
||||||
|
else ''
|
||||||
|
listener {
|
||||||
|
timeout = 330 # 5.5min
|
||||||
|
on-timeout = hyprctl dispatch dpms off # screen off when timeout has passed
|
||||||
|
on-resume = hyprctl dispatch dpms on # screen on when activity is detected after timeout has fired.
|
||||||
|
}
|
||||||
|
''
|
||||||
|
);
|
||||||
|
}
|
|
@ -1,5 +1,8 @@
|
||||||
{ inputs, pkgs, ...}:
|
|
||||||
{
|
{
|
||||||
|
inputs,
|
||||||
|
pkgs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
# swww
|
# swww
|
||||||
swaybg
|
swaybg
|
||||||
|
@ -13,7 +16,7 @@
|
||||||
wayland
|
wayland
|
||||||
direnv
|
direnv
|
||||||
];
|
];
|
||||||
systemd.user.targets.hyprland-session.Unit.Wants = [ "xdg-desktop-autostart.target" ];
|
systemd.user.targets.hyprland-session.Unit.Wants = ["xdg-desktop-autostart.target"];
|
||||||
wayland.windowManager.hyprland = {
|
wayland.windowManager.hyprland = {
|
||||||
enable = true;
|
enable = true;
|
||||||
xwayland = {
|
xwayland = {
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
programs.hyprlock.enable = true;
|
||||||
home.packages = [ pkgs.hyprlock ];
|
|
||||||
xdg.configFile."hypr/hyprlock.conf".text = ''
|
xdg.configFile."hypr/hyprlock.conf".text = ''
|
||||||
$red = rgb(f38ba8)
|
$red = rgb(f38ba8)
|
||||||
$yellow = rgb(f9e2af)
|
$yellow = rgb(f9e2af)
|
||||||
|
@ -27,9 +26,9 @@
|
||||||
# BACKGROUND
|
# BACKGROUND
|
||||||
background {
|
background {
|
||||||
monitor =
|
monitor =
|
||||||
path = ~/Pictures/wallpapers/others/cat-leaves.png
|
path = ~/.config/hypr/wallpaper.png
|
||||||
color = $base
|
color = $base
|
||||||
blur_passes = 0
|
blur_passes = 2
|
||||||
}
|
}
|
||||||
|
|
||||||
# TIME
|
# TIME
|
||||||
|
@ -47,9 +46,9 @@
|
||||||
valign = top
|
valign = top
|
||||||
}
|
}
|
||||||
|
|
||||||
# DATE
|
# DATE
|
||||||
label {
|
label {
|
||||||
monitor =
|
monitor =
|
||||||
text = cmd[update:43200000] echo "$(date +"%A, %d %B %Y")"
|
text = cmd[update:43200000] echo "$(date +"%A, %d %B %Y")"
|
||||||
color = $text
|
color = $text
|
||||||
font_size = 18
|
font_size = 18
|
||||||
|
@ -62,8 +61,8 @@
|
||||||
# USER AVATAR
|
# USER AVATAR
|
||||||
|
|
||||||
image {
|
image {
|
||||||
monitor =
|
monitor =
|
||||||
path = ~/Pictures/pp/pp.png
|
path = ~/.face.png
|
||||||
size = 125
|
size = 125
|
||||||
border_color = $accent
|
border_color = $accent
|
||||||
|
|
||||||
|
@ -95,4 +94,4 @@
|
||||||
valign = center
|
valign = center
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{ ... }:
|
{...}: {
|
||||||
{
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
|
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
||||||
__GL_GSYNC_ALLOWED = "0";
|
__GL_GSYNC_ALLOWED = "0";
|
||||||
__GL_VRR_ALLOWED = "0";
|
__GL_VRR_ALLOWED = "0";
|
||||||
_JAVA_AWT_WM_NONEREPARENTING = "1";
|
_JAVA_AWT_WM_NONEREPARENTING = "1";
|
||||||
|
|
|
@ -1,10 +1,9 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
programs.kitty = {
|
programs.kitty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
theme = "Catppuccin-Mocha";
|
theme = "Catppuccin-Mocha";
|
||||||
|
|
||||||
font = {
|
font = {
|
||||||
name = "JetBrainsMono Nerd Font";
|
name = "JetBrainsMono Nerd Font";
|
||||||
size = 13;
|
size = 13;
|
||||||
|
@ -12,12 +11,12 @@
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
confirm_os_window_close = 0;
|
confirm_os_window_close = 0;
|
||||||
background_opacity = "0.55";
|
background_opacity = "0.55";
|
||||||
window_padding_width = 10;
|
window_padding_width = 10;
|
||||||
scrollback_lines = 10000;
|
scrollback_lines = 10000;
|
||||||
enable_audio_bell = false;
|
enable_audio_bell = false;
|
||||||
mouse_hide_wait = 60;
|
mouse_hide_wait = 60;
|
||||||
|
|
||||||
## Tabs
|
## Tabs
|
||||||
tab_title_template = "{index}";
|
tab_title_template = "{index}";
|
||||||
active_tab_font_style = "normal";
|
active_tab_font_style = "normal";
|
||||||
|
@ -30,7 +29,7 @@
|
||||||
inactive_tab_background = "#313244";
|
inactive_tab_background = "#313244";
|
||||||
};
|
};
|
||||||
|
|
||||||
keybindings = {
|
keybindings = {
|
||||||
## Tabs
|
## Tabs
|
||||||
"alt+1" = "goto_tab 1";
|
"alt+1" = "goto_tab 1";
|
||||||
"alt+2" = "goto_tab 2";
|
"alt+2" = "goto_tab 2";
|
||||||
|
@ -42,4 +41,4 @@
|
||||||
"ctrl+shift+right" = "no_op";
|
"ctrl+shift+right" = "no_op";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,70 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
programs.micro = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
settings = {
|
|
||||||
"colorscheme" = "catppuccin-mocha";
|
|
||||||
"*.nix" = {"tabsize" = 2;};
|
|
||||||
"*.ml" = {"tabsize" = 2;};
|
|
||||||
"*.sh" = {"tabsize" = 2;};
|
|
||||||
"tabstospaces" = true;
|
|
||||||
"tabsize" = 4;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.configFile."micro/bindings.json".text = ''
|
|
||||||
{
|
|
||||||
"Ctrl-Up": "CursorUp,CursorUp,CursorUp,CursorUp,CursorUp",
|
|
||||||
"Ctrl-Down": "CursorDown,CursorDown,CursorDown,CursorDown,CursorDown",
|
|
||||||
"Ctrl-Backspace": "DeleteWordLeft",
|
|
||||||
"Ctrl-Delete": "DeleteWordRight",
|
|
||||||
"CtrlShiftUp": "ScrollUp,ScrollUp,ScrollUp,ScrollUp,ScrollUp",
|
|
||||||
"CtrlShiftDown": "ScrollDown,ScrollDown,ScrollDown,ScrollDown,ScrollDown"
|
|
||||||
}
|
|
||||||
'';
|
|
||||||
|
|
||||||
xdg.configFile."micro/colorschemes/catppuccin-mocha.micro".text = ''
|
|
||||||
color-link comment "#585B70"
|
|
||||||
|
|
||||||
color-link identifier "#89B4FA"
|
|
||||||
color-link identifier.class "#89B4FA"
|
|
||||||
color-link identifier.var "#89B4FA"
|
|
||||||
|
|
||||||
color-link constant "#FAB387"
|
|
||||||
color-link constant.number "#FAB387"
|
|
||||||
color-link constant.string "#A6E3A1"
|
|
||||||
|
|
||||||
color-link symbol "#F5C2E7"
|
|
||||||
color-link symbol.brackets "#F2CDCD"
|
|
||||||
color-link symbol.tag "#89B4FA"
|
|
||||||
|
|
||||||
color-link type "#89B4FA"
|
|
||||||
color-link type.keyword "#F9E2AF"
|
|
||||||
|
|
||||||
color-link special "#F5C2E7"
|
|
||||||
color-link statement "#CBA6F7"
|
|
||||||
color-link preproc "#F5C2E7"
|
|
||||||
|
|
||||||
color-link underlined "#89DCEB"
|
|
||||||
color-link error "bold #F38BA8"
|
|
||||||
color-link todo "bold #F9E2AF"
|
|
||||||
|
|
||||||
color-link diff-added "#A6E3A1"
|
|
||||||
color-link diff-modified "#F9E2AF"
|
|
||||||
color-link diff-deleted "#F38BA8"
|
|
||||||
|
|
||||||
color-link gutter-error "#F38BA8"
|
|
||||||
color-link gutter-warning "#F9E2AF"
|
|
||||||
|
|
||||||
color-link statusline "#CDD6F4,#181825"
|
|
||||||
color-link tabbar "#CDD6F4"
|
|
||||||
color-link indent-char "#45475A"
|
|
||||||
color-link line-number "#45475A"
|
|
||||||
color-link current-line-number "#B4BEFE"
|
|
||||||
|
|
||||||
color-link color-column "#313244"
|
|
||||||
color-link type.extended "default"
|
|
||||||
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -1,5 +1,4 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
programs.neovim = {
|
programs.neovim = {
|
||||||
enable = true;
|
enable = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
|
|
|
@ -1,34 +1,36 @@
|
||||||
{ inputs, pkgs, ... }:
|
|
||||||
{
|
{
|
||||||
home.packages = (with pkgs; [
|
inputs,
|
||||||
bitwise # cli tool for bit / hex manipulation
|
pkgs,
|
||||||
evince # gnome pdf viewer
|
...
|
||||||
eza # ls replacement
|
}: {
|
||||||
entr # perform action when file change
|
home.packages = with pkgs; [
|
||||||
fd # find replacement
|
bitwise # cli tool for bit / hex manipulation
|
||||||
file # Show file information
|
bitwarden-cli
|
||||||
fzf # fuzzy finder
|
evince # gnome pdf viewer
|
||||||
gtt # google translate TUI
|
element-desktop # Matrix client
|
||||||
gifsicle # gif utility
|
fd # find replacement
|
||||||
|
file # Show file information
|
||||||
|
flameshot # Screenshot tool
|
||||||
|
fzf # fuzzy finder
|
||||||
gimp
|
gimp
|
||||||
gtrash # rm replacement, put deleted files in system trash
|
gtrash # rm replacement, put deleted files in system trash
|
||||||
hexdump
|
imagemagick
|
||||||
jdk17 # java
|
inkscape
|
||||||
lazygit
|
lazygit
|
||||||
libreoffice
|
libreoffice
|
||||||
cinnamon.nemo-with-extensions # file manager
|
cinnamon.nemo-with-extensions # file manager
|
||||||
nitch # systhem fetch util
|
jq
|
||||||
|
nitch # systhem fetch util
|
||||||
nix-prefetch-github
|
nix-prefetch-github
|
||||||
prismlauncher # minecraft launcher
|
ripgrep # grep replacement
|
||||||
ripgrep # grep replacement
|
swappy
|
||||||
soundwireserver # pass audio to android phone
|
tdf # cli pdf viewer
|
||||||
tdf # cli pdf viewer
|
todo # cli todo list
|
||||||
todo # cli todo list
|
toipe # typing test in the terminal
|
||||||
toipe # typing test in the terminal
|
vlc
|
||||||
valgrind # c memory analyzer
|
yazi # terminal file manager
|
||||||
yazi # terminal file manager
|
yt-dlp
|
||||||
youtube-dl
|
zenity
|
||||||
gnome.zenity
|
|
||||||
winetricks
|
winetricks
|
||||||
wineWowPackages.wayland
|
wineWowPackages.wayland
|
||||||
|
|
||||||
|
@ -39,28 +41,26 @@
|
||||||
# Python
|
# Python
|
||||||
python3
|
python3
|
||||||
|
|
||||||
bleachbit # cache cleaner
|
|
||||||
cmatrix
|
cmatrix
|
||||||
gparted # partition manager
|
gparted # partition manager
|
||||||
ffmpeg
|
ffmpeg
|
||||||
imv # image viewer
|
imv # image viewer
|
||||||
killall
|
killall
|
||||||
libnotify
|
libnotify
|
||||||
man-pages # extra man pages
|
man-pages # extra man pages
|
||||||
mpv # video player
|
mpv # video player
|
||||||
ncdu # disk space
|
|
||||||
openssl
|
openssl
|
||||||
pamixer # pulseaudio command line mixer
|
pamixer # pulseaudio command line mixer
|
||||||
pavucontrol # pulseaudio volume controle (GUI)
|
pavucontrol # pulseaudio volume controle (GUI)
|
||||||
playerctl # controller for media players
|
playerctl # controller for media players
|
||||||
wl-clipboard # clipboard utils for wayland (wl-copy, wl-paste)
|
wl-clipboard # clipboard utils for wayland (wl-copy, wl-paste)
|
||||||
cliphist # clipboard manager
|
cliphist # clipboard manager
|
||||||
poweralertd
|
poweralertd
|
||||||
qalculate-gtk # calculator
|
qalculate-gtk # calculator
|
||||||
unzip
|
unzip
|
||||||
wget
|
wget
|
||||||
xdg-utils
|
xdg-utils
|
||||||
xxd
|
xxd
|
||||||
inputs.alejandra.defaultPackage.${system}
|
inputs.alejandra.defaultPackage.${system}
|
||||||
]);
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
home.packages = with pkgs; [
|
||||||
home.packages = (with pkgs; [
|
|
||||||
(retroarch.override {
|
(retroarch.override {
|
||||||
cores = with libretro; [
|
cores = with libretro; [
|
||||||
fceumm
|
fceumm
|
||||||
|
@ -9,5 +8,5 @@
|
||||||
snes9x
|
snes9x
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
]);
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,60 +0,0 @@
|
||||||
{ pkgs, lib, inputs, ... }: with lib;
|
|
||||||
let
|
|
||||||
|
|
||||||
extra-path = with pkgs; [
|
|
||||||
dotnetCorePackages.sdk_7_0
|
|
||||||
dotnetPackages.Nuget
|
|
||||||
mono
|
|
||||||
msbuild
|
|
||||||
];
|
|
||||||
|
|
||||||
extra-lib = with pkgs;[
|
|
||||||
# Personal development stuff
|
|
||||||
xorg.libX11
|
|
||||||
|
|
||||||
# Rider Unity debugging
|
|
||||||
xorg.libXcursor
|
|
||||||
xorg.libXrandr
|
|
||||||
libglvnd
|
|
||||||
];
|
|
||||||
|
|
||||||
_rider = pkgs.jetbrains.rider.overrideAttrs (attrs: {
|
|
||||||
postInstall = ''
|
|
||||||
# Wrap rider with extra tools and libraries
|
|
||||||
mv $out/bin/rider $out/bin/.rider-toolless
|
|
||||||
makeWrapper $out/bin/.rider-toolless $out/bin/rider \
|
|
||||||
--argv0 rider \
|
|
||||||
--prefix PATH : "${lib.makeBinPath extra-path}" \
|
|
||||||
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath extra-lib}"
|
|
||||||
|
|
||||||
# Making Unity Rider plugin work!
|
|
||||||
# The plugin expects the binary to be at /rider/bin/rider, with bundled files at /rider/
|
|
||||||
# It does this by going up one directory from the directory the binary is in
|
|
||||||
# We have rider binary at $out/bin/rider, so we need to link /rider/ to $out/
|
|
||||||
shopt -s extglob
|
|
||||||
ln -s $out/rider/!(bin) $out/
|
|
||||||
shopt -u extglob
|
|
||||||
'' + attrs.postInstall or "";
|
|
||||||
});
|
|
||||||
in
|
|
||||||
{
|
|
||||||
home.packages = with pkgs; [
|
|
||||||
_rider
|
|
||||||
dotnet-sdk_7
|
|
||||||
];
|
|
||||||
|
|
||||||
# Unity Rider plugin looks here for a .desktop file,
|
|
||||||
# which it uses to find the path to the rider binary.
|
|
||||||
home.file = { ".local/share/applications/jetbrains-rider.desktop".source =
|
|
||||||
let desktopFile = pkgs.makeDesktopItem {
|
|
||||||
name = "jetbrains-rider";
|
|
||||||
desktopName = "Rider";
|
|
||||||
exec = "\"${_rider}/bin/rider\"";
|
|
||||||
icon = "rider";
|
|
||||||
type = "Application";
|
|
||||||
# Don't show desktop icon in search or run launcher
|
|
||||||
extraConfig.NoDisplay = "true";
|
|
||||||
};
|
|
||||||
in "${desktopFile}/share/applications/jetbrains-rider.desktop";
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,53 +1,45 @@
|
||||||
{pkgs, ...}: let
|
{pkgs, ...}: let
|
||||||
|
ddcmonitorctl = pkgs.writeShellScriptBin "ddcmonitorctl" (builtins.readFile ./scripts/ddcmonitorctl.sh);
|
||||||
|
|
||||||
|
setbg-apotd = pkgs.writeShellScriptBin "setbg-apotd" (builtins.readFile ./scripts/setbg-apotd.sh);
|
||||||
|
setbg-bpotd = pkgs.writeShellScriptBin "setbg-bpotd" (builtins.readFile ./scripts/setbg-bpotd.sh);
|
||||||
wall-change = pkgs.writeShellScriptBin "wall-change" (builtins.readFile ./scripts/wall-change.sh);
|
wall-change = pkgs.writeShellScriptBin "wall-change" (builtins.readFile ./scripts/wall-change.sh);
|
||||||
wallpaper-picker = pkgs.writeShellScriptBin "wallpaper-picker" (builtins.readFile ./scripts/wallpaper-picker.sh);
|
wallpaper-picker = pkgs.writeShellScriptBin "wallpaper-picker" (builtins.readFile ./scripts/wallpaper-picker.sh);
|
||||||
|
|
||||||
runbg = pkgs.writeShellScriptBin "runbg" (builtins.readFile ./scripts/runbg.sh);
|
runbg = pkgs.writeShellScriptBin "runbg" (builtins.readFile ./scripts/runbg.sh);
|
||||||
music = pkgs.writeShellScriptBin "music" (builtins.readFile ./scripts/music.sh);
|
|
||||||
lofi = pkgs.writeScriptBin "lofi" (builtins.readFile ./scripts/lofi.sh);
|
|
||||||
|
|
||||||
toggle_blur = pkgs.writeScriptBin "toggle_blur" (builtins.readFile ./scripts/toggle_blur.sh);
|
toggle_blur = pkgs.writeScriptBin "toggle_blur" (builtins.readFile ./scripts/toggle_blur.sh);
|
||||||
toggle_oppacity = pkgs.writeScriptBin "toggle_oppacity" (builtins.readFile ./scripts/toggle_oppacity.sh);
|
toggle_oppacity = pkgs.writeScriptBin "toggle_oppacity" (builtins.readFile ./scripts/toggle_oppacity.sh);
|
||||||
|
|
||||||
maxfetch = pkgs.writeScriptBin "maxfetch" (builtins.readFile ./scripts/maxfetch.sh);
|
|
||||||
|
|
||||||
compress = pkgs.writeScriptBin "compress" (builtins.readFile ./scripts/compress.sh);
|
compress = pkgs.writeScriptBin "compress" (builtins.readFile ./scripts/compress.sh);
|
||||||
extract = pkgs.writeScriptBin "extract" (builtins.readFile ./scripts/extract.sh);
|
extract = pkgs.writeScriptBin "extract" (builtins.readFile ./scripts/extract.sh);
|
||||||
|
|
||||||
shutdown-script = pkgs.writeScriptBin "shutdown-script" (builtins.readFile ./scripts/shutdown-script.sh);
|
|
||||||
|
|
||||||
show-keybinds = pkgs.writeScriptBin "show-keybinds" (builtins.readFile ./scripts/keybinds.sh);
|
|
||||||
|
|
||||||
vm-start = pkgs.writeScriptBin "vm-start" (builtins.readFile ./scripts/vm-start.sh);
|
|
||||||
|
|
||||||
ascii = pkgs.writeScriptBin "ascii" (builtins.readFile ./scripts/ascii.sh);
|
shutdown-script = pkgs.writeScriptBin "shutdown-script" (builtins.readFile ./scripts/shutdown-script.sh);
|
||||||
|
|
||||||
record = pkgs.writeScriptBin "record" (builtins.readFile ./scripts/record.sh);
|
show-keybinds = pkgs.writeScriptBin "show-keybinds" (builtins.readFile ./scripts/keybinds.sh);
|
||||||
|
|
||||||
|
screenshot-menu = pkgs.writeScriptBin "screenshot-menu" (builtins.readFile ./scripts/screenshot-menu.sh);
|
||||||
in {
|
in {
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
|
ddcmonitorctl
|
||||||
|
|
||||||
|
setbg-apotd
|
||||||
|
setbg-bpotd
|
||||||
wall-change
|
wall-change
|
||||||
wallpaper-picker
|
wallpaper-picker
|
||||||
|
|
||||||
runbg
|
runbg
|
||||||
music
|
|
||||||
lofi
|
|
||||||
|
|
||||||
toggle_blur
|
toggle_blur
|
||||||
toggle_oppacity
|
toggle_oppacity
|
||||||
|
|
||||||
maxfetch
|
|
||||||
|
|
||||||
compress
|
compress
|
||||||
extract
|
extract
|
||||||
|
|
||||||
shutdown-script
|
shutdown-script
|
||||||
|
|
||||||
show-keybinds
|
show-keybinds
|
||||||
|
|
||||||
vm-start
|
screenshot-menu
|
||||||
|
|
||||||
ascii
|
|
||||||
|
|
||||||
record
|
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,45 +0,0 @@
|
||||||
#!/usr/bin/env zsh
|
|
||||||
|
|
||||||
RED=$(tput setaf 1)
|
|
||||||
GREEN=$(tput setaf 2)
|
|
||||||
BLUE=$(tput setaf 4)
|
|
||||||
MAGENTA=$(tput setaf 5)
|
|
||||||
CYAN=$(tput setaf 6)
|
|
||||||
NORMAL=$(tput sgr0)
|
|
||||||
|
|
||||||
echo -e "┌─────────────┬─────────────┬─────────────┬─────────────┐"
|
|
||||||
echo -e "│ ${BLUE}Dec${NORMAL} ${GREEN}Hex${NORMAL} Chr │ ${BLUE}Dec${NORMAL} ${GREEN}Hex${NORMAL} Chr │ ${BLUE}Dec${NORMAL} ${GREEN}Hex${NORMAL} Chr │ ${BLUE}Dec${NORMAL} ${GREEN}Hex${NORMAL} Chr │"
|
|
||||||
echo -e "├─────────────┼─────────────┼─────────────┼─────────────┤"
|
|
||||||
echo -e "│ 0 0 \033[2mNUL\033[0m\033[0m │ 32 20 │ 64 40 ${CYAN}@${NORMAL} │ 96 60 ${CYAN}\`${NORMAL} │"
|
|
||||||
echo -e "│ 1 1 \033[2mSOH\033[0m │ 33 21 ${CYAN}!${NORMAL} │ 65 41 ${GREEN}A${NORMAL} │ 97 61 ${GREEN}a${NORMAL} │"
|
|
||||||
echo -e "│ 2 2 \033[2mSTX\033[0m │ 34 22 ${CYAN}\"${NORMAL} │ 66 42 ${GREEN}B${NORMAL} │ 98 62 ${GREEN}b${NORMAL} │"
|
|
||||||
echo -e "│ 3 3 \033[2mETX\033[0m │ 35 23 ${CYAN}#${NORMAL} │ 67 43 ${GREEN}C${NORMAL} │ 99 63 ${GREEN}c${NORMAL} │"
|
|
||||||
echo -e "│ 4 4 \033[2mEOT\033[0m │ 36 24 ${CYAN}\$${NORMAL} │ 68 44 ${GREEN}D${NORMAL} │ 100 64 ${GREEN}d${NORMAL} │"
|
|
||||||
echo -e "│ 5 5 \033[2mENQ\033[0m │ 37 25 ${CYAN}%${NORMAL} │ 69 45 ${GREEN}E${NORMAL} │ 101 65 ${GREEN}e${NORMAL} │"
|
|
||||||
echo -e "│ 6 6 \033[2mACK\033[0m │ 38 26 ${CYAN}&${NORMAL} │ 70 46 ${GREEN}F${NORMAL} │ 102 66 ${GREEN}f${NORMAL} │"
|
|
||||||
echo -e "│ 7 7 \033[2mBEL\033[0m │ 39 27 ${CYAN}'${NORMAL} │ 71 47 ${GREEN}G${NORMAL} │ 103 67 ${GREEN}g${NORMAL} │"
|
|
||||||
echo -e "│ 8 8 \033[2mBS\033[0m │ 40 28 ${CYAN}(${NORMAL} │ 72 48 ${GREEN}H${NORMAL} │ 104 68 ${GREEN}h${NORMAL} │"
|
|
||||||
echo -e "│ 9 9 \033[2mHT\033[0m │ 41 29 ${CYAN})${NORMAL} │ 73 49 ${GREEN}I${NORMAL} │ 105 69 ${GREEN}i${NORMAL} │"
|
|
||||||
echo -e "│ 10 A \033[2mLF\033[0m │ 42 2A ${CYAN}*${NORMAL} │ 74 4A ${GREEN}J${NORMAL} │ 106 6A ${GREEN}j${NORMAL} │"
|
|
||||||
echo -e "│ 11 B \033[2mVT\033[0m │ 43 2B ${CYAN}+${NORMAL} │ 75 4B ${GREEN}K${NORMAL} │ 107 6B ${GREEN}k${NORMAL} │"
|
|
||||||
echo -e "│ 12 C \033[2mFF\033[0m │ 44 2C ${CYAN},${NORMAL} │ 76 4C ${GREEN}L${NORMAL} │ 108 6C ${GREEN}l${NORMAL} │"
|
|
||||||
echo -e "│ 13 D \033[2mCR\033[0m │ 45 2D ${CYAN}-${NORMAL} │ 77 4D ${GREEN}M${NORMAL} │ 109 6D ${GREEN}m${NORMAL} │"
|
|
||||||
echo -e "│ 14 E \033[2mSO\033[0m │ 46 2E ${CYAN}.${NORMAL} │ 78 4E ${GREEN}N${NORMAL} │ 110 6E ${GREEN}n${NORMAL} │"
|
|
||||||
echo -e "│ 15 F \033[2mSI\033[0m │ 47 2F ${CYAN}/${NORMAL} │ 79 4F ${GREEN}O${NORMAL} │ 111 6F ${GREEN}o${NORMAL} │"
|
|
||||||
echo -e "│ 16 10 \033[2mDLE\033[0m │ 48 30 ${RED}0${NORMAL} │ 80 50 ${GREEN}P${NORMAL} │ 112 70 ${GREEN}p${NORMAL} │"
|
|
||||||
echo -e "│ 17 11 \033[2mDC1\033[0m │ 49 31 ${RED}1${NORMAL} │ 81 51 ${GREEN}Q${NORMAL} │ 113 71 ${GREEN}q${NORMAL} │"
|
|
||||||
echo -e "│ 18 12 \033[2mDC2\033[0m │ 50 32 ${RED}2${NORMAL} │ 82 52 ${GREEN}R${NORMAL} │ 114 72 ${GREEN}r${NORMAL} │"
|
|
||||||
echo -e "│ 19 13 \033[2mDC3\033[0m │ 51 33 ${RED}3${NORMAL} │ 83 53 ${GREEN}S${NORMAL} │ 115 73 ${GREEN}s${NORMAL} │"
|
|
||||||
echo -e "│ 20 14 \033[2mDC4\033[0m │ 52 34 ${RED}4${NORMAL} │ 84 54 ${GREEN}T${NORMAL} │ 116 74 ${GREEN}t${NORMAL} │"
|
|
||||||
echo -e "│ 21 15 \033[2mNAK\033[0m │ 53 35 ${RED}5${NORMAL} │ 85 55 ${GREEN}U${NORMAL} │ 117 75 ${GREEN}u${NORMAL} │"
|
|
||||||
echo -e "│ 22 16 \033[2mSYN\033[0m │ 54 36 ${RED}6${NORMAL} │ 86 56 ${GREEN}V${NORMAL} │ 118 76 ${GREEN}v${NORMAL} │"
|
|
||||||
echo -e "│ 23 17 \033[2mETB\033[0m │ 55 37 ${RED}7${NORMAL} │ 87 57 ${GREEN}W${NORMAL} │ 119 77 ${GREEN}w${NORMAL} │"
|
|
||||||
echo -e "│ 24 18 \033[2mCAN\033[0m │ 56 38 ${RED}8${NORMAL} │ 88 58 ${GREEN}X${NORMAL} │ 120 78 ${GREEN}x${NORMAL} │"
|
|
||||||
echo -e "│ 25 19 \033[2mEM\033[0m │ 57 39 ${RED}9${NORMAL} │ 89 59 ${GREEN}Y${NORMAL} │ 121 79 ${GREEN}y${NORMAL} │"
|
|
||||||
echo -e "│ 26 1A \033[2mSUB\033[0m │ 58 3A ${CYAN}:${NORMAL} │ 90 5A ${GREEN}Z${NORMAL} │ 122 7A ${GREEN}z${NORMAL} │"
|
|
||||||
echo -e "│ 27 1B \033[2mESC\033[0m │ 59 3B ${CYAN};${NORMAL} │ 91 5B ${CYAN}[${NORMAL} │ 123 7B ${CYAN}{${NORMAL} │"
|
|
||||||
echo -e "│ 28 1C \033[2mFS\033[0m │ 60 3C ${CYAN}<${NORMAL} │ 92 5C ${CYAN}\\${NORMAL} │ 124 7C ${CYAN}|${NORMAL} │"
|
|
||||||
echo -e "│ 29 1D \033[2mGS\033[0m │ 61 3D ${CYAN}=${NORMAL} │ 93 5D ${CYAN}]${NORMAL} │ 125 7D ${CYAN}}${NORMAL} │"
|
|
||||||
echo -e "│ 30 1E \033[2mRS\033[0m │ 62 3E ${CYAN}>${NORMAL} │ 94 5E ${CYAN}^${NORMAL} │ 126 7E ${CYAN}~${NORMAL} │"
|
|
||||||
echo -e "│ 31 1F \033[2mUS\033[0m │ 63 3F ${CYAN}?${NORMAL} │ 95 5F ${CYAN}_${NORMAL} │ 127 7F \033[2mDEL\033[0m │"
|
|
||||||
echo -e "└─────────────┴─────────────┴─────────────┴─────────────┘"
|
|
16
modules/home/scripts/scripts/ddcmonitorctl.sh
Executable file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if [ "$1" == "on" ]; then
|
||||||
|
state_opt=1
|
||||||
|
elif [ "$1" == "off" ]; then
|
||||||
|
state_opt=4
|
||||||
|
else
|
||||||
|
echo "First argument must be either 'on' or 'off'"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
monitor_count=$(bash -c "ddcutil detect | grep Display | wc -l")
|
||||||
|
|
||||||
|
seq $monitor_count | xargs -n 1 ddcutil setvcp d6 $state_opt -d
|
|
@ -1,7 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
if (ps aux | grep mpv | grep -v grep > /dev/null) then
|
|
||||||
pkill mpv
|
|
||||||
else
|
|
||||||
runbg mpv --no-video https://www.youtube.com/live/jfKfPfyJRdk?si=OF0HKrYFFj33BzMo
|
|
||||||
fi
|
|
|
@ -1,53 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
unicode=" "
|
|
||||||
version="1.2.0"
|
|
||||||
|
|
||||||
_black=$(tput setaf 0)
|
|
||||||
red=$(tput setaf 1)
|
|
||||||
green=$(tput setaf 2)
|
|
||||||
yellow=$(tput setaf 3)
|
|
||||||
blue=$(tput setaf 4)
|
|
||||||
magenta=$(tput setaf 5)
|
|
||||||
cyan=$(tput setaf 6)
|
|
||||||
_white=$(tput setaf 7)
|
|
||||||
_bright=$(tput bold)
|
|
||||||
normal=$(tput sgr0)
|
|
||||||
_underline=$(tput smul)
|
|
||||||
|
|
||||||
up=$(uptime | awk -F'( |,|:)+' '{
|
|
||||||
d=h=m=0;
|
|
||||||
if ($7=="min")
|
|
||||||
m=$6;
|
|
||||||
else {
|
|
||||||
if ($7~/^day/) { d=$6; h=$8; m=$9}
|
|
||||||
else {h=$6;m=$7}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
{ print h+0,"h",m+0,"m" }
|
|
||||||
')
|
|
||||||
up=$(sed -e "s/ h/h/g" <<< ${up})
|
|
||||||
up=$(sed -e "s/ m/m/g" <<< ${up})
|
|
||||||
|
|
||||||
pkgs=$(nix-store --query --requisites /run/current-system | wc -l)
|
|
||||||
|
|
||||||
fetch() {
|
|
||||||
echo "${cyan}$(tput bold) _ ___ ____ ____ ${normal}$(tput sgr0)"
|
|
||||||
echo "${cyan}$(tput bold) / |/ (_)_ __/ __ \/ __/ ${normal}$(tput sgr0)"
|
|
||||||
echo "${cyan}$(tput bold) / / /\ \ / /_/ /\ \ ${normal}$(tput sgr0)"
|
|
||||||
echo "${cyan}$(tput bold) /_/|_/_//_\_"'\\'"____/___/ ${normal}$(tput sgr0)"
|
|
||||||
echo ""
|
|
||||||
echo " ╭─────────────╮ "
|
|
||||||
echo " │ ${red} ${normal} user │ ${red}$(whoami)${normal}"
|
|
||||||
echo " │ ${yellow} ${normal} distro │ ${yellow}$(sed -nE "s@PRETTY_NAME=\"([^\"]*)\"@\1@p" /etc/os-release)${normal} "
|
|
||||||
echo " │ ${green} ${normal} kernel │ ${green}$(uname -r)${normal} "
|
|
||||||
echo " │ ${cyan} ${normal} de/wm │ ${cyan}$XDG_CURRENT_DESKTOP${normal} "
|
|
||||||
echo " │ ${blue} ${normal} uptime │ ${blue}${up}${normal} "
|
|
||||||
echo " │ ${magenta} ${normal} shell │ ${magenta}$(echo ${SHELL##*/})${normal} "
|
|
||||||
echo " │ ${red} ${normal} pkgs │ ${red}${pkgs}${normal} "
|
|
||||||
echo " ├─────────────┤ "
|
|
||||||
echo " │ ${_white} ${normal}colors │${_white}$unicode${normal}${red}$unicode${normal}${yellow}$unicode${normal}${green}$unicode${normal}${cyan}$unicode${normal}${blue}$unicode${normal}${magenta}$unicode${normal}${_black}$unicode${normal}"
|
|
||||||
echo " ╰─────────────╯ "
|
|
||||||
}
|
|
||||||
|
|
||||||
fetch && exit 0
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
if (ps aux | grep audacious | grep -v grep > /dev/null) then
|
|
||||||
pkill audacious
|
|
||||||
else
|
|
||||||
hyprctl dispatch exec "[workspace 5 silent] audacious -t"
|
|
||||||
sleep 0.5
|
|
||||||
audtool playlist-repeat-status |grep "on" || audtool playlist-repeat-toggle
|
|
||||||
audtool playlist-shuffle-status|grep "on" || audtool playlist-shuffle-toggle
|
|
||||||
fi
|
|
|
@ -1,125 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
TMP_FILE_UNOPTIMIZED="/tmp/recording_unoptimized.gif"
|
|
||||||
TMP_PALETTE_FILE="/tmp/palette.png"
|
|
||||||
TMP_MP4_FILE="/tmp/recording.mp4"
|
|
||||||
TMP_GIF_RESULT="/tmp/gif_result"
|
|
||||||
APP_NAME="Recorder"
|
|
||||||
|
|
||||||
OUT_DIR="$HOME/Videos"
|
|
||||||
filename=$(date +"%Y-%m-%d_%H-%M-%S")
|
|
||||||
FILENAME="$OUT_DIR/$filename."
|
|
||||||
|
|
||||||
if [ ! -d "$OUT_DIR" ]; then
|
|
||||||
mkdir -p "$OUT_DIR"
|
|
||||||
fi
|
|
||||||
|
|
||||||
is_recorder_running() {
|
|
||||||
pgrep -x wf-recorder >/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
convert_to_gif() {
|
|
||||||
ffmpeg -i "$TMP_MP4_FILE" -filter_complex "[0:v] palettegen" "$TMP_PALETTE_FILE"
|
|
||||||
ffmpeg -i "$TMP_MP4_FILE" -i "$TMP_PALETTE_FILE" -filter_complex "[0:v] fps=10,scale=1400:-1,setpts=0.5*PTS [new];[new][1:v] paletteuse" "$TMP_FILE_UNOPTIMIZED"
|
|
||||||
if [ -f "$TMP_PALETTE_FILE" ]; then
|
|
||||||
rm "$TMP_PALETTE_FILE"
|
|
||||||
fi
|
|
||||||
if [ -f "$TMP_MP4_FILE" ]; then
|
|
||||||
rm "$TMP_MP4_FILE"
|
|
||||||
fi
|
|
||||||
gifsicle -O3 --lossy=100 -i "$TMP_FILE_UNOPTIMIZED" -o "$TMP_GIF_RESULT"
|
|
||||||
if [ -f "$TMP_FILE_UNOPTIMIZED" ]; then
|
|
||||||
rm "$TMP_FILE_UNOPTIMIZED"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
notify() {
|
|
||||||
notify-send -a "$APP_NAME" "$1" "$2" -t 5000
|
|
||||||
}
|
|
||||||
|
|
||||||
screen() {
|
|
||||||
notify "Starting Recording" "Your screen is being recorded"
|
|
||||||
timeout 600 wf-recorder -F format=rgb24 -x rgb24 -p qp=0 -p crf=0 -p preset=slow -c libx264rgb -f "$TMP_MP4_FILE"
|
|
||||||
}
|
|
||||||
|
|
||||||
area() {
|
|
||||||
GEOMETRY=$(slurp)
|
|
||||||
if [[ ! -z "$GEOMETRY" ]]; then
|
|
||||||
notify "Starting Recording" "Your screen is being recorded"
|
|
||||||
timeout 600 wf-recorder -F format=rgb24 -x rgb24 -p qp=0 -p crf=0 -p preset=slow -c libx264rgb -g "$GEOMETRY" -f "$TMP_MP4_FILE"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
gif() {
|
|
||||||
touch /tmp/recording_gif
|
|
||||||
area
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
if is_recorder_running; then
|
|
||||||
kill $(pgrep -x wf-recorder)
|
|
||||||
|
|
||||||
if [[ -f /tmp/recording_gif ]] then
|
|
||||||
notify "Stopped Recording" "Starting GIF conversion phase..."
|
|
||||||
FILENAME+="gif"
|
|
||||||
convert_to_gif
|
|
||||||
SavePath=$( zenity --file-selection --save --file-filter=*.gif --filename="$OUT_DIR"'/.gif' )
|
|
||||||
if [ "$SavePath" == "" ]; then
|
|
||||||
SavePath="$FILENAME"
|
|
||||||
fi
|
|
||||||
[[ $SavePath =~ \.gif$ ]] || SavePath+='.gif'
|
|
||||||
mv $TMP_GIF_RESULT $SavePath
|
|
||||||
wl-copy -t image/png < $SavePath
|
|
||||||
notify "GIF conversion completed" "GIF saved to $SavePath"
|
|
||||||
else
|
|
||||||
FILENAME+="mp4"
|
|
||||||
SavePath=$( zenity --file-selection --save --file-filter=*.mp4 --filename="$OUT_DIR"'/.mp4' )
|
|
||||||
if [ "$SavePath" == "" ]; then
|
|
||||||
SavePath="$FILENAME"
|
|
||||||
fi
|
|
||||||
[[ $SavePath =~ \.mp4$ ]] || SavePath+='.mp4'
|
|
||||||
mv $TMP_MP4_FILE $SavePath
|
|
||||||
wl-copy -t video/mp4 < $SavePath
|
|
||||||
notify "Stopped Recording" "Video saved to $SavePath"
|
|
||||||
fi
|
|
||||||
|
|
||||||
[[ -f $TMP_FILE_UNOPTIMIZED ]] && rm -f "$TMP_FILE_UNOPTIMIZED"
|
|
||||||
[[ -f $TMP_PALETTE_FILE ]] && rm -f "$TMP_PALETTE_FILE"
|
|
||||||
[[ -f $TMP_GIF_RESULT ]] && rm -f "$TMP_GIF_RESULT"
|
|
||||||
[[ -f $TMP_MP4_FILE ]] && rm -f "$TMP_MP4_FILE"
|
|
||||||
[[ -f /tmp/recording_gif ]] && rm -f /tmp/recording_gif
|
|
||||||
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
if is_recorder_running; then
|
|
||||||
stop
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$1" != "stop" ]; then
|
|
||||||
[[ -f $TMP_FILE_UNOPTIMIZED ]] && rm -f "$TMP_FILE_UNOPTIMIZED"
|
|
||||||
[[ -f $TMP_PALETTE_FILE ]] && rm -f "$TMP_PALETTE_FILE"
|
|
||||||
[[ -f $TMP_GIF_RESULT ]] && rm -f "$TMP_GIF_RESULT"
|
|
||||||
[[ -f $TMP_MP4_FILE ]] && rm -f "$TMP_MP4_FILE"
|
|
||||||
[[ -f /tmp/recording_gif ]] && rm -f /tmp/recording_gif
|
|
||||||
fi
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
screen)
|
|
||||||
screen
|
|
||||||
;;
|
|
||||||
area)
|
|
||||||
area
|
|
||||||
;;
|
|
||||||
gif)
|
|
||||||
gif
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
stop
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Usage: $0 {screen|area|gif|stop}"
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
124
modules/home/scripts/scripts/screenshot-menu.sh
Executable file
|
@ -0,0 +1,124 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
#### Options
|
||||||
|
|
||||||
|
option_1=" Capture"
|
||||||
|
option_2=" Timer capture"
|
||||||
|
|
||||||
|
option_capture_1=" All Screen"
|
||||||
|
option_capture_2=" Capture Active Screen"
|
||||||
|
option_capture_3=" Capture Area/Window/Application"
|
||||||
|
|
||||||
|
option_time_1="5s"
|
||||||
|
option_time_2="10s"
|
||||||
|
option_time_3="20s"
|
||||||
|
option_time_4="30s"
|
||||||
|
option_time_5="60s"
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
|
||||||
|
#### Initial menu to decide wether a timer is wanted
|
||||||
|
|
||||||
|
want_timer_cmd() {
|
||||||
|
echo -e "$option_1\n$option_2" | fuzzel --dmenu -p 'Screenshot'
|
||||||
|
}
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
|
||||||
|
#### Choose Timer seconds
|
||||||
|
|
||||||
|
timer_cmd() {
|
||||||
|
echo -e "$option_time_1\n$option_time_2\n$option_time_3\n$option_time_4\n$option_time_5" | fuzzel --dmenu -p 'Choose timer:'
|
||||||
|
}
|
||||||
|
|
||||||
|
timer_menu() {
|
||||||
|
selected_timer="$(timer_cmd)"
|
||||||
|
if [[ "$selected_timer" == "$option_time_1" ]]; then
|
||||||
|
countdown=5
|
||||||
|
${1}
|
||||||
|
elif [[ "$selected_timer" == "$option_time_2" ]]; then
|
||||||
|
countdown=10
|
||||||
|
${1}
|
||||||
|
elif [[ "$selected_timer" == "$option_time_3" ]]; then
|
||||||
|
countdown=20
|
||||||
|
${1}
|
||||||
|
elif [[ "$selected_timer" == "$option_time_4" ]]; then
|
||||||
|
countdown=30
|
||||||
|
${1}
|
||||||
|
elif [[ "$selected_timer" == "$option_time_5" ]]; then
|
||||||
|
countdown=60
|
||||||
|
${1}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
|
||||||
|
#### Chose Screenshot Type
|
||||||
|
|
||||||
|
type_screenshot_cmd() {
|
||||||
|
echo -e "$option_capture_1\n$option_capture_2\n$option_capture_3" | fuzzel --dmenu -p 'Type Of Screenshot:'
|
||||||
|
}
|
||||||
|
|
||||||
|
type_screenshot_menu() {
|
||||||
|
selected_type_screenshot="$(type_screenshot_cmd)"
|
||||||
|
if [[ "$selected_type_screenshot" == "$option_capture_1" ]]; then
|
||||||
|
option_type_screenshot=screen
|
||||||
|
${1}
|
||||||
|
elif [[ "$selected_type_screenshot" == "$option_capture_2" ]]; then
|
||||||
|
option_type_screenshot=output
|
||||||
|
${1}
|
||||||
|
elif [[ "$selected_type_screenshot" == "$option_capture_3" ]]; then
|
||||||
|
option_type_screenshot=area
|
||||||
|
${1}
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
|
||||||
|
### Run the timer
|
||||||
|
|
||||||
|
timer() {
|
||||||
|
# Countdown notifications must start at 10 seconds so they aren't annoying
|
||||||
|
if [[ $countdown -gt 10 ]]; then
|
||||||
|
notify-send -t 1000 "Taking Screenshot in ${countdown} seconds"
|
||||||
|
sleep $((countdown - 10))
|
||||||
|
countdown=10
|
||||||
|
fi
|
||||||
|
while [[ $countdown -ne 0 ]]; do
|
||||||
|
notify-send -t 900 "Taking Screenshot in ${countdown}"
|
||||||
|
countdown=$((countdown - 1))
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
####
|
||||||
|
|
||||||
|
|
||||||
|
#### Main logic
|
||||||
|
|
||||||
|
chosen="$(want_timer_cmd)"
|
||||||
|
if [ -z "$chosen" ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
type_screenshot_menu
|
||||||
|
if [ -z "$selected_type_screenshot" ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $option_2 == *$chosen* ]]; then
|
||||||
|
timer_menu
|
||||||
|
if [ -z "$selected_timer" ]; then
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
timer
|
||||||
|
else
|
||||||
|
sleep 0.7 # So fuzzel has time to fade-out
|
||||||
|
fi
|
||||||
|
GRIMBLAST_EDITOR="swappy -f " grimblast --notify edit "$option_type_screenshot"
|
||||||
|
|
||||||
|
####
|
37
modules/home/scripts/scripts/setbg-apotd.sh
Executable file
|
@ -0,0 +1,37 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
## Based on https://github.com/sgsax/apod-desktop/blob/master/apod
|
||||||
|
|
||||||
|
|
||||||
|
# base URL for the APOD website
|
||||||
|
BASE_URL=https://apod.nasa.gov/apod/
|
||||||
|
|
||||||
|
# API endpoint which returns the Picture Of The Day data
|
||||||
|
PAGE_URL="$BASE_URL/astropix.html"
|
||||||
|
|
||||||
|
IMG_FILE=/tmp/apotd.jpg
|
||||||
|
|
||||||
|
|
||||||
|
echo Getting APOD page...
|
||||||
|
page_data=`curl -s $PAGE_URL`
|
||||||
|
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Unable to retrieve page";
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# extract the image url from the astropix page
|
||||||
|
echo Getting image url...
|
||||||
|
imgurl=`echo "$page_data" | grep -i "img src" | sed -e 's/.*<img src="\(.*\)".*/\1/i'`
|
||||||
|
echo Image url is $imgurl
|
||||||
|
|
||||||
|
# get that image file
|
||||||
|
echo Getting image at ${BASE_URL}${imgurl}
|
||||||
|
curl ${BASE_URL}${imgurl} -o $IMG_FILE
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Unable to retrieve image"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
#set wallpaper using swaybg
|
||||||
|
wall-change "$IMG_FILE"
|
34
modules/home/scripts/scripts/setbg-bpotd.sh
Executable file
|
@ -0,0 +1,34 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# base URL for Bing
|
||||||
|
BASE_URL=https://bing.com
|
||||||
|
|
||||||
|
# API endpoint which returns the Picture Of The Day data
|
||||||
|
ENDPOINT="$BASE_URL/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US"
|
||||||
|
|
||||||
|
IMG_FILE=/tmp/bpotd.jpg
|
||||||
|
|
||||||
|
|
||||||
|
echo Querying the API...
|
||||||
|
api_data=`curl $ENDPOINT`
|
||||||
|
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Unable to contact the API";
|
||||||
|
exit 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# extract the image url from the astropix page
|
||||||
|
echo Getting image url...
|
||||||
|
imgurl=`echo $api_data | jq -r .images[0].url`
|
||||||
|
echo Image url is $imgurl
|
||||||
|
|
||||||
|
# get that image file
|
||||||
|
echo Getting image at ${BASE_URL}${imgurl}
|
||||||
|
curl ${BASE_URL}${imgurl} -o $IMG_FILE
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Unable to retrieve image"
|
||||||
|
exit 2
|
||||||
|
fi
|
||||||
|
|
||||||
|
#set wallpaper using swaybg
|
||||||
|
wall-change "$IMG_FILE"
|
|
@ -1,11 +0,0 @@
|
||||||
#!/usr/bin/env zsh
|
|
||||||
|
|
||||||
# VM name
|
|
||||||
vm_name="win10"
|
|
||||||
export LIBVIRT_DEFAULT_URI="qemu:///system"
|
|
||||||
|
|
||||||
# change workspace
|
|
||||||
hyprctl dispatch workspace 6
|
|
||||||
|
|
||||||
virsh start ${vm_name}
|
|
||||||
virt-viewer -f -w -a ${vm_name}
|
|
2
modules/home/scripts/scripts/wall-change.sh
Executable file → Normal file
|
@ -7,3 +7,5 @@ swaybg -m fill -i $1 &
|
||||||
if [ -n "$PIDS" ]; then
|
if [ -n "$PIDS" ]; then
|
||||||
echo "$PIDS" | xargs kill
|
echo "$PIDS" | xargs kill
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
magick $1 ~/.config/hypr/wallpaper.png
|
||||||
|
|
|
@ -1,12 +1,16 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
wallpaper_path=$HOME/Pictures/wallpapers
|
bpotd_entry="⚙️ Bing's Picture Of The Day"
|
||||||
wallpapers_folder=$HOME/Pictures/wallpapers/others
|
apotd_entry="⚙️ NASA's Astronomy Picture Of The Day"
|
||||||
wallpaper_name="$(ls $wallpapers_folder | fuzzel --dmenu)"
|
wallpapers_folder=$HOME/Pictures/Wallpapers/
|
||||||
if [[ -f $wallpapers_folder/$wallpaper_name ]]; then
|
|
||||||
find ~/Pictures/wallpapers -maxdepth 1 -type f -delete
|
wallpaper_name=`echo -e "$bpotd_entry\n$apotd_entry" | { cat; find $wallpapers_folder -type f | sed "s|$wallpapers_folder||"; } | fuzzel --dmenu`
|
||||||
cp $wallpapers_folder/$wallpaper_name $wallpaper_path/$wallpaper_name
|
if [ "$wallpaper_name" == "$bpotd_entry" ]; then
|
||||||
wall-change $wallpaper_path/$wallpaper_name
|
setbg-bpotd
|
||||||
|
elif [ "$wallpaper_name" == "$apotd_entry" ]; then
|
||||||
|
setbg-apotd
|
||||||
|
elif [[ -f $wallpapers_folder/$wallpaper_name ]]; then
|
||||||
|
wall-change $wallpapers_folder/$wallpaper_name
|
||||||
else
|
else
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
6
modules/home/spotify.nix
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{pkgs, ...}: {
|
||||||
|
home.packages = with pkgs; [
|
||||||
|
spotify-player
|
||||||
|
sptlrx
|
||||||
|
];
|
||||||
|
}
|
|
@ -1,5 +1,8 @@
|
||||||
{ lib, inputs, ... }:
|
|
||||||
{
|
{
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.starship = {
|
programs.starship = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
@ -7,35 +10,37 @@
|
||||||
enableZshIntegration = true;
|
enableZshIntegration = true;
|
||||||
enableNushellIntegration = true;
|
enableNushellIntegration = true;
|
||||||
|
|
||||||
settings = {
|
settings =
|
||||||
# right_format = "$cmd_duration";
|
{
|
||||||
|
# right_format = "$cmd_duration";
|
||||||
directory = {
|
|
||||||
format = "[ ](bold #89b4fa)[ $path ]($style)";
|
|
||||||
style = "bold #b4befe";
|
|
||||||
};
|
|
||||||
|
|
||||||
character = {
|
directory = {
|
||||||
success_symbol = "[ ](bold #89b4fa)[ ➜](bold green)";
|
format = "[ ](bold #89b4fa)[ $path ]($style)";
|
||||||
error_symbol = "[ ](bold #89b4fa)[ ➜](bold red)";
|
style = "bold #b4befe";
|
||||||
# error_symbol = "[ ](bold #89dceb)[ ✗](bold red)";
|
};
|
||||||
};
|
|
||||||
|
|
||||||
cmd_duration = {
|
character = {
|
||||||
format = "[]($style)[[ ](bg:#161821 fg:#d4c097 bold)$duration](bg:#161821 fg:#BBC3DF)[ ]($style)";
|
success_symbol = "[ ](bold #89b4fa)[ ➜](bold green)";
|
||||||
disabled = false;
|
error_symbol = "[ ](bold #89b4fa)[ ➜](bold red)";
|
||||||
style = "bg:none fg:#161821";
|
# error_symbol = "[ ](bold #89dceb)[ ✗](bold red)";
|
||||||
};
|
};
|
||||||
|
|
||||||
# directory.substitutions = {
|
cmd_duration = {
|
||||||
|
format = "[]($style)[[ ](bg:#161821 fg:#d4c097 bold)$duration](bg:#161821 fg:#BBC3DF)[ ]($style)";
|
||||||
|
disabled = false;
|
||||||
|
style = "bg:none fg:#161821";
|
||||||
|
};
|
||||||
|
|
||||||
|
# directory.substitutions = {
|
||||||
# "~" = "";
|
# "~" = "";
|
||||||
# "Documents" = " ";
|
# "Documents" = " ";
|
||||||
# "Downloads" = " ";
|
# "Downloads" = " ";
|
||||||
# "Music" = " ";
|
# "Music" = " ";
|
||||||
# "Pictures" = " ";
|
# "Pictures" = " ";
|
||||||
# };
|
# };
|
||||||
|
|
||||||
palette = "catppuccin_mocha";
|
palette = "catppuccin_mocha";
|
||||||
} // builtins.fromTOML (builtins.readFile "${inputs.catppuccin-starship}/palettes/mocha.toml");
|
}
|
||||||
|
// builtins.fromTOML (builtins.readFile "${inputs.catppuccin-starship}/palettes/mocha.toml");
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
{ pkgs, lib, ... }:
|
|
||||||
{
|
|
||||||
programs.steam = {
|
|
||||||
enable = true;
|
|
||||||
remotePlay.openFirewall = true;
|
|
||||||
dedicatedServer.openFirewall = false;
|
|
||||||
};
|
|
||||||
programs.gamemode.enable = true;
|
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
|
|
||||||
"steam"
|
|
||||||
"steam-original"
|
|
||||||
"steam-runtime"
|
|
||||||
];
|
|
||||||
# proton-ge-bin
|
|
||||||
|
|
||||||
# warning: The package proton-ge in nix-gaming has been deprecated as of 2024-03-17.
|
|
||||||
|
|
||||||
# You should use proton-ge-bin from Nixpkgs, which conforms to
|
|
||||||
# the new `extraCompatTools` module option under `programs.steam`
|
|
||||||
# For details, see the relevant pull request:
|
|
||||||
}
|
|
|
@ -1,51 +0,0 @@
|
||||||
{ pkgs, lib, config, inputs, ... }:
|
|
||||||
{
|
|
||||||
programs.swaylock = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.swaylock-effects;
|
|
||||||
settings = {
|
|
||||||
clock = true;
|
|
||||||
datestr = "";
|
|
||||||
screenshots = true;
|
|
||||||
|
|
||||||
indicator = true;
|
|
||||||
indicator-radius = 100;
|
|
||||||
indicator-thickness = 7;
|
|
||||||
|
|
||||||
effect-blur = "7x5";
|
|
||||||
effect-vignette = "0.5:0.5";
|
|
||||||
effect-pixelate = 5;
|
|
||||||
|
|
||||||
color="1e1e2e";
|
|
||||||
bs-hl-color="f5e0dc";
|
|
||||||
key-hl-color="a6e3a1";
|
|
||||||
caps-lock-bs-hl-color="f5e0dc";
|
|
||||||
caps-lock-key-hl-color="a6e3a1";
|
|
||||||
ring-color="b4befe";
|
|
||||||
ring-clear-color="f5e0dc";
|
|
||||||
ring-caps-lock-color="fab387";
|
|
||||||
ring-ver-color="89b4fa";
|
|
||||||
ring-wrong-color="eba0ac";
|
|
||||||
text-color="cdd6f4";
|
|
||||||
text-clear-color="f5e0dc";
|
|
||||||
text-caps-lock-color="fab387";
|
|
||||||
text-ver-color="89b4fa";
|
|
||||||
text-wrong-color="eba0ac";
|
|
||||||
layout-text-color="cdd6f4";
|
|
||||||
|
|
||||||
inside-color="00000000";
|
|
||||||
inside-clear-color="00000000";
|
|
||||||
inside-caps-lock-color="00000000";
|
|
||||||
inside-ver-color="00000000";
|
|
||||||
inside-wrong-color="00000000";
|
|
||||||
layout-bg-color="00000000";
|
|
||||||
layout-border-color="00000000";
|
|
||||||
line-color="00000000";
|
|
||||||
line-clear-color="00000000";
|
|
||||||
line-caps-lock-color="00000000";
|
|
||||||
line-ver-color="00000000";
|
|
||||||
line-wrong-color="00000000";
|
|
||||||
separator-color="00000000";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,6 +1,5 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
home.packages = with pkgs; [swaynotificationcenter];
|
||||||
home.packages = (with pkgs; [ swaynotificationcenter ]);
|
|
||||||
xdg.configFile."swaync/style.css".source = ./style.css;
|
xdg.configFile."swaync/style.css".source = ./style.css;
|
||||||
xdg.configFile."swaync/config.json".source = ./config.json;
|
xdg.configFile."swaync/config.json".source = ./config.json;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
{ pkgs, ... }:
|
|
||||||
{
|
|
||||||
home.packages = (with pkgs; [ unityhub ]);
|
|
||||||
}
|
|
|
@ -1,13 +1,14 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
programs.vscode = {
|
programs.vscode = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.vscodium;
|
package = pkgs.vscodium;
|
||||||
extensions = with pkgs.vscode-extensions; [
|
extensions = with pkgs.vscode-extensions; [
|
||||||
# nix language
|
# nix language
|
||||||
bbenoist.nix
|
bbenoist.nix
|
||||||
# nix-shell suport
|
# nix-shell suport
|
||||||
arrterian.nix-env-selector
|
arrterian.nix-env-selector
|
||||||
|
# nix formatting
|
||||||
|
kamadorueda.alejandra
|
||||||
# python
|
# python
|
||||||
ms-python.python
|
ms-python.python
|
||||||
# C/C++
|
# C/C++
|
||||||
|
@ -32,9 +33,9 @@
|
||||||
"workbench.iconTheme" = "catppuccin-mocha";
|
"workbench.iconTheme" = "catppuccin-mocha";
|
||||||
"catppuccin.accentColor" = "lavender";
|
"catppuccin.accentColor" = "lavender";
|
||||||
"vsicons.dontShowNewVersionMessage" = true;
|
"vsicons.dontShowNewVersionMessage" = true;
|
||||||
"explorer.confirmDragAndDrop" = false;
|
"explorer.confirmDragAndDrop" = true;
|
||||||
"editor.fontLigatures" = true;
|
"editor.fontLigatures" = true;
|
||||||
"editor.minimap.enabled" = false;
|
"editor.minimap.enabled" = true;
|
||||||
"workbench.startupEditor" = "none";
|
"workbench.startupEditor" = "none";
|
||||||
|
|
||||||
"editor.formatOnSave" = true;
|
"editor.formatOnSave" = true;
|
||||||
|
@ -45,17 +46,17 @@
|
||||||
"workbench.editor.limit.enabled" = true;
|
"workbench.editor.limit.enabled" = true;
|
||||||
"workbench.editor.limit.value" = 10;
|
"workbench.editor.limit.value" = 10;
|
||||||
"workbench.editor.limit.perEditorGroup" = true;
|
"workbench.editor.limit.perEditorGroup" = true;
|
||||||
"workbench.editor.showTabs" = "single";
|
"workbench.editor.showTabs" = "multiple";
|
||||||
"files.autoSave" = "onWindowChange";
|
"files.autoSave" = "onWindowChange";
|
||||||
"explorer.openEditors.visible" = 0;
|
"explorer.openEditors.visible" = 0;
|
||||||
"breadcrumbs.enabled" = false;
|
"breadcrumbs.enabled" = false;
|
||||||
"editor.renderControlCharacters" = false;
|
"editor.renderControlCharacters" = false;
|
||||||
"workbench.activityBar.location" = "hidden";
|
"workbench.activityBar.location" = "default";
|
||||||
"workbench.statusBar.visible" = false;
|
"workbench.statusBar.visible" = false;
|
||||||
"editor.scrollbar.verticalScrollbarSize" = 2;
|
"editor.scrollbar.verticalScrollbarSize" = 4;
|
||||||
"editor.scrollbar.horizontalScrollbarSize" = 2;
|
"editor.scrollbar.horizontalScrollbarSize" = 4;
|
||||||
"editor.scrollbar.vertical" = "hidden";
|
"editor.scrollbar.vertical" = "auto";
|
||||||
"editor.scrollbar.horizontal" = "hidden";
|
"editor.scrollbar.horizontal" = "auto";
|
||||||
"workbench.layoutControl.enabled" = false;
|
"workbench.layoutControl.enabled" = false;
|
||||||
|
|
||||||
"editor.mouseWheelZoom" = true;
|
"editor.mouseWheelZoom" = true;
|
||||||
|
|
|
@ -1,6 +1,35 @@
|
||||||
{ ... }:
|
{...}: let
|
||||||
{
|
custom = {
|
||||||
imports = [ (import ./waybar.nix) ]
|
font = "JetBrainsMono Nerd Font";
|
||||||
++ [ (import ./settings.nix) ]
|
fontsize = "12";
|
||||||
++ [ (import ./style.nix) ];
|
primary_accent = "cba6f7";
|
||||||
|
secondary_accent = "89b4fa";
|
||||||
|
tertiary_accent = "f5f5f5";
|
||||||
|
background = "11111B";
|
||||||
|
opacity = "0.98";
|
||||||
|
cursor = "Numix-Cursor";
|
||||||
|
palette = rec {
|
||||||
|
primary_accent_hex = "cba6f7";
|
||||||
|
secondary_accent_hex = "89b4fa";
|
||||||
|
tertiary_accent_hex = "f5f5f5";
|
||||||
|
primary_background_hex = "11111B";
|
||||||
|
secondary_background_hex = "1b1b2b";
|
||||||
|
tertiary_background_hex = "25253a";
|
||||||
|
|
||||||
|
primary_accent_rgba = "rgba(203,166,247,${opacity})";
|
||||||
|
secondary_accent_rgba = "rgba(137,180,250,${opacity})";
|
||||||
|
tertiary_accent_rgba = "rgba(245,245,245,${opacity})";
|
||||||
|
primary_background_rgba = "rgba(17,17,27,${opacity})";
|
||||||
|
secondary_background_rgba = "rgba(27,27,43,${opacity})";
|
||||||
|
tertiary_background_rgba = "rgba(37,37,58,${opacity})";
|
||||||
|
|
||||||
|
opacity = "1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
_module.args = {inherit custom;};
|
||||||
|
imports =
|
||||||
|
[(import ./waybar.nix)]
|
||||||
|
++ [(import ./settings.nix)]
|
||||||
|
++ [(import ./style.nix)];
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,137 +1,167 @@
|
||||||
{ ... }:
|
|
||||||
{
|
{
|
||||||
|
custom ? {
|
||||||
|
font = "JetBrainsMono Nerd Font";
|
||||||
|
fontsize = "12";
|
||||||
|
primary_accent = "cba6f7";
|
||||||
|
secondary_accent = "89b4fa";
|
||||||
|
tertiary_accent = "f5f5f5";
|
||||||
|
background = "11111B";
|
||||||
|
opacity = ".85";
|
||||||
|
cursor = "Numix-Cursor";
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.waybar.settings.mainBar = {
|
programs.waybar.settings.mainBar = {
|
||||||
position= "bottom";
|
position = "top";
|
||||||
layer= "top";
|
layer = "top";
|
||||||
height= 5;
|
# height= 15;
|
||||||
margin-top= 0;
|
margin-top = 0;
|
||||||
margin-bottom= 0;
|
margin-bottom = 5;
|
||||||
margin-left= 0;
|
margin-left = 0;
|
||||||
margin-right= 0;
|
margin-right = 0;
|
||||||
modules-left= [
|
modules-left = [
|
||||||
"custom/launcher"
|
"custom/launcher"
|
||||||
"hyprland/workspaces"
|
"custom/playerctl#backward"
|
||||||
|
"custom/playerctl#play"
|
||||||
|
"custom/playerctl#forward"
|
||||||
];
|
];
|
||||||
modules-center= [
|
modules-center = [
|
||||||
"clock"
|
"hyprland/workspaces"
|
||||||
];
|
];
|
||||||
modules-right= [
|
modules-right = [
|
||||||
"tray"
|
"tray"
|
||||||
"cpu"
|
"cpu"
|
||||||
"memory"
|
"memory"
|
||||||
"disk"
|
"disk"
|
||||||
"pulseaudio"
|
"pulseaudio"
|
||||||
"battery"
|
"battery"
|
||||||
"network"
|
"network"
|
||||||
"custom/notification"
|
"custom/notification"
|
||||||
|
"clock"
|
||||||
];
|
];
|
||||||
clock= {
|
clock = {
|
||||||
calendar = {
|
format = " {:%H:%M}";
|
||||||
format = { today = "<span color='#b4befe'><b><u>{}</u></b></span>"; };
|
tooltip = true;
|
||||||
};
|
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||||
format = " {:%H:%M}";
|
format-alt = " {:%d/%m}";
|
||||||
tooltip= "true";
|
|
||||||
tooltip-format= "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
|
||||||
format-alt= " {:%d/%m}";
|
|
||||||
};
|
};
|
||||||
"hyprland/workspaces"= {
|
"wlr/workspaces" = {
|
||||||
active-only= false;
|
active-only = false;
|
||||||
disable-scroll= true;
|
all-outputs = false;
|
||||||
format = "{icon}";
|
disable-scroll = false;
|
||||||
on-click= "activate";
|
on-scroll-up = "hyprctl dispatch workspace e-1";
|
||||||
format-icons= {
|
on-scroll-down = "hyprctl dispatch workspace e+1";
|
||||||
"1"= "";
|
format = "{name}";
|
||||||
"2"= "";
|
on-click = "activate";
|
||||||
"3"= "";
|
format-icons = {
|
||||||
"4"= "";
|
urgent = "";
|
||||||
"5"= "";
|
active = "";
|
||||||
"6"= "";
|
default = "";
|
||||||
urgent= "";
|
sort-by-number = true;
|
||||||
default = "";
|
};
|
||||||
sort-by-number= true;
|
|
||||||
};
|
|
||||||
persistent-workspaces = {
|
|
||||||
"1"= [];
|
|
||||||
"2"= [];
|
|
||||||
"3"= [];
|
|
||||||
"4"= [];
|
|
||||||
"5"= [];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
memory= {
|
"custom/playerctl#backward" = {
|
||||||
format= " {}%";
|
format = " ";
|
||||||
format-alt= " {used} GiB"; #
|
on-click = "playerctl previous";
|
||||||
interval= 2;
|
on-scroll-up = "playerctl volume .05+";
|
||||||
|
on-scroll-down = "playerctl volume .05-";
|
||||||
|
tooltip = false;
|
||||||
};
|
};
|
||||||
cpu= {
|
"custom/playerctl#play" = {
|
||||||
format= " {usage}%";
|
format = "{icon}";
|
||||||
format-alt= " {avg_frequency} GHz";
|
return-type = "json";
|
||||||
interval= 2;
|
exec = "playerctl -a metadata --format '{\"text\": \"{{artist}} - {{markup_escape(title)}}\", \"tooltip\": \"{{playerName}} : {{markup_escape(title)}}\", \"alt\": \"{{status}}\", \"class\": \"{{status}}\"}' -F";
|
||||||
|
on-click = "playerctl play-pause";
|
||||||
|
on-scroll-up = "playerctl volume .05+";
|
||||||
|
on-scroll-down = "playerctl volume .05-";
|
||||||
|
format-icons = {
|
||||||
|
Playing = "<span> </span>";
|
||||||
|
Paused = "<span> </span>";
|
||||||
|
Stopped = "<span> </span>";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"custom/playerctl#forward" = {
|
||||||
|
format = " ";
|
||||||
|
on-click = "playerctl next";
|
||||||
|
on-scroll-up = "playerctl volume .05+";
|
||||||
|
on-scroll-down = "playerctl volume .05-";
|
||||||
|
tooltip = false;
|
||||||
|
};
|
||||||
|
memory = {
|
||||||
|
format = " {}%";
|
||||||
|
format-alt = " {used} GiB"; #
|
||||||
|
interval = 2;
|
||||||
|
};
|
||||||
|
cpu = {
|
||||||
|
format = " {usage}%";
|
||||||
|
format-alt = " {avg_frequency} GHz";
|
||||||
|
interval = 2;
|
||||||
};
|
};
|
||||||
disk = {
|
disk = {
|
||||||
# path = "/";
|
# path = "/";
|
||||||
format = " {percentage_used}%";
|
format = " {percentage_used}%";
|
||||||
interval= 60;
|
interval = 60;
|
||||||
};
|
};
|
||||||
network = {
|
network = {
|
||||||
format-wifi = " {signalStrength}%";
|
format-wifi = " {signalStrength}%";
|
||||||
format-ethernet = " ";
|
format-ethernet = " ";
|
||||||
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
|
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
|
||||||
format-linked = "{ifname} (No IP)";
|
format-linked = "{ifname} (No IP)";
|
||||||
format-disconnected = " ";
|
format-disconnected = " ";
|
||||||
};
|
};
|
||||||
tray= {
|
tray = {
|
||||||
icon-size= 20;
|
icon-size = 20;
|
||||||
spacing= 8;
|
spacing = 8;
|
||||||
};
|
};
|
||||||
pulseaudio= {
|
pulseaudio = {
|
||||||
format= "{icon} {volume}%";
|
format = "{icon} {volume}%";
|
||||||
format-muted= " {volume}%";
|
format-muted = " ";
|
||||||
format-icons= {
|
format-icons = {
|
||||||
default= [" "];
|
default = [" "];
|
||||||
};
|
};
|
||||||
scroll-step= 5;
|
scroll-step = 5;
|
||||||
on-click= "pamixer -t";
|
on-click = "pamixer -t";
|
||||||
|
on-click-right = "pavucontrol";
|
||||||
};
|
};
|
||||||
battery = {
|
battery = {
|
||||||
format = "{icon} {capacity}%";
|
format = "{icon} {capacity}%";
|
||||||
format-icons = [" " " " " " " " " "];
|
format-icons = [" " " " " " " " " "];
|
||||||
format-charging = " {capacity}%";
|
format-charging = " {capacity}%";
|
||||||
format-full = " {capacity}%";
|
format-full = " {capacity}%";
|
||||||
format-warning = " {capacity}%";
|
format-warning = " {capacity}%";
|
||||||
interval = 5;
|
interval = 5;
|
||||||
states = {
|
states = {
|
||||||
warning = 20;
|
warning = 20;
|
||||||
};
|
};
|
||||||
format-time = "{H}h{M}m";
|
format-time = "{H}h{M}m";
|
||||||
tooltip = true;
|
tooltip = true;
|
||||||
tooltip-format = "{time}";
|
tooltip-format = "{time}";
|
||||||
};
|
};
|
||||||
"custom/launcher"= {
|
"custom/launcher" = {
|
||||||
format= "";
|
format = "";
|
||||||
on-click= "fuzzel";
|
on-click = "pkill fuzzel || fuzzel";
|
||||||
on-click-right= "wallpaper-picker";
|
on-click-right = "pkill fuzzel || wallpaper-picker";
|
||||||
tooltip= "false";
|
tooltip = false;
|
||||||
};
|
};
|
||||||
"custom/notification" = {
|
"custom/notification" = {
|
||||||
tooltip = false;
|
tooltip = false;
|
||||||
format = "{icon} ";
|
format = "{icon}";
|
||||||
format-icons = {
|
format-icons = {
|
||||||
notification = "<span foreground='red'><sup></sup></span> ";
|
notification = "<span foreground='red'><sup></sup></span>";
|
||||||
none = " ";
|
none = " ";
|
||||||
dnd-notification = "<span foreground='red'><sup></sup></span> ";
|
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||||
dnd-none = " ";
|
dnd-none = " ";
|
||||||
inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||||
inhibited-none = " ";
|
inhibited-none = " ";
|
||||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||||
dnd-inhibited-none = " ";
|
dnd-inhibited-none = " ";
|
||||||
};
|
};
|
||||||
return-type = "json";
|
return-type = "json";
|
||||||
exec-if = "which swaync-client";
|
exec-if = "which swaync-client";
|
||||||
exec = "swaync-client -swb";
|
exec = "swaync-client -swb";
|
||||||
on-click = "swaync-client -t -sw";
|
on-click = "swaync-client -t -sw";
|
||||||
on-click-right = "swaync-client -d -sw";
|
on-click-right = "swaync-client -d -sw";
|
||||||
escape = true;
|
escape = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,26 +1,24 @@
|
||||||
{ ... }:
|
|
||||||
let custom = {
|
|
||||||
font = "JetBrainsMono Nerd Font";
|
|
||||||
font_size = "15px";
|
|
||||||
font_weight = "bold";
|
|
||||||
text_color = "#cdd6f4";
|
|
||||||
secondary_accent= "89b4fa";
|
|
||||||
tertiary_accent = "f5f5f5";
|
|
||||||
background = "11111B";
|
|
||||||
opacity = "0.98";
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
|
custom ? {
|
||||||
|
font = "JetBrainsMono Nerd Font";
|
||||||
|
fontsize = "12";
|
||||||
|
primary_accent = "cba6f7";
|
||||||
|
secondary_accent = "89b4fa";
|
||||||
|
tertiary_accent = "cdd6f4";
|
||||||
|
background = "11111B";
|
||||||
|
opacity = ".98";
|
||||||
|
cursor = "Numix-Cursor";
|
||||||
|
},
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.waybar.style = ''
|
programs.waybar.style = ''
|
||||||
|
|
||||||
* {
|
* {
|
||||||
border: none;
|
border: none;
|
||||||
border-radius: 0px;
|
border-radius: 0px;
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
min-height: 0px;
|
|
||||||
font-family: ${custom.font};
|
font-family: ${custom.font};
|
||||||
font-weight: ${custom.font_weight};
|
font-weight: bold;
|
||||||
|
font-size: 15px;
|
||||||
|
min-height: 0;
|
||||||
opacity: ${custom.opacity};
|
opacity: ${custom.opacity};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,76 +27,152 @@ in
|
||||||
}
|
}
|
||||||
|
|
||||||
#workspaces {
|
#workspaces {
|
||||||
font-size: 18px;
|
background: #${custom.palette.tertiary_background_hex};
|
||||||
padding-left: 15px;
|
margin: 5px 5px;
|
||||||
|
padding: 8px 12px;
|
||||||
|
border-radius: 12px 12px 24px 24px;
|
||||||
|
color: #${custom.primary_accent}
|
||||||
}
|
}
|
||||||
#workspaces button {
|
#workspaces button {
|
||||||
color: ${custom.text_color};
|
padding: 0px 5px;
|
||||||
padding-left: 6px;
|
margin: 0px 3px;
|
||||||
padding-right: 6px;
|
border-radius: 15px;
|
||||||
}
|
color: #${custom.background};
|
||||||
#workspaces button.empty {
|
background: #${custom.secondary_accent};
|
||||||
color: #6c7086;
|
transition: all 0.2s ease-in-out;
|
||||||
}
|
|
||||||
#workspaces button.active {
|
|
||||||
color: #b4befe;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray, #pulseaudio, #network, #cpu, #memory, #disk, #clock, #battery, #custom-notification {
|
#workspaces button.active {
|
||||||
font-size: ${custom.font_size};
|
background-color: #${custom.primary_accent};
|
||||||
color: ${custom.text_color};
|
color: #${custom.background};
|
||||||
|
border-radius: 15px;
|
||||||
|
min-width: 35px;
|
||||||
|
background-size: 200% 200%;
|
||||||
|
transition: all 0.2s ease-in-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
#workspaces button:hover {
|
||||||
|
background-color: #b4befe;
|
||||||
|
color: #${custom.background};
|
||||||
|
border-radius: 15px;
|
||||||
|
min-width: 35px;
|
||||||
|
background-size: 200% 200%;
|
||||||
|
}
|
||||||
|
|
||||||
|
#tray, #pulseaudio, #network, #cpu, #memory, #disk,
|
||||||
|
#custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.forward, #battery, #custom-notification {
|
||||||
|
background: #${custom.palette.tertiary_background_hex};
|
||||||
|
font-weight: bold;
|
||||||
|
margin: 5px 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#cpu {
|
#cpu {
|
||||||
|
color: #${custom.tertiary_accent};
|
||||||
|
border-radius: 10px 0px 0px 24px;
|
||||||
padding-left: 15px;
|
padding-left: 15px;
|
||||||
padding-right: 9px;
|
padding-right: 9px;
|
||||||
margin-left: 7px;
|
margin-left: 7px;
|
||||||
}
|
}
|
||||||
#memory {
|
#memory {
|
||||||
|
color: #${custom.tertiary_accent};
|
||||||
|
border-radius: 0;
|
||||||
padding-left: 9px;
|
padding-left: 9px;
|
||||||
padding-right: 9px;
|
padding-right: 9px;
|
||||||
}
|
}
|
||||||
#disk {
|
#disk {
|
||||||
|
color: #${custom.tertiary_accent};
|
||||||
|
border-radius: 0px 24px 10px 0px;
|
||||||
padding-left: 9px;
|
padding-left: 9px;
|
||||||
padding-right: 15px;
|
padding-right: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#tray {
|
#tray {
|
||||||
|
color: #${custom.tertiary_accent};
|
||||||
|
border-radius: 10px 24px 10px 24px;
|
||||||
padding: 0 20px;
|
padding: 0 20px;
|
||||||
margin-left: 7px;
|
margin-left: 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#pulseaudio {
|
#pulseaudio {
|
||||||
|
color: #${custom.tertiary_accent};
|
||||||
|
border-radius: 10px 0px 0px 24px;
|
||||||
padding-left: 15px;
|
padding-left: 15px;
|
||||||
padding-right: 9px;
|
padding-right: 9px;
|
||||||
margin-left: 7px;
|
margin-left: 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#battery {
|
#battery {
|
||||||
|
color: #${custom.tertiary_accent};
|
||||||
|
border-radius: 0;
|
||||||
padding-left: 9px;
|
padding-left: 9px;
|
||||||
padding-right: 9px;
|
padding-right: 9px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#network {
|
#network {
|
||||||
|
color: #${custom.tertiary_accent};
|
||||||
|
border-radius: 0;
|
||||||
padding-left: 9px;
|
padding-left: 9px;
|
||||||
padding-right: 30px;
|
padding-right: 9px;
|
||||||
}
|
}
|
||||||
|
|
||||||
custom-notification {
|
#custom-notification {
|
||||||
padding-left: 20px;
|
color: #${custom.tertiary_accent};
|
||||||
padding-right: 20px;
|
border-radius: 0px 24px 10px 0px;
|
||||||
}
|
|
||||||
|
|
||||||
#clock {
|
|
||||||
padding-left: 9px;
|
padding-left: 9px;
|
||||||
padding-right: 15px;
|
padding-right: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#clock {
|
||||||
|
color: #${custom.tertiary_accent};
|
||||||
|
background: #${custom.palette.tertiary_background_hex};
|
||||||
|
border-radius: 0px 0px 0px 40px;
|
||||||
|
padding: 10px 10px 15px 25px;
|
||||||
|
margin-left: 7px;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
#custom-launcher {
|
#custom-launcher {
|
||||||
font-size: 20px;
|
color: #${custom.secondary_accent};
|
||||||
color: #b4befe;
|
background: #${custom.palette.tertiary_background_hex};
|
||||||
font-weight: ${custom.font_weight};
|
border-radius: 0px 0px 40px 0px;
|
||||||
padding-left: 10px;
|
margin: 0px;
|
||||||
|
padding: 0px 30px 0px 10px;
|
||||||
|
font-size: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#custom-playerctl.backward, #custom-playerctl.play, #custom-playerctl.forward {
|
||||||
|
background: #${custom.palette.tertiary_background_hex};
|
||||||
|
font-size: 22px;
|
||||||
|
}
|
||||||
|
#custom-playerctl.backward:hover, #custom-playerctl.play:hover, #custom-playerctl.forward:hover{
|
||||||
|
color: #${custom.tertiary_accent};
|
||||||
|
}
|
||||||
|
#custom-playerctl.backward {
|
||||||
|
color: #${custom.primary_accent};
|
||||||
|
border-radius: 24px 0px 0px 10px;
|
||||||
|
padding-left: 16px;
|
||||||
|
margin-left: 7px;
|
||||||
|
}
|
||||||
|
#custom-playerctl.play {
|
||||||
|
color: #${custom.secondary_accent};
|
||||||
|
padding: 0 5px;
|
||||||
|
}
|
||||||
|
#custom-playerctl.forward {
|
||||||
|
color: #${custom.primary_accent};
|
||||||
|
border-radius: 0px 10px 24px 0px;
|
||||||
|
padding-right: 12px;
|
||||||
|
margin-right: 7px
|
||||||
|
}
|
||||||
|
#window{
|
||||||
|
background: #${custom.palette.tertiary_background_hex};
|
||||||
|
padding-left: 15px;
|
||||||
padding-right: 15px;
|
padding-right: 15px;
|
||||||
|
border-radius: 16px;
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
font-weight: normal;
|
||||||
|
font-style: normal;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
{ pkgs, ... }:
|
{pkgs, ...}: {
|
||||||
{
|
|
||||||
programs.waybar = {
|
programs.waybar = {
|
||||||
enable = true;
|
enable = true;
|
||||||
};
|
};
|
||||||
programs.waybar.package = pkgs.waybar.overrideAttrs (oa: {
|
programs.waybar.package = pkgs.waybar.overrideAttrs (oa: {
|
||||||
mesonFlags = (oa.mesonFlags or [ ]) ++ [ "-Dexperimental=true" ];
|
mesonFlags = (oa.mesonFlags or []) ++ ["-Dexperimental=true"];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,10 @@
|
||||||
{ hostname, config, pkgs, host, ...}:
|
|
||||||
{
|
{
|
||||||
|
hostname,
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
host,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
programs.zsh = {
|
programs.zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
enableCompletion = true;
|
enableCompletion = true;
|
||||||
|
@ -7,7 +12,7 @@
|
||||||
syntaxHighlighting.enable = true;
|
syntaxHighlighting.enable = true;
|
||||||
oh-my-zsh = {
|
oh-my-zsh = {
|
||||||
enable = true;
|
enable = true;
|
||||||
plugins = [ "git" "fzf" ];
|
plugins = ["git" "fzf"];
|
||||||
};
|
};
|
||||||
initExtraFirst = ''
|
initExtraFirst = ''
|
||||||
DISABLE_MAGIC_FUNCTIONS=true
|
DISABLE_MAGIC_FUNCTIONS=true
|
||||||
|
@ -44,21 +49,21 @@
|
||||||
nix-clean = "sudo nix-collect-garbage && sudo nix-collect-garbage -d && sudo rm /nix/var/nix/gcroots/auto/* && nix-collect-garbage && nix-collect-garbage -d";
|
nix-clean = "sudo nix-collect-garbage && sudo nix-collect-garbage -d && sudo rm /nix/var/nix/gcroots/auto/* && nix-collect-garbage && nix-collect-garbage -d";
|
||||||
|
|
||||||
# Git
|
# Git
|
||||||
ga = "git add";
|
ga = "git add";
|
||||||
gaa = "git add --all";
|
gaa = "git add --all";
|
||||||
gs = "git status";
|
gs = "git status";
|
||||||
gb = "git branch";
|
gb = "git branch";
|
||||||
gm = "git merge";
|
gm = "git merge";
|
||||||
gpl = "git pull";
|
gpl = "git pull";
|
||||||
gplo = "git pull origin";
|
gplo = "git pull origin";
|
||||||
gps = "git push";
|
gps = "git push";
|
||||||
gpst = "git push --follow-tags";
|
gpst = "git push --follow-tags";
|
||||||
gpso = "git push origin";
|
gpso = "git push origin";
|
||||||
gc = "git commit";
|
gc = "git commit";
|
||||||
gcm = "git commit -m";
|
gcm = "git commit -m";
|
||||||
gcma = "git add --all && git commit -m";
|
gcma = "git add --all && git commit -m";
|
||||||
gtag = "git tag -ma";
|
gtag = "git tag -ma";
|
||||||
gch = "git checkout";
|
gch = "git checkout";
|
||||||
gchb = "git checkout -b";
|
gchb = "git checkout -b";
|
||||||
gcoe = "git config user.email";
|
gcoe = "git config user.email";
|
||||||
gcon = "git config user.name";
|
gcon = "git config user.name";
|
||||||
|
|
|
@ -1,27 +0,0 @@
|
||||||
{ stdenv, lib, stdenv, fetchFromGitHub, ... }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "2048";
|
|
||||||
version = "1.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "Frost-Phoenix";
|
|
||||||
repo = "nixos-config";
|
|
||||||
rev = "main";
|
|
||||||
sha256 = ""; # Replace with the actual hash
|
|
||||||
};
|
|
||||||
|
|
||||||
buildInputs = [
|
|
||||||
|
|
||||||
];
|
|
||||||
|
|
||||||
buildPhase = ''
|
|
||||||
make release
|
|
||||||
'';
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
make install INSTALL_DIR=$out/bin
|
|
||||||
chmod +x $out/bin/2048
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -1,12 +0,0 @@
|
||||||
rec{
|
|
||||||
overlay = final: prev:
|
|
||||||
let
|
|
||||||
dirContents = builtins.readDir ../pkgs;
|
|
||||||
genPackage = name: {
|
|
||||||
inherit name;
|
|
||||||
value = final.callPackage (../pkgs + "/${name}") { };
|
|
||||||
};
|
|
||||||
names = builtins.attrNames dirContents;
|
|
||||||
in
|
|
||||||
builtins.listToAttrs (map genPackage names);
|
|
||||||
}
|
|
Before Width: | Height: | Size: 823 KiB |
Before Width: | Height: | Size: 1.3 MiB |
Before Width: | Height: | Size: 229 KiB |
Before Width: | Height: | Size: 68 KiB |