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">
|
||||
<img src="./.github/assets/logo/nixos-logo.png " width="100px" />
|
||||
<img src="./.repo/assets/logo/nixos-logo.png " width="100px" />
|
||||
<br>
|
||||
Frost-Phoenix's Flakes
|
||||
peprolinbot's Flakes
|
||||
<br>
|
||||
<img src="https://raw.githubusercontent.com/catppuccin/catppuccin/main/assets/palette/macchiato.png" width="600px" /> <br>
|
||||
<div align="center">
|
||||
|
@ -9,12 +9,6 @@
|
|||
<div align="center">
|
||||
<p></p>
|
||||
<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">
|
||||
<img src="https://img.shields.io/badge/NixOS-unstable-blue.svg?style=for-the-badge&labelColor=303446&logo=NixOS&logoColor=white&color=91D7E3">
|
||||
</a>
|
||||
|
@ -32,36 +26,20 @@
|
|||
### 🖼️ Gallery
|
||||
|
||||
<p align="center">
|
||||
<img src="./.github/assets/screenshots/1.png" /> <br>
|
||||
<img src="./.github/assets/screenshots/2.png" /> <br>
|
||||
<img src="./.github/assets/screenshots/3.png" /> <br>
|
||||
Screenshots last updated <b>2024-04-09</b>
|
||||
<img src="./.repo/assets/screenshots/1.png" /> <br>
|
||||
<img src="./.repo/assets/screenshots/2.png" /> <br>
|
||||
Screenshots last updated <b>8th July 2024</b>
|
||||
</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
|
||||
|
||||
### 📚 Layout
|
||||
|
||||
- [flake.nix](flake.nix) base of the configuration
|
||||
- [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
|
||||
- [core](modules/core/) ⚙️ Core NixOS configuration
|
||||
- [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
|
||||
| | NixOS + Hyprland |
|
||||
|
@ -80,10 +58,10 @@ OLD (EXPAND)
|
|||
| **Color Scheme** | [Catppuccin][Catppuccin] |
|
||||
| **Cursor** | [Nordzy-cursors][Nordzy-cursors] |
|
||||
| **Icons** | [catppuccin-papirus-folders][catppuccin-papirus-folders] |
|
||||
| **Lockscreen** | [Swaylock-effects][Swaylock-effects] |
|
||||
| **Lockscreen** | [Hyprlock][Swaylock-effects] |
|
||||
| **Image Viewer** | [imv][imv] |
|
||||
| **Media Player** | [mpv][mpv] |
|
||||
| **Music Player** | [audacious][audacious] |
|
||||
| **Music Player** | [audacious][spotify_player] |
|
||||
| **Screenshot Software** | [grimblast][grimblast] |
|
||||
| **Screen Recording** | [wf-recorder][wf-recorder] |
|
||||
| **Clipboard** | [wl-clip-persist][wl-clip-persist] |
|
||||
|
@ -192,26 +170,6 @@ toggle_oppacity.sh
|
|||
**Usage:** ```toggle_oppacity```
|
||||
</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>
|
||||
<summary>
|
||||
runbg.sh
|
||||
|
@ -224,130 +182,7 @@ runbg.sh
|
|||
|
||||
### ⌨️ Keybinds
|
||||
|
||||
View all keybinds by pressing ```$mainMod F1``` and wallpaper picker by pressing ```$mainMod w```. 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>
|
||||
View all keybinds by pressing ```$mainMod F1```. By default ```$mainMod``` is the ```SUPER``` key.
|
||||
|
||||
# 🚀 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>
|
||||
> **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**
|
||||
|
||||
|
@ -366,75 +201,24 @@ Mouse binding
|
|||
|
||||
```
|
||||
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
|
||||
```
|
||||
3. **Install script**
|
||||
|
||||
> First make sure to read the install script, it isn't long
|
||||
|
||||
Execute and follow the installation script :
|
||||
```
|
||||
./install.sh
|
||||
```
|
||||
> You will need to change the git account yourself in ./modules/home/git.nix
|
||||
```
|
||||
programs.git = {
|
||||
...
|
||||
userName = "Frost-Phoenix";
|
||||
userEmail = "67cyril6767@gmail.com";
|
||||
...
|
||||
};
|
||||
```
|
||||
2. **Customize**
|
||||
Read everything (as much as you can anyway) and edit what you consider neccesary.
|
||||
|
||||
3. **Install**
|
||||
|
||||
Run `sudo nixos-rebuild switch --flake .` and fix any errors that might arise
|
||||
|
||||
4. **Reboot**
|
||||
|
||||
After rebooting, you'll be greeted by swaylock prompting for your password, with the wallpaper in the background.
|
||||
|
||||
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.
|
||||
After rebooting, you'll be greeted by regreet prompting for your password.
|
||||
|
||||
# 👥 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
|
||||
- [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)
|
||||
- [Ruixi-rebirth/flakes](https://github.com/Ruixi-rebirth/flakes)
|
||||
|
||||
|
||||
<!-- # ✨ 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>
|
||||
Please open an issue if i forgot to credit you.
|
||||
|
||||
<!-- 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
|
||||
[zsh]: https://ohmyz.sh/
|
||||
[oh-my-zsh]: https://ohmyz.sh/
|
||||
[Swaylock-effects]: https://github.com/mortie/swaylock-effects
|
||||
[audacious]: https://audacious-media-player.org/
|
||||
[hyprlock]: https://github.com/hyprwm/hyprlock
|
||||
[spotify_player]: https://github.com/aome510/spotify-player
|
||||
[mpv]: https://github.com/mpv-player/mpv
|
||||
[VSCodium]:https://vscodium.com/
|
||||
[Neovim]: https://github.com/neovim/neovim
|
||||
|
|
218
flake.lock
|
@ -91,7 +91,67 @@
|
|||
"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": {
|
||||
"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": {
|
||||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
|
@ -125,6 +185,28 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -132,11 +214,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1719677234,
|
||||
"narHash": "sha256-qO9WZsj/0E6zcK4Ht1y/iJ8XfwbBzq7xdqhBh44OP/M=",
|
||||
"lastModified": 1720188602,
|
||||
"narHash": "sha256-lC3byBmhVZFzWl/dCic8+cKUEEAXAswWOYjq4paFmbo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "36317d4d38887f7629876b0e43c8d9593c5cc48d",
|
||||
"rev": "e3582e5151498bc4d757e8361431ace8529e7bb7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -147,7 +229,7 @@
|
|||
},
|
||||
"hypr-contrib": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1718476555,
|
||||
|
@ -198,16 +280,16 @@
|
|||
"hyprlang": "hyprlang",
|
||||
"hyprutils": "hyprutils",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"systems": "systems",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1719684307,
|
||||
"narHash": "sha256-mpBw92WX8uqxRd4UWAHg4K6r33brYqDg8cpVXzr1NnQ=",
|
||||
"lastModified": 1720213509,
|
||||
"narHash": "sha256-aPYf8Jnu1fMgMYMgQnH433/Fcqfky1Z5ZuzCkNKcR1U=",
|
||||
"ref": "refs/heads/main",
|
||||
"rev": "718afe271ecebfe6711453b9cfee90fa49a7e761",
|
||||
"revCount": 4897,
|
||||
"rev": "cc98594c3aed0b542e03818371a4636f549f80e1",
|
||||
"revCount": 4908,
|
||||
"submodules": true,
|
||||
"type": "git",
|
||||
"url": "https://github.com/hyprwm/Hyprland"
|
||||
|
@ -276,14 +358,14 @@
|
|||
},
|
||||
"hyprpicker": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_4"
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1718119103,
|
||||
"narHash": "sha256-Ghtstc1LV2RkaQDwThGS2VfjHgYSvgk4+jsytDKYog0=",
|
||||
"lastModified": 1719873934,
|
||||
"narHash": "sha256-2UiP64OYyeeQJnrt3opInzv8IJKeor9nUAoxl87anng=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "hyprpicker",
|
||||
"rev": "67e0f34e2760a80d74ab5d8ec8d2acae692d307f",
|
||||
"rev": "b0974381f996f92dc191e6b03adf7d581061619b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -342,17 +424,48 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1719710498,
|
||||
"narHash": "sha256-+yqI1zvk1jNcNTWA3CGnp5N2jSXr/q/CggYZYvGsdNc=",
|
||||
"lastModified": 1720185178,
|
||||
"narHash": "sha256-9KJ7KXQYDhnAfPIAvYYAEFW+85Gk9gm5W1pMoE/VMFg=",
|
||||
"owner": "fufexan",
|
||||
"repo": "nix-gaming",
|
||||
"rev": "774908e566a0b3b702219fdf90a5ed4551b3688d",
|
||||
"rev": "6caa391790442baea22260296041429fb365e0ce",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -390,6 +503,22 @@
|
|||
}
|
||||
},
|
||||
"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": {
|
||||
"lastModified": 1712163089,
|
||||
"narHash": "sha256-Um+8kTIrC19vD4/lUCN9/cU9kcOsD1O1m+axJqQPyMM=",
|
||||
|
@ -405,7 +534,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1719075281,
|
||||
"narHash": "sha256-CyyxvOwFf12I91PBWz43iGT1kjsf5oi6ax7CrvaMyAo=",
|
||||
|
@ -421,7 +550,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1683014792,
|
||||
"narHash": "sha256-6Va9iVtmmsw4raBc3QKvQT2KT/NGRWlvUlJj46zN8B8=",
|
||||
|
@ -437,7 +566,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1719468428,
|
||||
"narHash": "sha256-vN5xJAZ4UGREEglh3lfbbkIj+MPEYMuqewMn4atZFaQ=",
|
||||
|
@ -453,13 +582,13 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1719506693,
|
||||
"narHash": "sha256-C8e9S7RzshSdHB7L+v9I51af1gDM5unhJ2xO1ywxNH8=",
|
||||
"lastModified": 1720031269,
|
||||
"narHash": "sha256-rwz8NJZV+387rnWpTYcXaRNvzUSnnF9aHONoJIYmiUQ=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "b2852eb9365c6de48ffb0dc2c9562591f652242a",
|
||||
"rev": "9f4128e00b0ae8ec65918efeba59db998750ead6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -471,11 +600,11 @@
|
|||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1719733143,
|
||||
"narHash": "sha256-Q3gdHnH1HCLymN1OdvJqXhwX2xD0LCPL0G66hXK7O5o=",
|
||||
"lastModified": 1720262786,
|
||||
"narHash": "sha256-lOw+DePpT6JEzudxzq/yhDqWW9fOga9vrojV2E1DgAs=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "cfef8e13dde1c1679d6d1781d942b4ab0203e0d2",
|
||||
"rev": "7907d743f2a29c574db99f3297da264fe5fe7a6e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -484,18 +613,49 @@
|
|||
"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": {
|
||||
"inputs": {
|
||||
"alejandra": "alejandra",
|
||||
"catppuccin-bat": "catppuccin-bat",
|
||||
"catppuccin-cava": "catppuccin-cava",
|
||||
"catppuccin-starship": "catppuccin-starship",
|
||||
"fjordlauncher": "fjordlauncher",
|
||||
"home-manager": "home-manager",
|
||||
"hypr-contrib": "hypr-contrib",
|
||||
"hyprland": "hyprland",
|
||||
"hyprpicker": "hyprpicker",
|
||||
"nix-gaming": "nix-gaming",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"nur": "nur"
|
||||
}
|
||||
},
|
||||
|
|
55
flake.nix
|
@ -1,23 +1,25 @@
|
|||
{
|
||||
description = "FrostPhoenix's nixos configuration";
|
||||
description = "peprolinbot's nixos configuration";
|
||||
|
||||
inputs = {
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nur.url = "github:nix-community/NUR";
|
||||
|
||||
|
||||
hypr-contrib.url = "github:hyprwm/contrib";
|
||||
hyprpicker.url = "github:hyprwm/hyprpicker";
|
||||
|
||||
|
||||
alejandra.url = "github:kamadorueda/alejandra/3.0.0";
|
||||
|
||||
|
||||
nix-gaming.url = "github:fufexan/nix-gaming";
|
||||
|
||||
|
||||
fjordlauncher.url = "github:unmojang/FjordLauncher";
|
||||
|
||||
hyprland = {
|
||||
type = "git";
|
||||
url = "https://github.com/hyprwm/Hyprland";
|
||||
submodules = true;
|
||||
};
|
||||
|
||||
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
@ -37,34 +39,43 @@
|
|||
};
|
||||
};
|
||||
|
||||
outputs = { nixpkgs, self, ...} @ inputs:
|
||||
let
|
||||
selfPkgs = import ./pkgs;
|
||||
username = "frostphoenix";
|
||||
outputs = {
|
||||
nixpkgs,
|
||||
self,
|
||||
...
|
||||
} @ inputs: let
|
||||
username = "pedro";
|
||||
system = "x86_64-linux";
|
||||
pkgs = import nixpkgs {
|
||||
inherit system;
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
lib = nixpkgs.lib;
|
||||
in
|
||||
{
|
||||
overlays.default = selfPkgs.overlay;
|
||||
in {
|
||||
nixosConfigurations = {
|
||||
desktop = nixpkgs.lib.nixosSystem {
|
||||
frues-pc = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [ (import ./hosts/desktop) ];
|
||||
specialArgs = { host="desktop"; inherit self inputs username ; };
|
||||
modules = [(import ./hosts/frues-pc)];
|
||||
specialArgs = {
|
||||
host = "frues-pc";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
laptop = nixpkgs.lib.nixosSystem {
|
||||
frues-port = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [ (import ./hosts/laptop) ];
|
||||
specialArgs = { host="laptop"; inherit self inputs username ; };
|
||||
modules = [(import ./hosts/frues-port)];
|
||||
specialArgs = {
|
||||
host = "frues-port";
|
||||
inherit self inputs username;
|
||||
};
|
||||
};
|
||||
vm = nixpkgs.lib.nixosSystem {
|
||||
frues-vm = nixpkgs.lib.nixosSystem {
|
||||
inherit system;
|
||||
modules = [ (import ./hosts/vm) ];
|
||||
specialArgs = { host="vm"; inherit self inputs username ; };
|
||||
modules = [(import ./hosts/frues-vm)];
|
||||
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 = [
|
||||
./hardware-configuration.nix
|
||||
./../../modules/core
|
||||
];
|
||||
|
||||
networking.hostName = "frues-port";
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
acpi
|
||||
brightnessctl
|
||||
cpupower-gui
|
||||
powertop
|
||||
];
|
||||
|
||||
services = {
|
||||
|
||||
services = {
|
||||
# thermald.enable = true;
|
||||
# cpupower-gui.enable = true;
|
||||
power-profiles-daemon.enable = true;
|
||||
|
||||
|
||||
upower = {
|
||||
enable = true;
|
||||
percentageLow = 20;
|
|
@ -1,31 +1,35 @@
|
|||
# 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")
|
||||
];
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "usb_storage" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/761317bf-c727-4d12-b663-bc8eaa0227cc";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/761317bf-c727-4d12-b663-bc8eaa0227cc";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/A00C-17CE";
|
||||
fsType = "vfat";
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/A00C-17CE";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/f9c078c5-d71f-4373-8e11-c6240617e9c2"; }
|
||||
];
|
||||
swapDevices = [
|
||||
{device = "/dev/disk/by-uuid/f9c078c5-d71f-4373-8e11-c6240617e9c2";}
|
||||
];
|
||||
|
||||
# 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
|
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’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/profiles/qemu-guest.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["ahci" "xhci_pci" "virtio_pci" "sr_mod" "virtio_blk"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/631775ef-6851-4fe7-997f-189372f87437";
|
||||
fsType = "ext4";
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/631775ef-6851-4fe7-997f-189372f87437";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
swapDevices = [];
|
||||
|
||||
# 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
|
|
@ -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, ... }:
|
||||
{
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.loader.systemd-boot.configurationLimit = 10;
|
||||
{pkgs, ...}: {
|
||||
boot.loader = {
|
||||
efi = {
|
||||
canTouchEfiVariables = true;
|
||||
efiSysMountPoint = "/boot/efi";
|
||||
};
|
||||
grub = {
|
||||
efiSupport = true;
|
||||
device = "nodev";
|
||||
useOSProber = true;
|
||||
};
|
||||
};
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
}
|
||||
|
|
|
@ -1,16 +1,24 @@
|
|||
{ inputs, nixpkgs, self, username, host, ...}:
|
||||
{
|
||||
inputs,
|
||||
nixpkgs,
|
||||
self,
|
||||
username,
|
||||
host,
|
||||
...
|
||||
}: {
|
||||
imports =
|
||||
[ (import ./bootloader.nix) ]
|
||||
++ [ (import ./hardware.nix) ]
|
||||
++ [ (import ./xserver.nix) ]
|
||||
++ [ (import ./network.nix) ]
|
||||
++ [ (import ./pipewire.nix) ]
|
||||
++ [ (import ./program.nix) ]
|
||||
++ [ (import ./security.nix) ]
|
||||
++ [ (import ./services.nix) ]
|
||||
++ [ (import ./system.nix) ]
|
||||
++ [ (import ./user.nix) ]
|
||||
++ [ (import ./wayland.nix) ]
|
||||
++ [ (import ./virtualization.nix) ];
|
||||
[(import ./bootloader.nix)]
|
||||
++ [(import ./hardware.nix)]
|
||||
++ [(import ./xserver.nix)]
|
||||
++ [(import ./network.nix)]
|
||||
++ [(import ./pipewire.nix)]
|
||||
++ [(import ./programs.nix)]
|
||||
++ [(import ./security.nix)]
|
||||
++ [(import ./services.nix)]
|
||||
++ [(import ./gaming.nix)]
|
||||
++ [(import ./system.nix)]
|
||||
++ [(import ./user.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 = {
|
||||
graphics = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
|
||||
];
|
||||
};
|
||||
};
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
|
||||
hardware.flipperzero.enable = true; # Installs and setups everything Flipper Zero
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
}
|
||||
|
|
|
@ -1,16 +1,14 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
networking = {
|
||||
hostName = "nixos";
|
||||
networkmanager.enable = true;
|
||||
nameservers = [ "1.1.1.1" ];
|
||||
nameservers = ["1.1.1.1"];
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [ 22 80 443 59010 59011 ];
|
||||
allowedUDPPorts = [ 59010 59011 ];
|
||||
allowedTCPPorts = [22 80 443 59010 59011];
|
||||
allowedUDPPorts = [59010 59011];
|
||||
# allowedUDPPortRanges = [
|
||||
# { from = 4000; to = 4007; }
|
||||
# { from = 8000; to = 8010; }
|
||||
# { from = 4000; to = 4007; }
|
||||
# { from = 8000; to = 8010; }
|
||||
# ];
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = false;
|
||||
services.pipewire = {
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
{ pkgs, lib, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
programs.dconf.enable = true;
|
||||
programs.zsh.enable = true;
|
||||
programs.gnupg.agent = {
|
||||
|
@ -9,4 +12,5 @@
|
|||
};
|
||||
programs.nix-ld.enable = true;
|
||||
programs.nix-ld.libraries = with pkgs; [];
|
||||
programs.adb.enable = true;
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
{ ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
security.rtkit.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.hyprlock = {};
|
||||
}
|
||||
|
|
|
@ -1,10 +1,17 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
services = {
|
||||
gvfs.enable = true;
|
||||
gnome.gnome-keyring.enable = true;
|
||||
dbus.enable = true;
|
||||
fstrim.enable = true;
|
||||
flatpak.enable = true;
|
||||
printing.enable = true;
|
||||
blueman.enable = true;
|
||||
avahi = {
|
||||
enable = true;
|
||||
nssmdns4 = true;
|
||||
openFirewall = true;
|
||||
};
|
||||
};
|
||||
services.logind.extraConfig = ''
|
||||
# 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 ];
|
||||
nix = {
|
||||
settings = {
|
||||
auto-optimise-store = true;
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
substituters = [ "https://nix-gaming.cachix.org" ];
|
||||
trusted-public-keys = [ "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" ];
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
substituters = ["https://nix-gaming.cachix.org"];
|
||||
trusted-public-keys = ["nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4="];
|
||||
};
|
||||
gc = {
|
||||
automatic = true;
|
||||
|
@ -16,7 +21,6 @@
|
|||
};
|
||||
nixpkgs = {
|
||||
overlays = [
|
||||
self.overlays.default
|
||||
inputs.nur.overlay
|
||||
];
|
||||
};
|
||||
|
@ -24,9 +28,17 @@
|
|||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
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";
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
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 = {
|
||||
useUserPackages = true;
|
||||
useGlobalPkgs = true;
|
||||
extraSpecialArgs = { inherit inputs username host; };
|
||||
extraSpecialArgs = {inherit inputs username host;};
|
||||
users.${username} = {
|
||||
imports =
|
||||
if (host == "desktop") then
|
||||
[ ./../home/default.desktop.nix ]
|
||||
else [ ./../home ];
|
||||
imports = [./../home];
|
||||
home.username = "${username}";
|
||||
home.homeDirectory = "/home/${username}";
|
||||
home.stateVersion = "24.05";
|
||||
|
@ -20,8 +22,8 @@
|
|||
users.users.${username} = {
|
||||
isNormalUser = true;
|
||||
description = "${username}";
|
||||
extraGroups = [ "networkmanager" "wheel" ];
|
||||
extraGroups = ["networkmanager" "wheel" "i2c" "libvirtd" "adbusers"];
|
||||
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;
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
|
@ -14,4 +17,12 @@
|
|||
environment.systemPackages = with pkgs; [
|
||||
# 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 = {
|
||||
xserver = {
|
||||
enable = true;
|
||||
xkb.layout = "us,fr";
|
||||
xkb.layout = "es,us";
|
||||
};
|
||||
|
||||
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 = {
|
||||
enable = true;
|
||||
config = {
|
||||
|
@ -7,4 +6,4 @@
|
|||
theme = "Dracula";
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.btop = {
|
||||
enable = true;
|
||||
|
||||
|
||||
settings = {
|
||||
color_theme = "dracula";
|
||||
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 = {
|
||||
enable = true;
|
||||
enable = true;
|
||||
};
|
||||
|
||||
|
||||
# https://github.com/catppuccin/cava
|
||||
home.file.".config/cava/config".text = ''
|
||||
# custom cava config
|
||||
'' + builtins.readFile "${inputs.catppuccin-cava}/themes/mocha.cava";
|
||||
home.file.".config/cava/config".text =
|
||||
''
|
||||
# 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 =
|
||||
[(import ./aseprite/aseprite.nix)] # pixel art editor
|
||||
++ [(import ./audacious/audacious.nix)] # music player
|
||||
++ [(import ./bat.nix)] # better cat command
|
||||
++ [(import ./btop.nix)] # resouces monitor
|
||||
++ [(import ./cava.nix)] # audio visualizer
|
||||
++ [(import ./discord.nix)] # discord with catppuccin theme
|
||||
++ [(import ./floorp/floorp.nix)] # firefox based browser
|
||||
++ [(import ./fuzzel.nix)] # launcher
|
||||
++ [(import ./gaming.nix)] # packages related to gaming
|
||||
++ [(import ./git.nix)] # version control
|
||||
++ [(import ./gtk.nix)] # gtk theme
|
||||
++ [(import ./hyprland)] # window manager
|
||||
++ [(import ./kitty.nix)] # terminal
|
||||
++ [(import ./swaync/swaync.nix)] # notification deamon
|
||||
++ [(import ./micro.nix)] # nano replacement
|
||||
++ [(import ./nvim.nix)] # neovim editor
|
||||
++ [(import ./packages.nix)] # other packages
|
||||
[(import ./bat.nix)] # better cat command
|
||||
++ [(import ./btop.nix)] # resouces monitor
|
||||
++ [(import ./cava.nix)] # audio visualizer
|
||||
++ [(import ./discord.nix)] # discord with catppuccin theme
|
||||
++ [(import ./floorp/floorp.nix)] # firefox based browser
|
||||
++ [(import ./fuzzel.nix)] # launcher
|
||||
++ [(import ./gaming.nix)] # packages related to gaming
|
||||
++ [(import ./git.nix)] # version control
|
||||
++ [(import ./gtk.nix)] # gtk theme
|
||||
++ [(import ./hyprland)] # window manager
|
||||
++ [(import ./kitty.nix)] # terminal
|
||||
++ [(import ./swaync/swaync.nix)] # notification deamon
|
||||
++ [(import ./nvim.nix)] # neovim editor
|
||||
++ [(import ./packages.nix)] # other packages
|
||||
++ [(import ./retroarch.nix)]
|
||||
++ [(import ./scripts/scripts.nix)] # personal scripts
|
||||
++ [(import ./starship.nix)] # shell prompt
|
||||
++ [(import ./swaylock.nix)] # lock screen
|
||||
++ [(import ./vscodium.nix)] # vscode forck
|
||||
++ [(import ./waybar)] # status bar
|
||||
++ [(import ./zsh.nix)]; # shell
|
||||
++ [(import ./scripts/scripts.nix)] # personal scripts
|
||||
++ [(import ./spotify.nix)]
|
||||
++ [(import ./starship.nix)] # shell prompt
|
||||
++ [(import ./vscodium.nix)] # vscode forck
|
||||
++ [(import ./waybar)] # status bar
|
||||
++ [(import ./zsh.nix)]; # shell
|
||||
}
|
||||
|
|
|
@ -1,22 +1,18 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
discord
|
||||
# (discord.override {
|
||||
# withVencord = true;
|
||||
# })
|
||||
webcord
|
||||
];
|
||||
xdg.configFile."Vencord/themes/custom.css".text = ''
|
||||
/**
|
||||
* @name Catppuccin Mocha
|
||||
* @author winston#0001
|
||||
* @authorId 505490445468696576
|
||||
* @version 0.2.0
|
||||
* @description 🎮 Soothing pastel theme for Discord
|
||||
* @website https://github.com/catppuccin/discord
|
||||
* @invite r6Mdz5dpFc
|
||||
* **/
|
||||
# xdg.configFile."Vencord/themes/custom.css".text = ''
|
||||
# /**
|
||||
# * @name Catppuccin Mocha
|
||||
# * @author winston#0001
|
||||
# * @authorId 505490445468696576
|
||||
# * @version 0.2.0
|
||||
# * @description 🎮 Soothing pastel theme for Discord
|
||||
# * @website https://github.com/catppuccin/discord
|
||||
# * @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, ... }:
|
||||
{
|
||||
home.packages = (with pkgs; [ floorp ]);
|
||||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [floorp];
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
programs.fuzzel = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
@ -8,13 +7,14 @@
|
|||
line-height = 25;
|
||||
fields = "name,generic,comment,categories,filename,keywords";
|
||||
terminal = "kitty";
|
||||
prompt = "' ➜ '" ;
|
||||
prompt = "' ➜ '";
|
||||
icon-theme = "Papirus-Dark";
|
||||
layer = "top";
|
||||
lines = 10;
|
||||
width = 35;
|
||||
horizontal-pad = 25;
|
||||
inner-pad = 5;
|
||||
dpi-aware = false;
|
||||
};
|
||||
colors = {
|
||||
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
|
||||
# gamemode
|
||||
# gamescope
|
||||
# winetricks
|
||||
# inputs.nix-gaming.packages.${pkgs.system}.wine-ge
|
||||
|
||||
## Minecraft
|
||||
inputs.fjordlauncher.packages.${pkgs.system}.fjordlauncher
|
||||
|
||||
## Cli games
|
||||
_2048-in-terminal
|
||||
vitetris
|
||||
nethack
|
||||
|
||||
|
||||
## Celeste
|
||||
celeste-classic
|
||||
celeste-classic-pm
|
||||
|
@ -23,7 +29,8 @@
|
|||
## Emulation
|
||||
sameboy
|
||||
snes9x
|
||||
# cemu
|
||||
# dolphin-emu
|
||||
cemu
|
||||
dolphin-emu
|
||||
ryujinx
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,12 +1,11 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
|
||||
userName = "Frost-Phoenix";
|
||||
userEmail = "67cyril6767@gmail.com";
|
||||
|
||||
extraConfig = {
|
||||
|
||||
userName = "peprolinbot";
|
||||
userEmail = "personal@peprolinbot.com";
|
||||
|
||||
extraConfig = {
|
||||
init.defaultBranch = "main";
|
||||
credential.helper = "store";
|
||||
};
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
{ pkgs, config, ... }:
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
fonts.fontconfig.enable = true;
|
||||
home.packages = [
|
||||
pkgs.nerdfonts
|
||||
(pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" "Noto" ]; })
|
||||
(pkgs.nerdfonts.override {fonts = ["JetBrainsMono" "Noto"];})
|
||||
pkgs.twemoji-color-font
|
||||
pkgs.noto-fonts-emoji
|
||||
pkgs.roboto
|
||||
];
|
||||
|
||||
gtk = {
|
||||
|
@ -31,7 +35,7 @@
|
|||
size = 22;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
home.pointerCursor = {
|
||||
name = "Nordzy-cursors";
|
||||
package = pkgs.nordzy-cursor-theme;
|
||||
|
|
|
@ -1,27 +1,27 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
wayland.windowManager.hyprland = {
|
||||
settings = {
|
||||
|
||||
# autostart
|
||||
exec-once = [
|
||||
"systemctl --user import-environment &"
|
||||
"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 &"
|
||||
"wl-clip-persist --clipboard both"
|
||||
"swaybg -m fill -i $(find ~/Pictures/wallpapers/ -maxdepth 1 -type f) &"
|
||||
"hyprctl setcursor Nordzy-cursors 22 &"
|
||||
"wl-clip-persist --clipboard both &"
|
||||
"bash -c 'if [ ! -f ~/.config/hypr/wallpaper.png ]; then wall-change ~/.config/hypr/default_wallpaper.png; fi'"
|
||||
"swaybg -m fill -i ~/.config/hypr/wallpaper.png &"
|
||||
"poweralertd &"
|
||||
"waybar &"
|
||||
"swaync &"
|
||||
"wl-paste --watch cliphist store &"
|
||||
"hyprlock"
|
||||
"wl-paste --type text --watch cliphist store &" #Stores only text data
|
||||
"wl-paste --type image --watch cliphist store &" #Stores only image data
|
||||
"ckb-next -b &"
|
||||
"element-desktop --hidden &"
|
||||
];
|
||||
|
||||
input = {
|
||||
kb_layout = "us,fr";
|
||||
kb_options ="grp:alt_caps_toggle";
|
||||
kb_layout = "es,us";
|
||||
kb_options = "grp:alt_caps_toggle";
|
||||
numlock_by_default = true;
|
||||
follow_mouse = 1;
|
||||
sensitivity = 0;
|
||||
|
@ -133,15 +133,16 @@
|
|||
"$mainMod, Return, exec, kitty"
|
||||
"ALT, Return, exec, kitty --title float_kitty"
|
||||
"$mainMod SHIFT, Return, exec, kitty --start-as=fullscreen -o 'font_size=16'"
|
||||
"$mainMod, B, exec, hyprctl dispatch exec '[workspace 1 silent] floorp'"
|
||||
"$mainMod, Q, killactive,"
|
||||
"$mainMod, B, exec, floorp"
|
||||
"$mainMod, N, exec, swaync-client -t"
|
||||
"$mainMod SHIFT, N, exec, swaync-client -d"
|
||||
"$mainMod SHIFT, Q, killactive,"
|
||||
"$mainMod, F, fullscreen, 0"
|
||||
"$mainMod SHIFT, F, fullscreen, 1"
|
||||
"$mainMod, Space, togglefloating,"
|
||||
"$mainMod, D, exec, fuzzel"
|
||||
"$mainMod SHIFT, D, exec, hyprctl dispatch exec '[workspace 4 silent] discord --enable-features=UseOzonePlatform --ozone-platform=wayland'"
|
||||
"$mainMod SHIFT, S, exec, hyprctl dispatch exec '[workspace 5 silent] SoundWireServer'"
|
||||
"$mainMod, Escape, exec, swaylock"
|
||||
"$mainMod, M, exec, element-desktop"
|
||||
"$mainMod, Escape, exec, loginctl lock-session"
|
||||
"$mainMod SHIFT, Escape, exec, shutdown-script"
|
||||
"$mainMod, P, pseudo,"
|
||||
"$mainMod, J, togglesplit,"
|
||||
|
@ -149,17 +150,16 @@
|
|||
"$mainMod SHIFT, B, exec, pkill -SIGUSR1 .waybar-wrapped"
|
||||
"$mainMod, C ,exec, hyprpicker -a"
|
||||
"$mainMod, W,exec, wallpaper-picker"
|
||||
"$mainMod SHIFT, W, exec, vm-start"
|
||||
|
||||
# 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"
|
||||
|
||||
# switch focus
|
||||
"$mainMod, left, movefocus, l"
|
||||
"$mainMod, right, movefocus, r"
|
||||
"$mainMod, up, movefocus, u"
|
||||
"$mainMod, down, movefocus, d"
|
||||
"$mainMod, H, movefocus, l"
|
||||
"$mainMod, L, movefocus, r"
|
||||
"$mainMod, K, movefocus, u"
|
||||
"$mainMod, J, movefocus, d"
|
||||
|
||||
# switch workspace
|
||||
"$mainMod, 1, workspace, 1"
|
||||
|
@ -187,18 +187,18 @@
|
|||
"$mainMod CTRL, c, movetoworkspace, empty"
|
||||
|
||||
# window control
|
||||
"$mainMod SHIFT, left, movewindow, l"
|
||||
"$mainMod SHIFT, right, movewindow, r"
|
||||
"$mainMod SHIFT, up, movewindow, u"
|
||||
"$mainMod SHIFT, down, movewindow, d"
|
||||
"$mainMod CTRL, left, resizeactive, -80 0"
|
||||
"$mainMod CTRL, right, resizeactive, 80 0"
|
||||
"$mainMod CTRL, up, resizeactive, 0 -80"
|
||||
"$mainMod CTRL, down, resizeactive, 0 80"
|
||||
"$mainMod ALT, left, moveactive, -80 0"
|
||||
"$mainMod ALT, right, moveactive, 80 0"
|
||||
"$mainMod ALT, up, moveactive, 0 -80"
|
||||
"$mainMod ALT, down, moveactive, 0 80"
|
||||
"$mainMod SHIFT, H, movewindow, l"
|
||||
"$mainMod SHIFT, L, movewindow, r"
|
||||
"$mainMod SHIFT, K, movewindow, u"
|
||||
"$mainMod SHIFT, J, movewindow, d"
|
||||
"$mainMod CTRL, H, resizeactive, -80 0"
|
||||
"$mainMod CTRL, L, resizeactive, 80 0"
|
||||
"$mainMod CTRL, K, resizeactive, 0 -80"
|
||||
"$mainMod CTRL, J, resizeactive, 0 80"
|
||||
"$mainMod ALT, H, moveactive, -80 0"
|
||||
"$mainMod ALT, L, moveactive, 80 0"
|
||||
"$mainMod ALT, K, moveactive, 0 -80"
|
||||
"$mainMod ALT, J, moveactive, 0 80"
|
||||
|
||||
# media and volume controls
|
||||
",XF86AudioRaiseVolume,exec, pamixer -i 2"
|
||||
|
@ -239,8 +239,6 @@
|
|||
"float,title:^(float_kitty)$"
|
||||
"center,title:^(float_kitty)$"
|
||||
"size 950 600,title:^(float_kitty)$"
|
||||
"float,audacious"
|
||||
"workspace 8 silent, audacious"
|
||||
# "pin,wofi"
|
||||
# "float,wofi"
|
||||
# "noborder,wofi"
|
||||
|
@ -270,7 +268,6 @@
|
|||
"center,class:^(zenity)$"
|
||||
"size 850 500,class:^(zenity)$"
|
||||
"float,class:^(pavucontrol)$"
|
||||
"float,class:^(SoundWireServer)$"
|
||||
"float,class:^(.sameboy-wrapped)$"
|
||||
"float,class:^(file_progress)$"
|
||||
"float,class:^(confirm)$"
|
||||
|
@ -290,7 +287,6 @@
|
|||
"maxsize 1 1,class:^(xwaylandvideobridge)$"
|
||||
"noblur,class:^(xwaylandvideobridge)$"
|
||||
];
|
||||
|
||||
};
|
||||
|
||||
extraConfig = "
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
{ inputs, ... }:
|
||||
{
|
||||
imports = [ (import ./hyprland.nix) ]
|
||||
++ [ (import ./config.nix) ]
|
||||
++ [ (import ./hyprlock.nix) ]
|
||||
++ [ (import ./variables.nix) ]
|
||||
++ [ inputs.hyprland.homeManagerModules.default ];
|
||||
{inputs, ...}: {
|
||||
imports =
|
||||
[(import ./hyprland.nix)]
|
||||
++ [(import ./config.nix)]
|
||||
++ [(import ./hyprlock.nix)]
|
||||
++ [(import ./hypridle.nix)]
|
||||
++ [(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; [
|
||||
# swww
|
||||
swaybg
|
||||
|
@ -13,7 +16,7 @@
|
|||
wayland
|
||||
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 = {
|
||||
enable = true;
|
||||
xwayland = {
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.hyprlock ];
|
||||
{pkgs, ...}: {
|
||||
programs.hyprlock.enable = true;
|
||||
xdg.configFile."hypr/hyprlock.conf".text = ''
|
||||
$red = rgb(f38ba8)
|
||||
$yellow = rgb(f9e2af)
|
||||
|
@ -27,9 +26,9 @@
|
|||
# BACKGROUND
|
||||
background {
|
||||
monitor =
|
||||
path = ~/Pictures/wallpapers/others/cat-leaves.png
|
||||
path = ~/.config/hypr/wallpaper.png
|
||||
color = $base
|
||||
blur_passes = 0
|
||||
blur_passes = 2
|
||||
}
|
||||
|
||||
# TIME
|
||||
|
@ -47,9 +46,9 @@
|
|||
valign = top
|
||||
}
|
||||
|
||||
# DATE
|
||||
# DATE
|
||||
label {
|
||||
monitor =
|
||||
monitor =
|
||||
text = cmd[update:43200000] echo "$(date +"%A, %d %B %Y")"
|
||||
color = $text
|
||||
font_size = 18
|
||||
|
@ -62,8 +61,8 @@
|
|||
# USER AVATAR
|
||||
|
||||
image {
|
||||
monitor =
|
||||
path = ~/Pictures/pp/pp.png
|
||||
monitor =
|
||||
path = ~/.face.png
|
||||
size = 125
|
||||
border_color = $accent
|
||||
|
||||
|
@ -95,4 +94,4 @@
|
|||
valign = center
|
||||
}
|
||||
'';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
home.sessionVariables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
ELECTRON_OZONE_PLATFORM_HINT = "auto";
|
||||
__GL_GSYNC_ALLOWED = "0";
|
||||
__GL_VRR_ALLOWED = "0";
|
||||
_JAVA_AWT_WM_NONEREPARENTING = "1";
|
||||
|
|
|
@ -1,10 +1,9 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
|
||||
theme = "Catppuccin-Mocha";
|
||||
|
||||
|
||||
font = {
|
||||
name = "JetBrainsMono Nerd Font";
|
||||
size = 13;
|
||||
|
@ -12,12 +11,12 @@
|
|||
|
||||
settings = {
|
||||
confirm_os_window_close = 0;
|
||||
background_opacity = "0.55";
|
||||
background_opacity = "0.55";
|
||||
window_padding_width = 10;
|
||||
scrollback_lines = 10000;
|
||||
enable_audio_bell = false;
|
||||
mouse_hide_wait = 60;
|
||||
|
||||
|
||||
## Tabs
|
||||
tab_title_template = "{index}";
|
||||
active_tab_font_style = "normal";
|
||||
|
@ -30,7 +29,7 @@
|
|||
inactive_tab_background = "#313244";
|
||||
};
|
||||
|
||||
keybindings = {
|
||||
keybindings = {
|
||||
## Tabs
|
||||
"alt+1" = "goto_tab 1";
|
||||
"alt+2" = "goto_tab 2";
|
||||
|
@ -42,4 +41,4 @@
|
|||
"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 = {
|
||||
enable = true;
|
||||
vimAlias = true;
|
||||
|
|
|
@ -1,34 +1,36 @@
|
|||
{ inputs, pkgs, ... }:
|
||||
{
|
||||
home.packages = (with pkgs; [
|
||||
bitwise # cli tool for bit / hex manipulation
|
||||
evince # gnome pdf viewer
|
||||
eza # ls replacement
|
||||
entr # perform action when file change
|
||||
fd # find replacement
|
||||
file # Show file information
|
||||
fzf # fuzzy finder
|
||||
gtt # google translate TUI
|
||||
gifsicle # gif utility
|
||||
inputs,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.packages = with pkgs; [
|
||||
bitwise # cli tool for bit / hex manipulation
|
||||
bitwarden-cli
|
||||
evince # gnome pdf viewer
|
||||
element-desktop # Matrix client
|
||||
fd # find replacement
|
||||
file # Show file information
|
||||
flameshot # Screenshot tool
|
||||
fzf # fuzzy finder
|
||||
gimp
|
||||
gtrash # rm replacement, put deleted files in system trash
|
||||
hexdump
|
||||
jdk17 # java
|
||||
gtrash # rm replacement, put deleted files in system trash
|
||||
imagemagick
|
||||
inkscape
|
||||
lazygit
|
||||
libreoffice
|
||||
cinnamon.nemo-with-extensions # file manager
|
||||
nitch # systhem fetch util
|
||||
cinnamon.nemo-with-extensions # file manager
|
||||
jq
|
||||
nitch # systhem fetch util
|
||||
nix-prefetch-github
|
||||
prismlauncher # minecraft launcher
|
||||
ripgrep # grep replacement
|
||||
soundwireserver # pass audio to android phone
|
||||
tdf # cli pdf viewer
|
||||
todo # cli todo list
|
||||
toipe # typing test in the terminal
|
||||
valgrind # c memory analyzer
|
||||
yazi # terminal file manager
|
||||
youtube-dl
|
||||
gnome.zenity
|
||||
ripgrep # grep replacement
|
||||
swappy
|
||||
tdf # cli pdf viewer
|
||||
todo # cli todo list
|
||||
toipe # typing test in the terminal
|
||||
vlc
|
||||
yazi # terminal file manager
|
||||
yt-dlp
|
||||
zenity
|
||||
winetricks
|
||||
wineWowPackages.wayland
|
||||
|
||||
|
@ -39,28 +41,26 @@
|
|||
# Python
|
||||
python3
|
||||
|
||||
bleachbit # cache cleaner
|
||||
cmatrix
|
||||
gparted # partition manager
|
||||
gparted # partition manager
|
||||
ffmpeg
|
||||
imv # image viewer
|
||||
imv # image viewer
|
||||
killall
|
||||
libnotify
|
||||
man-pages # extra man pages
|
||||
mpv # video player
|
||||
ncdu # disk space
|
||||
man-pages # extra man pages
|
||||
mpv # video player
|
||||
openssl
|
||||
pamixer # pulseaudio command line mixer
|
||||
pavucontrol # pulseaudio volume controle (GUI)
|
||||
playerctl # controller for media players
|
||||
wl-clipboard # clipboard utils for wayland (wl-copy, wl-paste)
|
||||
cliphist # clipboard manager
|
||||
pamixer # pulseaudio command line mixer
|
||||
pavucontrol # pulseaudio volume controle (GUI)
|
||||
playerctl # controller for media players
|
||||
wl-clipboard # clipboard utils for wayland (wl-copy, wl-paste)
|
||||
cliphist # clipboard manager
|
||||
poweralertd
|
||||
qalculate-gtk # calculator
|
||||
qalculate-gtk # calculator
|
||||
unzip
|
||||
wget
|
||||
xdg-utils
|
||||
xxd
|
||||
inputs.alejandra.defaultPackage.${system}
|
||||
]);
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = (with pkgs; [
|
||||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
(retroarch.override {
|
||||
cores = with libretro; [
|
||||
fceumm
|
||||
|
@ -9,5 +8,5 @@
|
|||
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
|
||||
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);
|
||||
wallpaper-picker = pkgs.writeShellScriptBin "wallpaper-picker" (builtins.readFile ./scripts/wallpaper-picker.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_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);
|
||||
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);
|
||||
|
||||
record = pkgs.writeScriptBin "record" (builtins.readFile ./scripts/record.sh);
|
||||
shutdown-script = pkgs.writeScriptBin "shutdown-script" (builtins.readFile ./scripts/shutdown-script.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 {
|
||||
home.packages = with pkgs; [
|
||||
ddcmonitorctl
|
||||
|
||||
setbg-apotd
|
||||
setbg-bpotd
|
||||
wall-change
|
||||
wallpaper-picker
|
||||
|
||||
|
||||
runbg
|
||||
music
|
||||
lofi
|
||||
|
||||
|
||||
toggle_blur
|
||||
toggle_oppacity
|
||||
|
||||
maxfetch
|
||||
|
||||
compress
|
||||
extract
|
||||
|
||||
shutdown-script
|
||||
|
||||
|
||||
show-keybinds
|
||||
|
||||
vm-start
|
||||
|
||||
ascii
|
||||
|
||||
record
|
||||
screenshot-menu
|
||||
];
|
||||
}
|
||||
|
|
|
@ -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
|
||||
echo "$PIDS" | xargs kill
|
||||
fi
|
||||
|
||||
magick $1 ~/.config/hypr/wallpaper.png
|
||||
|
|
|
@ -1,12 +1,16 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
wallpaper_path=$HOME/Pictures/wallpapers
|
||||
wallpapers_folder=$HOME/Pictures/wallpapers/others
|
||||
wallpaper_name="$(ls $wallpapers_folder | fuzzel --dmenu)"
|
||||
if [[ -f $wallpapers_folder/$wallpaper_name ]]; then
|
||||
find ~/Pictures/wallpapers -maxdepth 1 -type f -delete
|
||||
cp $wallpapers_folder/$wallpaper_name $wallpaper_path/$wallpaper_name
|
||||
wall-change $wallpaper_path/$wallpaper_name
|
||||
bpotd_entry="⚙️ Bing's Picture Of The Day"
|
||||
apotd_entry="⚙️ NASA's Astronomy Picture Of The Day"
|
||||
wallpapers_folder=$HOME/Pictures/Wallpapers/
|
||||
|
||||
wallpaper_name=`echo -e "$bpotd_entry\n$apotd_entry" | { cat; find $wallpapers_folder -type f | sed "s|$wallpapers_folder||"; } | fuzzel --dmenu`
|
||||
if [ "$wallpaper_name" == "$bpotd_entry" ]; then
|
||||
setbg-bpotd
|
||||
elif [ "$wallpaper_name" == "$apotd_entry" ]; then
|
||||
setbg-apotd
|
||||
elif [[ -f $wallpapers_folder/$wallpaper_name ]]; then
|
||||
wall-change $wallpapers_folder/$wallpaper_name
|
||||
else
|
||||
exit 1
|
||||
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 = {
|
||||
enable = true;
|
||||
|
||||
|
@ -7,35 +10,37 @@
|
|||
enableZshIntegration = true;
|
||||
enableNushellIntegration = true;
|
||||
|
||||
settings = {
|
||||
# right_format = "$cmd_duration";
|
||||
|
||||
directory = {
|
||||
format = "[ ](bold #89b4fa)[ $path ]($style)";
|
||||
style = "bold #b4befe";
|
||||
};
|
||||
settings =
|
||||
{
|
||||
# right_format = "$cmd_duration";
|
||||
|
||||
character = {
|
||||
success_symbol = "[ ](bold #89b4fa)[ ➜](bold green)";
|
||||
error_symbol = "[ ](bold #89b4fa)[ ➜](bold red)";
|
||||
# error_symbol = "[ ](bold #89dceb)[ ✗](bold red)";
|
||||
};
|
||||
directory = {
|
||||
format = "[ ](bold #89b4fa)[ $path ]($style)";
|
||||
style = "bold #b4befe";
|
||||
};
|
||||
|
||||
cmd_duration = {
|
||||
format = "[]($style)[[ ](bg:#161821 fg:#d4c097 bold)$duration](bg:#161821 fg:#BBC3DF)[ ]($style)";
|
||||
disabled = false;
|
||||
style = "bg:none fg:#161821";
|
||||
};
|
||||
character = {
|
||||
success_symbol = "[ ](bold #89b4fa)[ ➜](bold green)";
|
||||
error_symbol = "[ ](bold #89b4fa)[ ➜](bold red)";
|
||||
# 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" = " ";
|
||||
# "Downloads" = " ";
|
||||
# "Music" = " ";
|
||||
# "Pictures" = " ";
|
||||
# };
|
||||
# };
|
||||
|
||||
palette = "catppuccin_mocha";
|
||||
} // builtins.fromTOML (builtins.readFile "${inputs.catppuccin-starship}/palettes/mocha.toml");
|
||||
palette = "catppuccin_mocha";
|
||||
}
|
||||
// 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, ... }:
|
||||
{
|
||||
home.packages = (with pkgs; [ swaynotificationcenter ]);
|
||||
{pkgs, ...}: {
|
||||
home.packages = with pkgs; [swaynotificationcenter];
|
||||
xdg.configFile."swaync/style.css".source = ./style.css;
|
||||
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 = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
# nix language
|
||||
bbenoist.nix
|
||||
# nix-shell suport
|
||||
# nix-shell suport
|
||||
arrterian.nix-env-selector
|
||||
# nix formatting
|
||||
kamadorueda.alejandra
|
||||
# python
|
||||
ms-python.python
|
||||
# C/C++
|
||||
|
@ -32,9 +33,9 @@
|
|||
"workbench.iconTheme" = "catppuccin-mocha";
|
||||
"catppuccin.accentColor" = "lavender";
|
||||
"vsicons.dontShowNewVersionMessage" = true;
|
||||
"explorer.confirmDragAndDrop" = false;
|
||||
"explorer.confirmDragAndDrop" = true;
|
||||
"editor.fontLigatures" = true;
|
||||
"editor.minimap.enabled" = false;
|
||||
"editor.minimap.enabled" = true;
|
||||
"workbench.startupEditor" = "none";
|
||||
|
||||
"editor.formatOnSave" = true;
|
||||
|
@ -45,17 +46,17 @@
|
|||
"workbench.editor.limit.enabled" = true;
|
||||
"workbench.editor.limit.value" = 10;
|
||||
"workbench.editor.limit.perEditorGroup" = true;
|
||||
"workbench.editor.showTabs" = "single";
|
||||
"workbench.editor.showTabs" = "multiple";
|
||||
"files.autoSave" = "onWindowChange";
|
||||
"explorer.openEditors.visible" = 0;
|
||||
"breadcrumbs.enabled" = false;
|
||||
"editor.renderControlCharacters" = false;
|
||||
"workbench.activityBar.location" = "hidden";
|
||||
"workbench.activityBar.location" = "default";
|
||||
"workbench.statusBar.visible" = false;
|
||||
"editor.scrollbar.verticalScrollbarSize" = 2;
|
||||
"editor.scrollbar.horizontalScrollbarSize" = 2;
|
||||
"editor.scrollbar.vertical" = "hidden";
|
||||
"editor.scrollbar.horizontal" = "hidden";
|
||||
"editor.scrollbar.verticalScrollbarSize" = 4;
|
||||
"editor.scrollbar.horizontalScrollbarSize" = 4;
|
||||
"editor.scrollbar.vertical" = "auto";
|
||||
"editor.scrollbar.horizontal" = "auto";
|
||||
"workbench.layoutControl.enabled" = false;
|
||||
|
||||
"editor.mouseWheelZoom" = true;
|
||||
|
|
|
@ -1,6 +1,35 @@
|
|||
{ ... }:
|
||||
{
|
||||
imports = [ (import ./waybar.nix) ]
|
||||
++ [ (import ./settings.nix) ]
|
||||
++ [ (import ./style.nix) ];
|
||||
{...}: let
|
||||
custom = {
|
||||
font = "JetBrainsMono Nerd Font";
|
||||
fontsize = "12";
|
||||
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 = {
|
||||
position= "bottom";
|
||||
layer= "top";
|
||||
height= 5;
|
||||
margin-top= 0;
|
||||
margin-bottom= 0;
|
||||
margin-left= 0;
|
||||
margin-right= 0;
|
||||
modules-left= [
|
||||
"custom/launcher"
|
||||
"hyprland/workspaces"
|
||||
position = "top";
|
||||
layer = "top";
|
||||
# height= 15;
|
||||
margin-top = 0;
|
||||
margin-bottom = 5;
|
||||
margin-left = 0;
|
||||
margin-right = 0;
|
||||
modules-left = [
|
||||
"custom/launcher"
|
||||
"custom/playerctl#backward"
|
||||
"custom/playerctl#play"
|
||||
"custom/playerctl#forward"
|
||||
];
|
||||
modules-center= [
|
||||
"clock"
|
||||
modules-center = [
|
||||
"hyprland/workspaces"
|
||||
];
|
||||
modules-right= [
|
||||
"tray"
|
||||
"cpu"
|
||||
"memory"
|
||||
"disk"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"network"
|
||||
"custom/notification"
|
||||
modules-right = [
|
||||
"tray"
|
||||
"cpu"
|
||||
"memory"
|
||||
"disk"
|
||||
"pulseaudio"
|
||||
"battery"
|
||||
"network"
|
||||
"custom/notification"
|
||||
"clock"
|
||||
];
|
||||
clock= {
|
||||
calendar = {
|
||||
format = { today = "<span color='#b4befe'><b><u>{}</u></b></span>"; };
|
||||
};
|
||||
format = " {:%H:%M}";
|
||||
tooltip= "true";
|
||||
tooltip-format= "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||
format-alt= " {:%d/%m}";
|
||||
clock = {
|
||||
format = " {:%H:%M}";
|
||||
tooltip = true;
|
||||
tooltip-format = "<big>{:%Y %B}</big>\n<tt><small>{calendar}</small></tt>";
|
||||
format-alt = " {:%d/%m}";
|
||||
};
|
||||
"hyprland/workspaces"= {
|
||||
active-only= false;
|
||||
disable-scroll= true;
|
||||
format = "{icon}";
|
||||
on-click= "activate";
|
||||
format-icons= {
|
||||
"1"= "";
|
||||
"2"= "";
|
||||
"3"= "";
|
||||
"4"= "";
|
||||
"5"= "";
|
||||
"6"= "";
|
||||
urgent= "";
|
||||
default = "";
|
||||
sort-by-number= true;
|
||||
};
|
||||
persistent-workspaces = {
|
||||
"1"= [];
|
||||
"2"= [];
|
||||
"3"= [];
|
||||
"4"= [];
|
||||
"5"= [];
|
||||
};
|
||||
"wlr/workspaces" = {
|
||||
active-only = false;
|
||||
all-outputs = false;
|
||||
disable-scroll = false;
|
||||
on-scroll-up = "hyprctl dispatch workspace e-1";
|
||||
on-scroll-down = "hyprctl dispatch workspace e+1";
|
||||
format = "{name}";
|
||||
on-click = "activate";
|
||||
format-icons = {
|
||||
urgent = "";
|
||||
active = "";
|
||||
default = "";
|
||||
sort-by-number = true;
|
||||
};
|
||||
};
|
||||
memory= {
|
||||
format= " {}%";
|
||||
format-alt= " {used} GiB"; #
|
||||
interval= 2;
|
||||
"custom/playerctl#backward" = {
|
||||
format = " ";
|
||||
on-click = "playerctl previous";
|
||||
on-scroll-up = "playerctl volume .05+";
|
||||
on-scroll-down = "playerctl volume .05-";
|
||||
tooltip = false;
|
||||
};
|
||||
cpu= {
|
||||
format= " {usage}%";
|
||||
format-alt= " {avg_frequency} GHz";
|
||||
interval= 2;
|
||||
"custom/playerctl#play" = {
|
||||
format = "{icon}";
|
||||
return-type = "json";
|
||||
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 = {
|
||||
# path = "/";
|
||||
format = " {percentage_used}%";
|
||||
interval= 60;
|
||||
# path = "/";
|
||||
format = " {percentage_used}%";
|
||||
interval = 60;
|
||||
};
|
||||
network = {
|
||||
format-wifi = " {signalStrength}%";
|
||||
format-ethernet = " ";
|
||||
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
|
||||
format-linked = "{ifname} (No IP)";
|
||||
format-disconnected = " ";
|
||||
format-wifi = " {signalStrength}%";
|
||||
format-ethernet = " ";
|
||||
tooltip-format = "Connected to {essid} {ifname} via {gwaddr}";
|
||||
format-linked = "{ifname} (No IP)";
|
||||
format-disconnected = " ";
|
||||
};
|
||||
tray= {
|
||||
icon-size= 20;
|
||||
spacing= 8;
|
||||
tray = {
|
||||
icon-size = 20;
|
||||
spacing = 8;
|
||||
};
|
||||
pulseaudio= {
|
||||
format= "{icon} {volume}%";
|
||||
format-muted= " {volume}%";
|
||||
format-icons= {
|
||||
default= [" "];
|
||||
};
|
||||
scroll-step= 5;
|
||||
on-click= "pamixer -t";
|
||||
pulseaudio = {
|
||||
format = "{icon} {volume}%";
|
||||
format-muted = " ";
|
||||
format-icons = {
|
||||
default = [" "];
|
||||
};
|
||||
scroll-step = 5;
|
||||
on-click = "pamixer -t";
|
||||
on-click-right = "pavucontrol";
|
||||
};
|
||||
battery = {
|
||||
format = "{icon} {capacity}%";
|
||||
format-icons = [" " " " " " " " " "];
|
||||
format-charging = " {capacity}%";
|
||||
format-full = " {capacity}%";
|
||||
format-warning = " {capacity}%";
|
||||
interval = 5;
|
||||
states = {
|
||||
warning = 20;
|
||||
};
|
||||
format-time = "{H}h{M}m";
|
||||
tooltip = true;
|
||||
tooltip-format = "{time}";
|
||||
format = "{icon} {capacity}%";
|
||||
format-icons = [" " " " " " " " " "];
|
||||
format-charging = " {capacity}%";
|
||||
format-full = " {capacity}%";
|
||||
format-warning = " {capacity}%";
|
||||
interval = 5;
|
||||
states = {
|
||||
warning = 20;
|
||||
};
|
||||
format-time = "{H}h{M}m";
|
||||
tooltip = true;
|
||||
tooltip-format = "{time}";
|
||||
};
|
||||
"custom/launcher"= {
|
||||
format= "";
|
||||
on-click= "fuzzel";
|
||||
on-click-right= "wallpaper-picker";
|
||||
tooltip= "false";
|
||||
"custom/launcher" = {
|
||||
format = "";
|
||||
on-click = "pkill fuzzel || fuzzel";
|
||||
on-click-right = "pkill fuzzel || wallpaper-picker";
|
||||
tooltip = false;
|
||||
};
|
||||
"custom/notification" = {
|
||||
tooltip = false;
|
||||
format = "{icon} ";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span> ";
|
||||
none = " ";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
dnd-none = " ";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
inhibited-none = " ";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span> ";
|
||||
dnd-inhibited-none = " ";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "swaync-client -t -sw";
|
||||
on-click-right = "swaync-client -d -sw";
|
||||
escape = true;
|
||||
tooltip = false;
|
||||
format = "{icon}";
|
||||
format-icons = {
|
||||
notification = "<span foreground='red'><sup></sup></span>";
|
||||
none = " ";
|
||||
dnd-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-none = " ";
|
||||
inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
inhibited-none = " ";
|
||||
dnd-inhibited-notification = "<span foreground='red'><sup></sup></span>";
|
||||
dnd-inhibited-none = " ";
|
||||
};
|
||||
return-type = "json";
|
||||
exec-if = "which swaync-client";
|
||||
exec = "swaync-client -swb";
|
||||
on-click = "swaync-client -t -sw";
|
||||
on-click-right = "swaync-client -d -sw";
|
||||
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 = ''
|
||||
|
||||
* {
|
||||
border: none;
|
||||
border-radius: 0px;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
min-height: 0px;
|
||||
font-family: ${custom.font};
|
||||
font-weight: ${custom.font_weight};
|
||||
font-weight: bold;
|
||||
font-size: 15px;
|
||||
min-height: 0;
|
||||
opacity: ${custom.opacity};
|
||||
}
|
||||
|
||||
|
@ -29,76 +27,152 @@ in
|
|||
}
|
||||
|
||||
#workspaces {
|
||||
font-size: 18px;
|
||||
padding-left: 15px;
|
||||
|
||||
background: #${custom.palette.tertiary_background_hex};
|
||||
margin: 5px 5px;
|
||||
padding: 8px 12px;
|
||||
border-radius: 12px 12px 24px 24px;
|
||||
color: #${custom.primary_accent}
|
||||
}
|
||||
#workspaces button {
|
||||
color: ${custom.text_color};
|
||||
padding-left: 6px;
|
||||
padding-right: 6px;
|
||||
}
|
||||
#workspaces button.empty {
|
||||
color: #6c7086;
|
||||
}
|
||||
#workspaces button.active {
|
||||
color: #b4befe;
|
||||
padding: 0px 5px;
|
||||
margin: 0px 3px;
|
||||
border-radius: 15px;
|
||||
color: #${custom.background};
|
||||
background: #${custom.secondary_accent};
|
||||
transition: all 0.2s ease-in-out;
|
||||
}
|
||||
|
||||
#tray, #pulseaudio, #network, #cpu, #memory, #disk, #clock, #battery, #custom-notification {
|
||||
font-size: ${custom.font_size};
|
||||
color: ${custom.text_color};
|
||||
#workspaces button.active {
|
||||
background-color: #${custom.primary_accent};
|
||||
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 {
|
||||
color: #${custom.tertiary_accent};
|
||||
border-radius: 10px 0px 0px 24px;
|
||||
padding-left: 15px;
|
||||
padding-right: 9px;
|
||||
margin-left: 7px;
|
||||
}
|
||||
#memory {
|
||||
color: #${custom.tertiary_accent};
|
||||
border-radius: 0;
|
||||
padding-left: 9px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
#disk {
|
||||
color: #${custom.tertiary_accent};
|
||||
border-radius: 0px 24px 10px 0px;
|
||||
padding-left: 9px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
#tray {
|
||||
color: #${custom.tertiary_accent};
|
||||
border-radius: 10px 24px 10px 24px;
|
||||
padding: 0 20px;
|
||||
margin-left: 7px;
|
||||
}
|
||||
|
||||
#pulseaudio {
|
||||
color: #${custom.tertiary_accent};
|
||||
border-radius: 10px 0px 0px 24px;
|
||||
padding-left: 15px;
|
||||
padding-right: 9px;
|
||||
margin-left: 7px;
|
||||
}
|
||||
|
||||
#battery {
|
||||
color: #${custom.tertiary_accent};
|
||||
border-radius: 0;
|
||||
padding-left: 9px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
|
||||
#network {
|
||||
color: #${custom.tertiary_accent};
|
||||
border-radius: 0;
|
||||
padding-left: 9px;
|
||||
padding-right: 30px;
|
||||
padding-right: 9px;
|
||||
}
|
||||
|
||||
custom-notification {
|
||||
padding-left: 20px;
|
||||
padding-right: 20px;
|
||||
}
|
||||
|
||||
#clock {
|
||||
#custom-notification {
|
||||
color: #${custom.tertiary_accent};
|
||||
border-radius: 0px 24px 10px 0px;
|
||||
padding-left: 9px;
|
||||
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 {
|
||||
font-size: 20px;
|
||||
color: #b4befe;
|
||||
font-weight: ${custom.font_weight};
|
||||
padding-left: 10px;
|
||||
color: #${custom.secondary_accent};
|
||||
background: #${custom.palette.tertiary_background_hex};
|
||||
border-radius: 0px 0px 40px 0px;
|
||||
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;
|
||||
border-radius: 16px;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
};
|
||||
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 = {
|
||||
enable = true;
|
||||
enableCompletion = true;
|
||||
|
@ -7,7 +12,7 @@
|
|||
syntaxHighlighting.enable = true;
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = [ "git" "fzf" ];
|
||||
plugins = ["git" "fzf"];
|
||||
};
|
||||
initExtraFirst = ''
|
||||
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";
|
||||
|
||||
# Git
|
||||
ga = "git add";
|
||||
gaa = "git add --all";
|
||||
gs = "git status";
|
||||
gb = "git branch";
|
||||
gm = "git merge";
|
||||
gpl = "git pull";
|
||||
ga = "git add";
|
||||
gaa = "git add --all";
|
||||
gs = "git status";
|
||||
gb = "git branch";
|
||||
gm = "git merge";
|
||||
gpl = "git pull";
|
||||
gplo = "git pull origin";
|
||||
gps = "git push";
|
||||
gps = "git push";
|
||||
gpst = "git push --follow-tags";
|
||||
gpso = "git push origin";
|
||||
gc = "git commit";
|
||||
gcm = "git commit -m";
|
||||
gc = "git commit";
|
||||
gcm = "git commit -m";
|
||||
gcma = "git add --all && git commit -m";
|
||||
gtag = "git tag -ma";
|
||||
gch = "git checkout";
|
||||
gch = "git checkout";
|
||||
gchb = "git checkout -b";
|
||||
gcoe = "git config user.email";
|
||||
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 |