Compare commits

...

197 Commits

Author SHA1 Message Date
0ef93baee0 Merge branch 'master' of github.com:szymon-jozef/amazing-dotfiles 2026-06-02 00:03:28 +02:00
fe64dc6344 docs: update readme 2026-06-02 00:03:21 +02:00
338652be3e chore: update home flake.lock 2026-05-30 23:47:51 +02:00
de6c4000c7 chore: state before home-manager update 2026-05-30 23:47:46 +02:00
66f9dc1bb3 image handler xdg 2026-05-30 19:19:16 +02:00
a33f6f6da3 add libreoffice 2026-05-30 18:31:46 +02:00
4ec3bc2f47 add zathura 2026-05-30 17:54:23 +02:00
94bcf08e7f a;sld 2026-05-28 17:57:03 +02:00
d1ec59478c nixd 2026-05-19 21:40:52 +02:00
93e6dd9858 chore: update home flake.lock 2026-05-15 23:13:40 +02:00
78f4fdafe8 chore: state before home-manager update 2026-05-15 23:13:29 +02:00
a0054abc4f update signal messenger and add feh 2026-05-14 22:44:19 +02:00
4ba52fe963 nixvim nixd und rpcs3 fix 2026-05-14 17:28:38 +02:00
b0883c1b54 chore: update home flake.lock 2026-05-13 17:11:46 +02:00
eb68462cfb chore: state before home-manager update 2026-05-13 17:11:42 +02:00
b724465db1 chore: update home flake.lock 2026-05-12 18:30:33 +02:00
3e15740c3f chore: state before home-manager update 2026-05-12 18:30:28 +02:00
f604e21761 nixvim 2026-05-07 09:27:33 +02:00
16304aeb3f chore: update home flake.lock 2026-05-06 22:48:30 +02:00
a751279ec3 chore: state before home-manager update 2026-05-06 22:48:26 +02:00
baed566262 remove unused import 2026-05-06 19:57:32 +02:00
26cbf784b2 fix: yazi 2026-05-06 19:46:58 +02:00
3f463c5dc7 change xdg folders to flake variables 2026-05-06 18:24:17 +02:00
5675c7e388 update yazi 2026-05-06 18:22:09 +02:00
b402858cd6 remove hugo & update hyprland 2026-05-06 17:50:58 +02:00
49c1ff737a chore: state before home-manager update 2026-05-06 12:29:55 +02:00
dd77199323 chore: update home flake.lock 2026-05-03 19:49:32 +02:00
9516457cfd chore: state before home-manager update 2026-05-03 19:49:28 +02:00
6125f6de46 chore: update home flake.lock 2026-05-02 20:14:31 +02:00
09f37d2e85 chore: state before home-manager update 2026-05-02 20:14:28 +02:00
bf46aa2889 chore: update home flake.lock 2026-04-30 23:05:46 +02:00
e740081f81 chore: state before home-manager update 2026-04-30 23:05:42 +02:00
f66308c6f3 feat: topgrade 2026-04-29 17:31:16 +02:00
58171c4860 chore: state after home update 2026-04-29 17:28:10 +02:00
bab565c6b2 chore: state before home update 2026-04-29 17:26:05 +02:00
8c364ddf66 chore: state after home update 2026-04-29 17:24:29 +02:00
d1aaf86410 chore: state before home update 2026-04-29 17:21:28 +02:00
7f560cdce2 chore: state before home update 2026-04-29 17:18:29 +02:00
26c9f700ec chore: state before home update 2026-04-29 17:08:18 +02:00
2616458c7d chore: update home flake.lock 2026-04-29 12:19:44 +02:00
a6db86493b chore: state before home-manager update 2026-04-29 12:19:39 +02:00
17df54fe4a add hugo support 2026-04-28 22:37:55 +02:00
101ae8da40 feat: add more apps 2026-04-28 19:12:14 +02:00
7b5a5b7fbe feat: add some gui apps 2026-04-28 19:07:05 +02:00
7c6acd39ba update: xdg dirs 2026-04-28 18:21:01 +02:00
dcb1e8024b chore: update home flake.lock 2026-04-28 10:58:15 +02:00
97bc84ca2e chore: state before home-manager update 2026-04-28 10:58:11 +02:00
e5e1663234 fix: hyprland config yet again 2026-04-28 10:56:07 +02:00
f6f967f955 fix: hyprland 2026-04-28 10:47:11 +02:00
3608a5968c blab 2026-04-27 19:37:47 +02:00
cf87e02dd1 refactor: hyprland 2026-04-27 18:43:01 +02:00
3fd48c0e3b feat: add remap for quickly compiling and running current cpp file 2026-04-27 12:12:11 +02:00
21d688754e feat: update ashell config 2026-04-26 20:47:03 +02:00
71572218ae feat: change to stable hyprland 2026-04-26 20:30:52 +02:00
ce671c7440 fix: hyprland config 2026-04-26 20:13:47 +02:00
5ace7fac43 chore: update home flake.lock 2026-04-26 20:01:53 +02:00
b2eb274866 chore: state before home-manager update 2026-04-26 20:01:48 +02:00
c397420d56 chore: update home flake.lock 2026-04-26 08:41:52 +02:00
b206b41cf0 chore: state before home-manager update 2026-04-26 08:41:50 +02:00
2dc61bdcd3 chore: state before home-manager update 2026-04-26 08:38:42 +02:00
7133fcb823 chore: update home flake.lock 2026-04-25 23:21:25 +02:00
a4863c3c4f chore: state before home-manager update 2026-04-25 23:21:20 +02:00
843129eeb1 chore: update home flake.lock 2026-04-25 22:01:57 +02:00
740deb2519 chore: state before home-manager update 2026-04-25 22:01:52 +02:00
a6cd239eaf lskdafj 2026-04-24 17:29:27 +02:00
2971626335 chore: update home flake.lock 2026-04-24 17:23:40 +02:00
5c5e184141 chore: state before home-manager update 2026-04-24 17:23:38 +02:00
b531e290d2 chore: update home flake.lock 2026-04-24 17:19:36 +02:00
d63944a9aa chore: state before home-manager update 2026-04-24 17:19:32 +02:00
375389307b chore: update home flake.lock 2026-04-23 17:22:20 +02:00
0f9855aff4 chore: state before home-manager update 2026-04-23 17:22:17 +02:00
ec868f65ad chore: update home flake.lock 2026-04-22 22:19:03 +02:00
cbcc5d00a1 chore: state before home-manager update 2026-04-22 22:19:01 +02:00
adc8ba3802 chore: update home flake.lock 2026-04-22 22:17:34 +02:00
beab2afa3c chore: state before home-manager update 2026-04-22 22:17:27 +02:00
262ca1845c chore: update home flake.lock 2026-04-21 15:08:25 +02:00
52525169cc chore: state before home-manager update 2026-04-21 15:05:31 +02:00
bb04235569 chore: update home flake.lock 2026-04-20 22:43:02 +02:00
3100a4930f chore: state before home-manager update 2026-04-20 22:42:59 +02:00
de80b905d5 chore: update home flake.lock 2026-04-19 20:08:58 +02:00
63aea4d9bf chore: state before home-manager update 2026-04-19 20:08:55 +02:00
3502073527 chore: update home flake.lock 2026-04-18 23:21:54 +02:00
091e2295ea chore: state before home-manager update 2026-04-18 23:21:47 +02:00
06e9335403 chore: update home flake.lock 2026-04-16 21:31:17 +02:00
04e08bcc1c chore: state before home-manager update 2026-04-16 21:31:15 +02:00
85168c9ae2 chore: update home flake.lock 2026-04-16 21:30:17 +02:00
8d07ed6be6 chore: state before home-manager update 2026-04-16 21:30:13 +02:00
c2fa7f803f chore: update home flake.lock 2026-04-15 22:06:35 +02:00
408555cc47 chore: state before home-manager update 2026-04-15 22:06:19 +02:00
cdb5403c04 chore: update home flake.lock 2026-04-14 19:50:19 +02:00
41959e08d1 chore: state before home-manager update 2026-04-14 19:50:14 +02:00
a62512d9b6 chore: update home flake.lock 2026-04-12 22:17:21 +02:00
efaaadb75e chore: state before home-manager update 2026-04-12 22:17:11 +02:00
e83c3edf26 chore: update home flake.lock 2026-04-10 23:31:52 +02:00
2c7c484bb4 chore: state before home-manager update 2026-04-10 23:31:42 +02:00
0aa23ec425 chore: update home flake.lock 2026-04-09 16:30:02 +02:00
bda596fa9d chore: state before home-manager update 2026-04-09 16:29:58 +02:00
8ca17b6223 chore: update home flake.lock 2026-04-07 16:49:07 +02:00
afce7de729 chore: state before home-manager update 2026-04-07 16:49:02 +02:00
ab931a45c7 chore: update home flake.lock 2026-04-06 10:33:27 +02:00
60679bad0b chore: state before home-manager update 2026-04-06 10:33:18 +02:00
780abf3967 chore: update home flake.lock 2026-04-04 19:38:44 +02:00
a2e1a41d41 chore: state before home-manager update 2026-04-04 19:38:36 +02:00
177e426d58 chore: update home flake.lock 2026-04-04 19:32:45 +02:00
8b81015fd7 chore: state before home-manager update 2026-04-04 19:32:35 +02:00
c2821a6132 update: modules/hypr/hyprland.nix 2026-04-04 09:20:01 +02:00
2e22e49b35 chore: update home flake.lock 2026-04-03 23:46:00 +02:00
6b977a8416 chore: state before home-manager update 2026-04-03 23:45:57 +02:00
0142567dfc chore: update home flake.lock 2026-04-03 15:49:59 +02:00
7e75c2c895 chore: state before home-manager update 2026-04-03 15:49:49 +02:00
cb614c97e3 update: modules/cli/nixvim.nix 2026-04-02 20:21:50 +02:00
34566f9e5a update: modules/cli/nixvim.nix 2026-04-02 20:14:30 +02:00
17ee7e057d chore: update home flake.lock 2026-03-31 18:44:30 +02:00
92bff3b748 chore: state before home-manager update 2026-03-31 18:44:20 +02:00
beb360aaa3 chore: update home flake.lock 2026-03-31 09:08:02 +02:00
4f15f4c702 chore: state before home-manager update 2026-03-31 09:07:52 +02:00
302fe9d948 chore: update home flake.lock 2026-03-28 21:11:56 +01:00
591991d91f chore: state before home-manager update 2026-03-28 21:11:47 +01:00
b072cc6a5d chore: update home flake.lock 2026-03-27 10:45:15 +01:00
a07cb98151 chore: state before home-manager update 2026-03-27 10:45:07 +01:00
c0aed52d5a chore: update home flake.lock 2026-03-27 10:43:02 +01:00
2054bacade chore: state before home-manager update 2026-03-27 10:42:51 +01:00
55dd9dfd6d update flake 2026-03-25 15:01:00 +01:00
5d6f732723 xdkslajf 2026-03-24 19:48:18 +01:00
7c45a9d042 fix 2026-03-24 11:05:28 +01:00
5500f39c8c update: modules/cli/fish.nix 2026-03-24 10:48:41 +01:00
0749c86085 refactor 2026-03-24 10:40:31 +01:00
61026947d3 update: modules/cli/fish.nix 2026-03-24 09:06:59 +01:00
8ee4e578f3 chore: update home flake.lock 2026-03-22 22:03:15 +01:00
c658be8e17 chore: state before home-manager update 2026-03-22 22:03:05 +01:00
b519e6226a chore: update home flake.lock 2026-03-20 23:43:24 +01:00
3389ca5a36 chore: state before home-manager update 2026-03-20 23:43:14 +01:00
09e586f445 update: modules/cli/git.nix 2026-03-16 18:22:37 +01:00
556236c0b9 update: modules/cli/nixvim.nix 2026-03-15 11:30:46 +01:00
3c30125a0f chore: update home flake.lock 2026-03-14 20:16:38 +01:00
562586d932 chore: state before home-manager update 2026-03-14 20:16:30 +01:00
c97f6bc5fc chore: update home flake.lock 2026-03-14 18:40:00 +01:00
a5d49c1490 chore: state before home-manager update 2026-03-14 18:39:53 +01:00
1eb08b32bc chore: update home flake.lock 2026-03-12 17:18:13 +01:00
749e8c99fd chore: state before home-manager update 2026-03-12 17:18:03 +01:00
b2fcebb5af update 2026-03-11 19:37:19 +01:00
d8ea7550f0 chore: update home flake.lock 2026-03-10 20:33:11 +01:00
5f115d7d36 chore: state before home-manager update 2026-03-10 20:33:09 +01:00
8c341b9052 chore: update home flake.lock 2026-03-10 20:29:05 +01:00
847fb32980 chore: state before home-manager update 2026-03-10 20:29:05 +01:00
05f1c95542 chore: update home flake.lock 2026-03-10 20:28:36 +01:00
3d6e53a1f1 chore: state before home-manager update 2026-03-10 20:28:32 +01:00
b4a4064c3d chore: update home flake.lock 2026-03-10 20:26:06 +01:00
7694e7e5f9 chore: state before home-manager update 2026-03-10 20:25:58 +01:00
a47ec37bab chore: update home flake.lock 2026-03-09 21:02:21 +01:00
75719f3c5e chore: state before home-manager update 2026-03-09 21:02:14 +01:00
04210f9d25 fix hypr config 2026-03-09 12:17:50 +01:00
0b7364b4bd chore: update home flake.lock 2026-03-09 11:59:49 +01:00
71e8871aa0 chore: state before home-manager update 2026-03-09 11:59:40 +01:00
de109a7dd9 chore: update home flake.lock 2026-03-03 22:25:08 +01:00
27144d7e49 chore: state before home-manager update 2026-03-03 22:25:00 +01:00
b93e319d78 Merge branch 'master' of github.com:szymon-jozef/amazing-dotfiles 2026-03-03 21:54:28 +01:00
313050d577 dedede 2026-03-03 19:21:55 +01:00
272d026e54 flake lock update 2026-03-03 18:46:44 +01:00
0288a57961 before home-manager update 2026-03-03 18:46:37 +01:00
d24395e1bd Merge branch 'master' of github.com:szymon-jozef/amazing-dotfiles 2026-03-01 23:20:39 +01:00
a7c5193cf7 function and nixvim 2026-03-01 23:20:25 +01:00
529b52712e phinger cursor 2026-03-01 22:27:08 +01:00
027a74e588 xddxdxdx 2026-03-01 21:44:29 +01:00
42193b3ab2 cursor 2026-03-01 21:25:36 +01:00
7c12cb82aa update 2026-03-01 20:55:16 +01:00
2886f0517b Merge branch 'master' of github.com:szymon-jozef/amazing-dotfiles 2026-03-01 19:25:04 +01:00
6f0d08bf48 add paderewski-nix profile 2026-03-01 19:24:55 +01:00
c4617cad86 Merge branch 'master' of https://github.com/szymon-jozef/amazing-dotfiles 2026-02-28 09:33:10 +01:00
16d9094435 hypr 2026-02-28 09:33:07 +01:00
96e33b9bc4 update: modules/hypr/hyprland.nix 2026-02-28 09:07:16 +01:00
5889e11254 update: modules/hypr/hyprland.nix 2026-02-28 09:06:11 +01:00
ff8b2befb6 update: modules/hypr/hyprland.nix 2026-02-28 09:03:53 +01:00
7e694f9994 update: modules/hypr/hyprland.nix 2026-02-28 09:02:09 +01:00
9c545347a7 update: modules/hypr/hyprland.nix 2026-02-28 09:00:23 +01:00
99aea6fed5 update: modules/hypr/hyprland.nix 2026-02-28 08:59:25 +01:00
507f496a53 update: modules/hypr/hyprland.nix 2026-02-28 08:56:57 +01:00
152ab8bfe1 update: modules/hypr/hyprland.nix 2026-02-28 08:51:09 +01:00
997e669803 move host names to flakes 2026-02-27 21:14:37 +01:00
cbc68e2b5a branching — not good idea... 2026-02-27 20:58:22 +01:00
033a5fae07 browsers default 2026-02-26 14:26:55 +01:00
62254c44e3 trele morele 2026-02-26 13:55:59 +01:00
bea3099e0d mako fix 2026-02-25 20:23:32 +01:00
3034989c00 brave 2026-02-25 19:56:13 +01:00
9b718e86d1 obsidian stuff 2026-02-25 17:48:56 +01:00
ea28c116e1 more readme 2026-02-25 16:12:46 +01:00
93de0bbce6 readme 2026-02-25 16:07:56 +01:00
b8287582e5 xd 2026-02-25 15:17:28 +01:00
94de74e3f5 pause fix 2026-02-25 11:55:11 +01:00
30de3e58ee update readme 2026-02-25 09:37:50 +01:00
141ebd6150 move some scripts to .nix 2026-02-25 09:28:40 +01:00
09e31ebfd8 update: modules/hypr/hyprland.nix 2026-02-25 09:02:03 +01:00
ba4f3f5ada update: modules/cli/fish.nix 2026-02-25 08:41:39 +01:00
ac237ea1cc cool script 2026-02-25 08:40:05 +01:00
d77c3f1689 remove unused shit 2026-02-25 01:32:39 +01:00
d9d7112ff1 gtk feck it!!! 2026-02-25 01:25:16 +01:00
e63ab9b51c gtk theme 2026-02-25 01:18:17 +01:00
102 changed files with 1737 additions and 4798 deletions

102
README.md
View File

@@ -1,7 +1,9 @@
# This repo is now deprecated in favor of new [nixos-born-again](https://github.com/szymon-jozef/nixos-born-again)
![Nix](https://img.shields.io/badge/Nix-unstable-blue.svg?logo=nixos&logoColor=white) ![Nix](https://img.shields.io/badge/Nix-unstable-blue.svg?logo=nixos&logoColor=white)
![Home Manager](https://img.shields.io/badge/Home_Manager-enabled-brightgreen.svg) ![Home Manager](https://img.shields.io/badge/Home_Manager-enabled-brightgreen.svg)
# My even cooler than previous dotfiles! # My even cooler than previous dotfiles!
My dotfiles managed with [home manager](https://github.com/nix-community/home-manager) My dotfiles managed with [home manager](https://github.com/nix-community/home-manager), using [catppuccin mocha](https://catppuccin.com/palette/) color scheme!
# What's inside? # What's inside?
* Ashell * Ashell
@@ -31,6 +33,7 @@ My dotfiles managed with [home manager](https://github.com/nix-community/home-ma
* Mimeapps * Mimeapps
* Catppuccin * Catppuccin
* Home Manager * Home Manager
* Obsidian
## Screenshot ## Screenshot
![Desktop screenshot](assets/screenshot.png) ![Desktop screenshot](assets/screenshot.png)
@@ -77,6 +80,103 @@ You need to edit `flake.nix` to match your preferences.
} }
``` ```
# Binds
## System & Power
| Bind | Action |
| :--- | :--- |
| **SUPER + Shift + Ctrl + L** | Lock screen |
| **SUPER + Shift + Ctrl + R** | Restart |
| **SUPER + Shift + Ctrl + P** | Power off |
| **SUPER + Shift + Ctrl + S** | Go to sleep |
| **SUPER + Shift + Ctrl + M** | Logout |
| **SUPER + V** | Show clipboard |
| **SUPER + Alt + V** | Clear clipboard |
### Windows management
| Bind | Action |
| :--- | :--- |
| **SUPER + Q** | Close active window |
| **SUPER + F** | Fullscreen |
| **SUPER + T** | Toggle floating window |
| **SUPER + P** | Toggle pseudo layout |
| **SUPER + S** | Toggle split / Swap with master window |
| **SUPER + N** / **P** | Swap with next / previous window |
| **SUPER + vim keys** | Move focus (Left / Down / Up / Right) |
| **SUPER + Shift + vim keys** | Resize active window |
| **SUPER + Left Mouse Button** | Move window |
| **SUPER + Right Mouse Button**| Resize window |
### Workspaces
| Bind | Action |
| :--- | :--- |
| **SUPER + 1-0** | Go to workspace 1-10 |
| **SUPER + Shift + 1-0** | Move active window to workspace 1-10 |
| **SUPER + Mouse Scroll** | Go to next/previous workspace |
| **SUPER + Shift + Right / Left** | Move current workspace to next/previous monitor |
| **SUPER + Tab** | Toggle scratchpad workspace |
| **SUPER + Shift + Tab** | Move window to scratchpad |
### Applications
| Bind | Action |
| :--- | :--- |
| **SUPER + Enter** | Open terminal |
| **SUPER + Ctrl + Enter** | Open terminal (current workspace) |
| **SUPER + Space** | Open app menu |
| **SUPER + M** | Open waypaper menu |
| **SUPER + Alt + C** | Apply OpenRGB color |
| **SUPER + Ctrl + B** | Open/Focus web browser |
| **SUPER + Ctrl + N** | Open/Focus notes app |
| **SUPER + Ctrl + M** | Open/Focus music player |
| **SUPER + Ctrl + S** | Open/Focus Signal |
| **SUPER + Ctrl + V** | Open/quick switcher Vesktop |
| **SUPER + Ctrl + G** | Open/Focus Steam |
| **SUPER + Ctrl + F** | Open/Focus FreeTube |
| **SUPER + Ctrl + X** | Open/Focus X app |
| **SUPER + Ctrl + Shift + B** | Restart status bar |
### Zoom
| Bind | Action |
| :--- | :--- |
| **SUPER + Alt + =** | Zoom in (+10%) |
| **SUPER + Alt + -** | Zoom out (-10%) |
| **SUPER + Alt + 0** | Reset zoom |
### Screenshots & Media
| Bind | Action |
| :--- | :--- |
| **Print Screen** | Screenshot selected area |
| **SUPER + Print Screen** | Screenshot fullscreen |
| **Alt + Print Screen** | Screenshot active window |
| **Pause** | Play / Pause media |
| **SUPER + Pause** | Play / Pause Spotify |
| **Brightness Keys** | Change screen brightness (+/- 10) |
| **Volume Keys** | Change volume (+/- 5%) |
| **Mic Mute Key** | Mute / Unmute microphone |
# Default apps
| Type | Application |
| :--- | :--- |
| Web Browser | Zen Browser |
| Terminal | kitty |
| Notes | Obsidian |
| Music Player | Spotify |
| App Launcher | hyprlauncher |
| Signal | Signal-desktop |
| Discord Client | Vesktop |
| YouTube Client | FreeTube |
| Gaming Platform | Steam |
| Screen Recording | OBS Studio |
| Image Editor | GIMP |
| Wallpaper Picker | Waypaper / swww |
| Screenshot Tool | grim (capture) & satty (editor) |
| Screen Locker | hyprlock |
| Clipboard Manager | cliphist & wl-clipboard |
| RGB Lighting Control | OpenRGB |
| Audio Volume Control | pavucontrol |
| Screen Color (Night Light) | hyprsunset |
| Status bar | AShell |
| Web Apps (PWAs) | Facebook, Twitter, ProtonMail |
--- ---
I hope you'll enjoy it, if you for whatever reason want to try this random ass dotfiles found on the internet… I hope you'll enjoy it, if you for whatever reason want to try this random ass dotfiles found on the internet…

View File

@@ -8,3 +8,5 @@ hyprsunset
satty satty
kitty kitty
mangohud mangohud
brave-bin
zen-browser-bin

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 MiB

After

Width:  |  Height:  |  Size: 6.3 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 MiB

After

Width:  |  Height:  |  Size: 3.7 MiB

View File

@@ -1,38 +0,0 @@
outputs = { Targets = ["DP-1"]}
position = "Bottom"
[modules]
left = [ "Clock", "Workspaces" ]
center = [ "WindowTitle" ]
right = ["Privacy", "MediaPlayer", "SystemInfo",[ "Tray", "Settings" ] ]
[clock]
format = "%H:%M | %e.%m "
[settings]
remove_airplane_btn = true
[appearance]
scale_factor = 1.2
success_color = "#a6e3a1"
text_color = "#cdd6f4"
workspace_colors = [ "#fab387", "#b4befe", "#cba6f7" ]
[appearance.primary_color]
base = "#fab387"
text = "#1e1e2e"
[appearance.danger_color]
base = "#f38ba8"
weak = "#f9e2af"
[appearance.background_color]
base = "#1e1e2e"
weak = "#313244"
strong = "#45475a"
[appearance.secondary_color]
base = "#11111b"
strong = "#1b1b25"

View File

@@ -1,30 +0,0 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"modules": [
"title",
"separator",
"os",
"host",
"kernel",
"packages",
"separator",
"wm",
"shell",
"terminal",
"theme",
"font",
"locale",
"separator",
"display",
"cpu",
"gpu",
"memory",
"disk",
"battery",
"separator",
"wifi",
"localip",
"break",
"colors"
]
}

View File

@@ -1,26 +0,0 @@
{
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
"logo": {
"source": "arch_small",
"padding": {
"bottom": 1,
}
},
"display": {
"separator": " ➜ ",
},
"modules": [
"title",
"kernel",
"packages",
"shell",
"battery",
{
"type": "separator",
"string": " • ",
},
"break",
"break",
"break"
]
}

1
dotfiles/gtk-3.0/gtk.css Normal file
View File

@@ -0,0 +1 @@
@import 'colors.css';

View File

@@ -1,25 +0,0 @@
[Settings]
gtk-theme-name=catppuccin-mocha-maroon-standard+default
gtk-icon-theme-name=Papirus-Dark
gtk-font-name=Noto Sans, 10
gtk-cursor-theme-name=default
gtk-cursor-theme-size=32
gtk-toolbar-style=3
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=0
gtk-menu-images=0
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=0
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintslight
gtk-xft-rgba=rgb
gtk-application-prefer-dark-theme=0
gtk-cursor-blink=true
gtk-cursor-blink-time=1000
gtk-decoration-layout=icon:minimize,maximize,close
gtk-enable-animations=true
gtk-modules=colorreload-gtk-module
gtk-primary-button-warps-slider=true
gtk-sound-theme-name=ocean
gtk-xft-dpi=117964

View File

@@ -1,7 +0,0 @@
[Settings]
gtk-theme-name=catppuccin-mocha-maroon-standard+default
gtk-icon-theme-name=Papirus-Dark
gtk-font-name=Noto Sans, 10
gtk-cursor-theme-name=default
gtk-cursor-theme-size=32
gtk-application-prefer-dark-theme=0

View File

@@ -1,79 +0,0 @@
$rosewater = rgb(dc8a78)
$rosewaterAlpha = dc8a78
$flamingo = rgb(dd7878)
$flamingoAlpha = dd7878
$pink = rgb(ea76cb)
$pinkAlpha = ea76cb
$mauve = rgb(8839ef)
$mauveAlpha = 8839ef
$red = rgb(d20f39)
$redAlpha = d20f39
$maroon = rgb(e64553)
$maroonAlpha = e64553
$peach = rgb(fe640b)
$peachAlpha = fe640b
$yellow = rgb(df8e1d)
$yellowAlpha = df8e1d
$green = rgb(40a02b)
$greenAlpha = 40a02b
$teal = rgb(179299)
$tealAlpha = 179299
$sky = rgb(04a5e5)
$skyAlpha = 04a5e5
$sapphire = rgb(209fb5)
$sapphireAlpha = 209fb5
$blue = rgb(1e66f5)
$blueAlpha = 1e66f5
$lavender = rgb(7287fd)
$lavenderAlpha = 7287fd
$text = rgb(4c4f69)
$textAlpha = 4c4f69
$subtext1 = rgb(5c5f77)
$subtext1Alpha = 5c5f77
$subtext0 = rgb(6c6f85)
$subtext0Alpha = 6c6f85
$overlay2 = rgb(7c7f93)
$overlay2Alpha = 7c7f93
$overlay1 = rgb(8c8fa1)
$overlay1Alpha = 8c8fa1
$overlay0 = rgb(9ca0b0)
$overlay0Alpha = 9ca0b0
$surface2 = rgb(acb0be)
$surface2Alpha = acb0be
$surface1 = rgb(bcc0cc)
$surface1Alpha = bcc0cc
$surface0 = rgb(ccd0da)
$surface0Alpha = ccd0da
$base = rgb(eff1f5)
$baseAlpha = eff1f5
$mantle = rgb(e6e9ef)
$mantleAlpha = e6e9ef
$crust = rgb(dce0e8)
$crustAlpha = dce0e8
$openrgb_color = 09ce30

View File

@@ -1,23 +0,0 @@
general {
lock_cmd = pidof hyprlock || hyprlock # avoid starting multiple hyprlock instances.
before_sleep_cmd = hyprlock # lock before suspend.
after_sleep_cmd = hyprctl dispatch dpms on # to avoid having to press a key twice to turn on the display.
}
listener {
timeout = 300 # 5min
on-timeout = hyprlock # lock screen when timeout has passed
}
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.
}
listener {
timeout = 330 # 5.5min
on-timeout = openrgb -c black
on-resume = openrgb -c green
}

View File

@@ -1,53 +0,0 @@
env = XCURSOR_SIZE, 32
env = HYPRCURSOR_SIZE, 32
env = HYPRCURSOR_THEME, theme_phinger-cursors-light
env = XDG_CURRENT_DESKTOP,Hyprland
$mainMod = SUPER # Sets "Windows" key as main modifier
$terminal = uwsm app -- kitty
$menu = hyprlauncher
$music_player = flatpak run com.spotify.Client
$notes = obsidian
$browser = zen-browser
input {
kb_layout = pl
kb_variant =
kb_model =
kb_options = caps:escape_shifted_capslock
kb_rules =
follow_mouse = 1
left_handed = true
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
touchpad {
natural_scroll = true
}
}
cursor {
no_hardware_cursors = true
inactive_timeout = 5
warp_on_change_workspace = 1
zoom_factor = 1.0
hide_on_key_press = 1
}
misc {
force_default_wallpaper = 0
disable_hyprland_logo = true
middle_click_paste = false
}
xwayland {
force_zero_scaling = 1
}
# IMPORTS
source = ./colors.conf
source = ./hyprland/binds/*
source = ./hyprland/*

View File

@@ -1,12 +0,0 @@
# Requires pactl
bindel=, XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga
bindel=, XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga
bindel=, XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle
bindl=, XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle && ~/.local/bin/check-if-muted.sh
# Requires playerctl
bindl = , XF86AudioNext, exec, playerctl next
bindl = , Pause, exec, playerctl play-pause
bindl = $mainMod, Pause, exec, playerctl play-pause --player spotify
bindl = , XF86AudioPlay, exec, playerctl play-pause
bindl = , XF86AudioPrev, exec, playerctl previous

View File

@@ -1,2 +0,0 @@
bind = $mainMod, V, exec, cliphist list | hyprlauncher -m | cliphist decode | wl-copy
bind = $mainMod ALT_L, V, exec, cliphist wipe && notify-send "Clipboard" "Clipboard cleared!"

View File

@@ -1,12 +0,0 @@
# Zoom
binde = $mainMod alt, equal, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 1.1}')
binde = $mainMod alt, minus, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 0.9}')
bind = $mainMod alt, 0, exec, hyprctl -q keyword cursor:zoom_factor 1
# Brightness
bindel = ,XF86MonBrightnessDown, exec, hyprctl hyprsunset gamma -10
bindel = ,XF86MonBrightnessUp, exec, hyprctl hyprsunset gamma +10
# Wallpaper
bind = $mainMod, M, exec, [float] waypaper

View File

@@ -1,109 +0,0 @@
# Move windows around
## Move focus with mainMod + vim keys
bind = $mainMod, h, movefocus, l
bind = $mainMod, l, movefocus, r
bind = $mainMod, k, movefocus, u
bind = $mainMod, j, movefocus, d
## Resize with mainMod + shift + vim keys
binde = $mainMod L_SHIFT, l, resizeactive, 10 0 # right
binde = $mainMod L_SHIFT, h, resizeactive, -10 0 # left
binde = $mainMod L_SHIFT, k, resizeactive, 0 -10 #up
binde = $mainMod L_SHIFT, j, resizeactive, 0 10 # down
## Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
## Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
## Move to different monitor
bind = $mainMod L_SHIFT, right, exec, hyprctl dispatch movecurrentworkspacetomonitor +1
bind = $mainMod L_SHIFT, left, exec, hyprctl dispatch movecurrentworkspacetomonitor -1
## Switch workspaces with mainMod + [0-9]
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
## Move active window to a workspace with mainMod + SHIFT + [0-9]
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
## Change display settings
bindd = $mainMod, F, Make app fullscreen, fullscreen
bindd = $mainMod, T, Toggle floating, togglefloating
bindd = $mainMod, P, Toggle pseudo, pseudo
bindd = $mainMod, S, Toggle split, togglesplit
bindd = $mainMod, Q, Kill active window, killactive
## special workspace
bind = $mainMod, TAB, togglespecialworkspace, magic
bind = $mainMod SHIFT, TAB, movetoworkspace, special:magic
## master layout
bind = $mainMod, S, layoutmsg, swapwithmaster
bind = $mainMod, n, layoutmsg, swapnext
bind = $mainMod, p, layoutmsg, swapprev
# APPS
## general
bind = $mainMod, RETURN, exec, [workspace 4] $terminal
bind = $mainMod CONTROL_L, RETURN, exec, $terminal
bind = $mainMod, space , exec, $menu
bind = $mainMod ALT_L, c, exec, openrgb -c $openrgb_color # restore openrgb color
### messages
bind = $mainMod Control_L, s, exec,[workspace 1] signal-desktop --password-store="kwallet6"
bind = $mainMod Control_L, s, focuswindow, class:^(signal)$
bind = $mainMod Control_L, s, focuswindow, title:^(signal)$
bind = $mainMod Control_L, v, sendshortcut, ctrl, k, class:^(vesktop)$
bind = $mainMod Control_L, v, exec, uwsm app -- vesktop
bind = $mainMod Control_L, v, focuswindow, class:^(vesktop)$
### games
bind = $mainMod Control_L, g, exec, uwsm app -- steam
bind = $mainMod Control_L, g, focuswindow, class:^(steam)$
### browser
bind = $mainMod Control_L, b, exec, uwsm app -- $browser
bind = $mainMod Control_L, b, focuswindow, class:^(zen)$
### notes
bind = $mainMod Control_L, n, exec, [workspace 6] uwsm app -- $notes
bind = $mainMod Control_L, n, focuswindow, class:^(obsidian)$
### music player
bind = $mainMod Control_L, m, exec, [workspace 9] uwsm app -- $music_player
### youtube ig
bind = $mainMod Control_L, f, exec, uwsm app -- freetube
bind = $mainMod Control_L, f, focuswindow, class:^(freetube)$
### x
bind = $mainMod Control_L, x, exec, uwsm app -- ~/.local/share/applications/x.desktop
bind = $mainMod Control_L, x, focuswindow, class:^(chrome-x.com__-Default)$
## restart status bar
bind = $mainMod CONTROL_L L_SHIFT, B, exec, killall ashell && uwsm app -- ashell

View File

@@ -1,5 +0,0 @@
bind = $mainMod L_SHIFT ctrl, l, exec, hyprlock # lock
bind = $mainMod L_SHIFT ctrl, r, exec, openrgb -c black && systemctl reboot
bind = $mainMod L_SHIFT ctrl, p, exec, openrgb -c black && systemctl poweroff
bind = $mainMod L_SHIFT ctrl, s, exec, openrgb -c black && pidof hyprlock || sleep 1 && systemctl sleep
bind = $mainMod L_SHIFT ctrl, m, exec, uwsm stop

View File

@@ -1,3 +0,0 @@
bindt = , PRINT, exec, ~/.local/bin/screenshot.sh region
bindt = $mainMod, PRINT, exec, ~/.local/bin/screenshot.sh fullscreen
bindt = alt_l, PRINT, exec, ~/.local/bin/screenshot.sh window

View File

@@ -1,25 +0,0 @@
# https://wiki.hyprland.org/Configuring/Variables/#decoration
decoration {
rounding = 1
rounding_power = 2
# Change transparency of focused and unfocused windows
active_opacity = 1.0
inactive_opacity = 1.0
shadow {
enabled = true
range = 1
render_power = 1
color = $overlay0
}
# https://wiki.hyprland.org/Configuring/Variables/#blur
blur {
enabled = true
size = 1
passes = 1
vibrancy = 0.1696
}
}

View File

@@ -1,7 +0,0 @@
exec-once = wl-paste --type text --watch cliphist store
exec-once = wl-paste --type image --watch cliphist store
exec-once = uwsm app -- kdeconnect-indicator
exec-once = uwsm app -- ashell
exec-once = swww-daemon
exec-once = openrgb -c $openrgb_color

View File

@@ -1,47 +0,0 @@
general {
gaps_in = 4
gaps_out = 6
border_size = 4
# https://wiki.hyprland.org/Configuring/Variables/#variable-types for info about colors
col.active_border = $blue $sky
col.inactive_border = $overlay1
# Set to true enable resizing windows by clicking and dragging on borders and gaps
resize_on_border = false
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
allow_tearing = false
layout = dwindle
}
animations {
enabled = yes, please :)
# Default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
bezier = easeOutQuint,0.23,1,0.32,1
bezier = easeInOutCubic,0.65,0.05,0.36,1
bezier = linear,0,0,1,1
bezier = almostLinear,0.5,0.5,0.75,1.0
bezier = quick,0.15,0,0.1,1
animation = global, 1, 7, default
animation = border, 1, 3.39, easeOutQuint
animation = windows, 1, 2.79, easeOutQuint
animation = windowsIn, 1, 2.1, easeOutQuint, popin 87%
animation = windowsOut, 1, 1, linear, popin 87%
animation = fadeIn, 1, 1.4, almostLinear
animation = fadeOut, 1, 1.2, almostLinear
animation = fade, 1, 3.03, quick
animation = layers, 1, 2, easeOutQuint
animation = layersIn, 1, 2, easeOutQuint, fade
animation = layersOut, 1, 1, linear, fade
animation = fadeLayersIn, 1, 1.4, almostLinear
animation = fadeLayersOut, 1, 1.1, almostLinear
animation = workspaces, 1, 1.4, quick, slidevert
animation = workspacesIn, 1, 0.5, quick, slidevert
animation = workspacesOut, 1, 0.5, quick, slidevert
}

View File

@@ -1,10 +0,0 @@
dwindle {
pseudotile = true # Master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
preserve_split = true # You probably want this
}
master {
new_status = slave
allow_small_split = true
orientation = left
}

View File

@@ -1,40 +0,0 @@
monitorv2 {
output = DP-1
mode = 2560x1440@180.06
position = 0x0
scale = 1
vrr = 1
supports_wide_color = 1
bitdepth = 10
sdr_min_luminance = 0.005
sdr_max_luminance = 220
cm = hdr
supports_hdr = 1
}
monitorv2 {
output = DP-2
mode = 1920x1080@144
position = auto-left
vrr = 1
scale = 1.0
}
monitorv2 {
output = HDMI-A-2
mode = highres
position = auto-up
scale = 1
}
monitorv2 {
output =
position = auto-right
scale = 1
}
quirks {
prefer_hdr = 1
}

View File

@@ -1,67 +0,0 @@
windowrule {
name = pavucontrol-float
match:class = ^(org.pulseaudio.pavucontrol)$
float = 1
size = 80% 60%
stay_focused = 1
center = 1
pin = 1
}
windowrule {
name = share-picker-float
match:class = ^(hyprland-share-picker)$
float = 1
center = 1
pin = 1
}
windowrule {
name = steam-friends-list
match:title = ^(Lista znajomych)$
float = 1
center = 1
size = 40% 60%
}
windowrule {
name = vesktop-dont-focus-pls
match:class = ^(vesktop)$
no_initial_focus = 1
focus_on_activate = 0
render_unfocused = 1
}
windowrule {
name = xdg-desktop-portal-gtk
match:class = ^(xdg-desktop-portal-gtk)$
float = 1
center = 1
size = 55% 50%
}
windowrule {
name = picture-in-picture
match:title = ^(Obraz w obrazie)$
pseudo = 1
no_initial_focus = 1
}
windowrule {
name = login-google-zen
match:title = ^(Logowanie Konta Google — Zen Browser)$
float = 1
center = 1
}
windowrule {
name = prism-launcher
match:class = ^(org.prismlauncher.PrismLauncher)$
workspace = 3
}
windowrule {
name = gamescope
match:class = ^(gamescope)$
workspace = 3
}

View File

@@ -1,7 +0,0 @@
ecosystem {
enforce_permissions = true
}
permission = /usr/bin/grim, screencopy, allow
permission = /usr/bin/hyprlock, screencopy, allow
permission = /usr/(lib|libexec|lib64)/xdg-desktop-portal-hyprland, screencopy, allow

View File

@@ -1,54 +0,0 @@
workspace = 1, monitor:DP-2
workspace = 2, monitor:DP-1
workspace = 3, monitor:DP-1
workspace = 4, monitor:DP-1
workspace = 5, monitor:DP-1
workspace = 6, monitor:DP-1
workspace = 7, monitor:HDMI-A-2
workspace = 9, monitor:DP-2
workspace = 10, monitor:DP-2
# smart gaps or smt
workspace = w[tv1], gapsout:0, gapsin:0
workspace = f[1], gapsout:0, gapsin:0
windowrule = border_size 0, match:float 0, match:workspace w[tv1]
windowrule = rounding 0, match:float 0, match:workspace w[tv1]
windowrule = border_size 0, match:float 0, match:workspace f[1]
windowrule = rounding 0, match:float 0, match:workspace f[1]
# assign windows to workspaces
# Workspace 1
windowrule = match:class ^(signal)$, workspace 1
windowrule = match:class ^(vesktop)$, workspace 1 silent
windowrule = match:class ^(chrome-facebook.com__-Default)$, workspace 1
# Workspace 2
windowrule = match:class ^(zen)$, workspace 2
windowrule = match:class ^(com.github.IsmaelMartinez.teams_for_linux)$, workspace 2
windowrule = match:class ^(FreeTube)$, workspace 2
windowrule = match:class ^(chrome-x.com__-Default)$, workspace 2
windowrule = match:class ^(chrome-www.inoreader.com__all_articles-Default)$, workspace 2
windowrule = match:class ^(chrome-mail.proton.me__u_0_inbox.com-Default)$, workspace 2
windowrule = match:class ^(chrome-app.tuta.com__-Default)$, workspace 2
# Workspace 3
windowrule = match:class ^(steam)$, workspace 3 silent
windowrule = match:class ^(heroic)$, workspace 3
windowrule = match:class ^(net.lutris.Lutris)$, workspace 3
windowrule = match:class ^(rpcs3)$, workspace 3
# Workspace 5
windowrule = match:class ^(winboat)$, workspace 5
# Workspace 6
windowrule = match:class ^(obsidian)$, workspace 6
# Workspace 8
windowrule = match:class ^(gimp)$, workspace 8
# Workspace 9
windowrule = match:class .*potify, workspace 9 silent
# Workspace 10
windowrule = match:class ^(com.obsproject.Studio)$, workspace 10

View File

@@ -1 +0,0 @@
desktop_launch_prefix = uwsm app --

View File

@@ -1,106 +0,0 @@
# sample hyprlock.conf
# for more configuration options, refer https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock
#
# rendered text in all widgets supports pango markup (e.g. <b> or <i> tags)
# ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#general-remarks
#
# shortcuts to clear password buffer: ESC, Ctrl+U, Ctrl+Backspace
#
# you can get started by copying this config to ~/.config/hypr/hyprlock.conf
#
$font = Monospace
general {
hide_cursor = false
}
# uncomment to enable fingerprint authentication
# auth {
# fingerprint {
# enabled = true
# ready_message = Scan fingerprint to unlock
# present_message = Scanning...
# retry_delay = 250 # in milliseconds
# }
# }
animations {
enabled = true
bezier = linear, 1, 1, 0, 0
animation = fadeIn, 1, 5, linear
animation = fadeOut, 1, 5, linear
animation = inputFieldDots, 1, 2, linear
}
background {
monitor =
path = screenshot
blur_passes = 3
}
input-field {
monitor =
size = 20%, 5%
outline_thickness = 3
inner_color = rgba(0, 0, 0, 0.0) # no fill
outer_color = rgba(33ccffee) rgba(00ff99ee) 45deg
check_color = rgba(00ff99ee) rgba(ff6633ee) 120deg
fail_color = rgba(ff6633ee) rgba(ff0066ee) 40deg
font_color = rgb(143, 143, 143)
fade_on_empty = false
rounding = 15
font_family = $font
placeholder_text = Input password...
fail_text = $PAMFAIL
# uncomment to use a letter instead of a dot to indicate the typed password
# dots_text_format = *
# dots_size = 0.4
dots_spacing = 0.3
# uncomment to use an input indicator that does not show the password length (similar to swaylock's input indicator)
# hide_input = true
position = 0, -20
halign = center
valign = center
}
# TIME
label {
monitor =
text = $TIME # ref. https://wiki.hyprland.org/Hypr-Ecosystem/hyprlock/#variable-substitution
font_size = 90
font_family = $font
position = -30, 0
halign = right
valign = top
}
# DATE
label {
monitor =
text = cmd[update:60000] date +"%A, %d %B %Y" # update every 60 seconds
font_size = 25
font_family = $font
position = -30, -150
halign = right
valign = top
}
label {
monitor =
text = $LAYOUT[en,ru]
font_size = 24
onclick = hyprctl switchxkblayout all next
position = 250, -20
halign = center
valign = center
}

View File

@@ -1,4 +0,0 @@
preload = /home/szymon/Obrazy/tapety/sfw/forrest.png
wallpaper = ,/home/szymon/Obrazy/tapety/sfw/forrest.png
splash = off
ipc = on

View File

@@ -1,13 +0,0 @@
max-gamma = 150
profile {
time = 7:00
identity = true
}
profile {
time = 21:00
identity = false
temperature = 4500
gamma = 0.8
}

File diff suppressed because it is too large Load Diff

View File

@@ -1,80 +0,0 @@
# vim:ft=kitty
## name: Catppuccin Kitty Mocha
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/mocha.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #cdd6f4
background #1e1e2e
selection_foreground #1e1e2e
selection_background #f5e0dc
# Cursor colors
cursor #f5e0dc
cursor_text_color #1e1e2e
# URL underline color when hovering with mouse
url_color #f5e0dc
# Kitty window border colors
active_border_color #b4befe
inactive_border_color #6c7086
bell_border_color #f9e2af
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #11111b
active_tab_background #cba6f7
inactive_tab_foreground #cdd6f4
inactive_tab_background #181825
tab_bar_background #11111b
# Colors for marks (marked text in the terminal)
mark1_foreground #1e1e2e
mark1_background #b4befe
mark2_foreground #1e1e2e
mark2_background #cba6f7
mark3_foreground #1e1e2e
mark3_background #74c7ec
# The 16 terminal colors
# black
color0 #45475a
color8 #585b70
# red
color1 #f38ba8
color9 #f38ba8
# green
color2 #a6e3a1
color10 #a6e3a1
# yellow
color3 #f9e2af
color11 #f9e2af
# blue
color4 #89b4fa
color12 #89b4fa
# magenta
color5 #f5c2e7
color13 #f5c2e7
# cyan
color6 #94e2d5
color14 #94e2d5
# white
color7 #bac2de
color15 #a6adc8

View File

@@ -1,80 +0,0 @@
# vim:ft=kitty
## name: Catppuccin Kitty Latte
## author: Catppuccin Org
## license: MIT
## upstream: https://github.com/catppuccin/kitty/blob/main/themes/latte.conf
## blurb: Soothing pastel theme for the high-spirited!
# The basic colors
foreground #3b3e55
background #e0e2e8
selection_foreground #eff1f5
selection_background #dc8a78
# Cursor colors
cursor #dc8a78
cursor_text_color #eff1f5
# URL underline color when hovering with mouse
url_color #dc8a78
# Kitty window border colors
active_border_color #7287fd
inactive_border_color #9ca0b0
bell_border_color #df8e1d
# OS Window titlebar colors
wayland_titlebar_color system
macos_titlebar_color system
# Tab bar colors
active_tab_foreground #eff1f5
active_tab_background #8839ef
inactive_tab_foreground #4c4f69
inactive_tab_background #9ca0b0
tab_bar_background #bcc0cc
# Colors for marks (marked text in the terminal)
mark1_foreground #eff1f5
mark1_background #7287fd
mark2_foreground #eff1f5
mark2_background #8839ef
mark3_foreground #eff1f5
mark3_background #209fb5
# The 16 terminal colors
# black
color0 #5c5f77
color8 #6c6f85
# red
color1 #d20f39
color9 #d20f39
# green
color2 #40a02b
color10 #40a02b
# yellow
color3 #df8e1d
color11 #df8e1d
# blue
color4 #1e66f5
color12 #1e66f5
# magenta
color5 #ea76cb
color13 #ea76cb
# cyan
color6 #179299
color14 #179299
# white
color7 #acb0be
color15 #bcc0cc

View File

@@ -1,79 +0,0 @@
################### File Generated by Goverlay ###################
legacy_layout=false
background_alpha=0.6
round_corners=10
background_alpha=0.6
background_color=000000
font_size=24
text_color=C0C0C0
position=top-right
no_display
hud_compact
pci_dev=0:03:00.0
table_columns=2
gpu_text=GPU
gpu_stats
gpu_voltage
gpu_core_clock
gpu_mem_clock
gpu_temp
gpu_mem_temp
gpu_fan
gpu_power
gpu_color=F1003B
cpu_text=CPU
cpu_stats
cpu_load_change
cpu_load_value=50,90
cpu_load_color=FFFFFF,FFAA7F,CC0000
cpu_mhz
cpu_temp
cpu_power
cpu_color=FA8000
io_stats
io_read
io_write
io_color=C0C0C0
vram
vram_color=F1003B
vram_color=F1003B
ram
ram_color=FA8000
fps
fps_metrics=avg,0.01
gpu_name
frame_timing
frametime_color=FA8000
fps_limit_method=late
toggle_fps_limit=Shift_L+F1
fps_limit=0
resolution
gamemode
custom_text=-
exec=cat /home/szymon/.config/goverlay/distro
custom_text=-
exec=uname -r
fps_color_change
fps_color=B22222,FDFD09,39F900
fps_value=30,60
#offset=0
output_folder=/home/szymon
log_duration=30
autostart_log=0
log_interval=100
toggle_logging=Shift_L+F2
blacklist=pamac-manager,lact,ghb,bitwig-studio,ptyxis,yumex

View File

@@ -1,49 +0,0 @@
[Added Associations]
application/x-extension-htm=zen-beta.desktop;zen.desktop;userapp-Zen-2KDM82.desktop;
application/x-extension-html=zen-beta.desktop;zen.desktop;userapp-Zen-2KDM82.desktop;
application/x-extension-shtml=zen-beta.desktop;zen.desktop;userapp-Zen-2KDM82.desktop;
application/x-extension-xht=zen-beta.desktop;zen.desktop;userapp-Zen-2KDM82.desktop;
application/x-extension-xhtml=zen-beta.desktop;zen.desktop;userapp-Zen-2KDM82.desktop;
application/xhtml+xml=zen-beta.desktop;zen.desktop;userapp-Zen-2KDM82.desktop;
image/png=feh-2.desktop;
text/html=zen-beta.desktop;zen.desktop;userapp-Zen-2KDM82.desktop;
x-scheme-handler/chrome=zen.desktop;userapp-Zen-2KDM82.desktop;zen-beta.desktop;
x-scheme-handler/http=zen.desktop;userapp-Zen-2KDM82.desktop;zen-beta.desktop;
x-scheme-handler/https=zen.desktop;userapp-Zen-2KDM82.desktop;zen-beta.desktop;
[Default Applications]
application/pdf=org.pwmt.zathura.desktop
application/x-extension-htm=zen.desktop
application/x-extension-html=zen.desktop
application/x-extension-shtml=zen.desktop
application/x-extension-xht=zen.desktop
application/x-extension-xhtml=zen.desktop
application/xhtml+xml=zen.desktop
audio/*=mpv.desktop
audio/aac=mpv.desktop
audio/flac=mpv.desktop
audio/hx-aac-adts=mpv.desktop
audio/mpeg=mpv.desktop
audio/ogg=mpv.desktop
audio/wav=mpv.desktop
audio/x-hx-aac-adts=mpv.desktop
image/*=org.kde.koko.desktop
image/bmp=feh.desktop
image/gif=org.kde.koko.desktop
image/jpeg=org.kde.koko.desktop
image/jpg=org.kde.koko.desktop
image/png=feh-2.desktop;
image/svg+xml=feh.desktop
image/webp=org.kde.koko.desktop
text/html=zen.desktop
x-scheme-handler/chrome=zen.desktop
x-scheme-handler/discord=vesktop.desktop
x-scheme-handler/freetube=FreeTube.desktop
x-scheme-handler/http=zen.desktop
x-scheme-handler/https=zen.desktop
x-scheme-handler/nxm=ModOrganizer-steamtinkerlaunch-dl.desktop
x-scheme-handler/nxm-protocol=ModOrganizer-steamtinkerlaunch-dl.desktop
x-scheme-handler/proton-inbox=Proton Mail.desktop
x-scheme-handler/sgnl=signal-desktop.desktop
x-scheme-handler/signalcaptcha=signal-desktop.desktop
x-scheme-handler/tuta=tutanota-desktop.desktop

View File

@@ -1,3 +0,0 @@
require("config.lazy")
require("config.set")
require("config.remaps")

View File

@@ -1,20 +0,0 @@
{
"LuaSnip": { "branch": "master", "commit": "dae4f5aaa3574bd0c2b9dd20fb9542a02c10471c" },
"catppuccin": { "branch": "main", "commit": "0a5de4da015a175f416d6ef1eda84661623e0500" },
"cmp-buffer": { "branch": "main", "commit": "b74fab3656eea9de20a9b8116afa3cfc4ec09657" },
"cmp-cmdline": { "branch": "main", "commit": "d126061b624e0af6c3a556428712dd4d4194ec6d" },
"cmp-nvim-lsp": { "branch": "main", "commit": "cbc7b02bb99fae35cb42f514762b89b5126651ef" },
"cmp-path": { "branch": "main", "commit": "c642487086dbd9a93160e1679a1327be111cbc25" },
"cmp_luasnip": { "branch": "master", "commit": "98d9cb5c2c38532bd9bdb481067b20fea8f32e90" },
"gitsigns.nvim": { "branch": "main", "commit": "9f3c6dd7868bcc116e9c1c1929ce063b978fa519" },
"harpoon": { "branch": "harpoon2", "commit": "87b1a3506211538f460786c23f98ec63ad9af4e5" },
"lazy.nvim": { "branch": "main", "commit": "306a05526ada86a7b30af95c5cc81ffba93fef97" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "21c2a84ce368e99b18f52ab348c4c02c32c02fcf" },
"mason.nvim": { "branch": "main", "commit": "44d1e90e1f66e077268191e3ee9d2ac97cc18e65" },
"nvim-autopairs": { "branch": "master", "commit": "59bce2eef357189c3305e25bc6dd2d138c1683f5" },
"nvim-cmp": { "branch": "main", "commit": "da88697d7f45d16852c6b2769dc52387d1ddc45f" },
"nvim-lspconfig": { "branch": "master", "commit": "44acfe887d4056f704ccc4f17513ed41c9e2b2e6" },
"plenary.nvim": { "branch": "master", "commit": "b9fd5226c2f76c951fc8ed5923d85e4de065e509" },
"telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" },
"which-key.nvim": { "branch": "main", "commit": "3aab2147e74890957785941f0c1ad87d0a44c15a" }
}

View File

@@ -1,36 +0,0 @@
-- Bootstrap lazy.nvim
local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim"
if not (vim.uv or vim.loop).fs_stat(lazypath) then
local lazyrepo = "https://github.com/folke/lazy.nvim.git"
local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath })
if vim.v.shell_error ~= 0 then
vim.api.nvim_echo({
{ "Failed to clone lazy.nvim:\n", "ErrorMsg" },
{ out, "WarningMsg" },
{ "\nPress any key to exit..." },
}, true, {})
vim.fn.getchar()
os.exit(1)
end
end
vim.opt.rtp:prepend(lazypath)
-- Make sure to setup `mapleader` and `maplocalleader` before
-- loading lazy.nvim so that mappings are correct.
-- This is also a good place to setup other settings (vim.opt)
vim.api.nvim_set_keymap('', "<Space>", "<Nop>", { noremap = true, silent = true })
vim.g.mapleader = " "
vim.g.maplocalleader = "\\"
-- Setup lazy.nvim
require("lazy").setup({
spec = {
-- import your plugins
{ import = "plugins" },
},
-- Configure any other settings here. See the documentation for more details.
-- colorscheme that will be used when installing plugins.
install = { colorscheme = { "habamax" } },
-- automatically check for plugin updates
checker = { enabled = true },
})

View File

@@ -1,13 +0,0 @@
-- shift code --
vim.keymap.set('x', '>', ">gv", { desc = "Shift code right" })
vim.keymap.set('x', '<', "<gv", { desc = "Shift code left" })
-- lsp --
vim.keymap.set('n', '<leader>ca', vim.lsp.buf.code_action, { noremap = true, silent = true, desc = "Code action" })
vim.keymap.set('n', '<leader>cf', vim.lsp.buf.format, { desc = "Code format" })
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, { desc = "Go to definition" })
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, { desc = "Go to implementation" })
vim.keymap.set('n', '<leader>r', vim.lsp.buf.rename, { desc = "Rename symbol" })

View File

@@ -1,34 +0,0 @@
-- Colorscheme --
vim.cmd.colorscheme "catppuccin-mocha"
-- Looks --
vim.opt.relativenumber = true
vim.opt.number = true
vim.opt.signcolumn = 'yes'
vim.opt.cursorline = false
vim.opt.list = true
vim.opt.wrap = true
vim.opt.shiftwidth = 4
vim.opt.tabstop = 4
vim.opt.expandtab = true
vim.opt.list = true
-- Highlight line yank --
vim.api.nvim_create_augroup("YankHighlight", { clear = true })
vim.api.nvim_create_autocmd("TextYankPost", {
group = "YankHighlight",
callback = function()
vim.highlight.on_yank({ higroup = "IncSearch", timeout = 200 })
end,
})
-- shared clipboard --
vim.opt.clipboard = "unnamedplus"
-- Language --
vim.opt.spell = true
vim.opt.spelllang = { 'pl', 'en' }
-- Telescope --
local builtin = require('telescope.builtin')
vim.keymap.set('n', '<leader>ff', builtin.find_files, { desc = 'Telescope find files' })
vim.keymap.set('n', '<leader>fg', builtin.git_files, { desc = 'Telescope find git files' })

View File

@@ -1,7 +0,0 @@
return {
'windwp/nvim-autopairs',
event = "InsertEnter",
config = true
-- use opts = {} for passing setup options
-- this is equivalent to setup({}) function
}

View File

@@ -1,5 +0,0 @@
return {
"catppuccin/nvim",
name = "catppuccin",
priority = 1000
}

View File

@@ -1,119 +0,0 @@
return {
"lewis6991/gitsigns.nvim",
config = function()
require('gitsigns').setup {
signs = {
add = { text = '' },
change = { text = '' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
untracked = { text = '' },
},
signs_staged = {
add = { text = '' },
change = { text = '' },
delete = { text = '_' },
topdelete = { text = '' },
changedelete = { text = '~' },
untracked = { text = '' },
},
signs_staged_enable = true,
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
numhl = false, -- Toggle with `:Gitsigns toggle_numhl`
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
watch_gitdir = {
follow_files = true
},
auto_attach = true,
attach_to_untracked = false,
current_line_blame = false, -- Toggle with `:Gitsigns toggle_current_line_blame`
current_line_blame_opts = {
virt_text = true,
virt_text_pos = 'eol', -- 'eol' | 'overlay' | 'right_align'
delay = 1000,
ignore_whitespace = false,
virt_text_priority = 100,
use_focus = true,
},
current_line_blame_formatter = '<author>, <author_time:%R> - <summary>',
sign_priority = 6,
update_debounce = 100,
status_formatter = nil, -- Use default
max_file_length = 40000, -- Disable if file is longer than this (in lines)
preview_config = {
-- Options passed to nvim_open_win
style = 'minimal',
relative = 'cursor',
row = 0,
col = 1
},
on_attach = function(bufnr)
local gitsigns = require('gitsigns')
local function map(mode, l, r, opts)
opts = opts or {}
opts.buffer = bufnr
vim.keymap.set(mode, l, r, opts)
end
-- Navigation
map('n', ']c', function()
if vim.wo.diff then
vim.cmd.normal({ ']c', bang = true })
else
gitsigns.nav_hunk('next')
end
end)
map('n', '[c', function()
if vim.wo.diff then
vim.cmd.normal({ '[c', bang = true })
else
gitsigns.nav_hunk('prev')
end
end)
-- Actions
map('n', '<leader>hs', gitsigns.stage_hunk)
map('n', '<leader>hr', gitsigns.reset_hunk)
map('v', '<leader>hs', function()
gitsigns.stage_hunk({ vim.fn.line('.'), vim.fn.line('v') })
end)
map('v', '<leader>hr', function()
gitsigns.reset_hunk({ vim.fn.line('.'), vim.fn.line('v') })
end)
map('n', '<leader>hS', gitsigns.stage_buffer)
map('n', '<leader>hR', gitsigns.reset_buffer)
map('n', '<leader>hp', gitsigns.preview_hunk)
map('n', '<leader>hi', gitsigns.preview_hunk_inline)
map('n', '<leader>hb', function()
gitsigns.blame_line({ full = true })
end)
map('n', '<leader>hd', gitsigns.diffthis)
map('n', '<leader>hD', function()
gitsigns.diffthis('~')
end)
map('n', '<leader>hQ', function() gitsigns.setqflist('all') end)
map('n', '<leader>hq', gitsigns.setqflist)
-- Toggles
map('n', '<leader>tb', gitsigns.toggle_current_line_blame)
map('n', '<leader>tw', gitsigns.toggle_word_diff)
-- Text object
map({ 'o', 'x' }, 'ih', gitsigns.select_hunk)
end
}
end
}

View File

@@ -1,48 +0,0 @@
return {
"ThePrimeagen/harpoon",
branch = "harpoon2",
dependencies = { "nvim-lua/plenary.nvim" },
init = function()
local harpoon = require("harpoon")
-- REQUIRED
harpoon:setup()
-- REQUIRED
vim.keymap.set("n", "<leader>a", function() harpoon:list():add() end, { desc = "Add file to harpoon" })
vim.keymap.set("n", "<C-e>", function() harpoon.ui:toggle_quick_menu(harpoon:list()) end,
{ desc = "Toggle harpoon ui" })
vim.keymap.set("n", "<C-h>", function() harpoon:list():select(1) end)
vim.keymap.set("n", "<C-j>", function() harpoon:list():select(2) end)
vim.keymap.set("n", "<C-k>", function() harpoon:list():select(3) end)
vim.keymap.set("n", "<C-l>", function() harpoon:list():select(4) end)
-- Toggle previous & next buffers stored within Harpoon list
vim.keymap.set("n", "<C-S-P>", function() harpoon:list():prev() end,
{ desc = "Toggle next harpoon buffer" })
vim.keymap.set("n", "<C-S-N>", function() harpoon:list():next() end,
{ desc = "Toggle previous harpoon buffer" })
-- basic telescope configuration
local conf = require("telescope.config").values
local function toggle_telescope(harpoon_files)
local file_paths = {}
for _, item in ipairs(harpoon_files.items) do
table.insert(file_paths, item.value)
end
require("telescope.pickers").new({}, {
prompt_title = "Harpoon",
finder = require("telescope.finders").new_table({
results = file_paths,
}),
previewer = conf.file_previewer({}),
sorter = conf.generic_sorter({}),
}):find()
end
vim.keymap.set("n", "<C-e>", function() toggle_telescope(harpoon:list()) end,
{ desc = "Open harpoon window" })
end
}

View File

@@ -1,115 +0,0 @@
return {
'neovim/nvim-lspconfig',
lazy = false,
dependencies = {
{
"mason-org/mason.nvim",
opts = {
modifiable = true
}
},
{
"mason-org/mason-lspconfig.nvim",
opts = {},
},
'hrsh7th/cmp-nvim-lsp',
'hrsh7th/cmp-buffer',
'hrsh7th/cmp-path',
'hrsh7th/cmp-cmdline',
'hrsh7th/nvim-cmp',
'saadparwaiz1/cmp_luasnip',
{ "L3MON4D3/LuaSnip", build = "make install_jsregexp" },
},
config = function()
local cmp_lsp = require("cmp_nvim_lsp")
local cmp = require("cmp")
local cmp_select = { behavior = cmp.SelectBehavior.Select }
cmp.setup({
snippet = {
expand = function(args)
require("luasnip").lsp_expand(args.body)
end,
},
window = {
completion = cmp.config.window.bordered(),
documentation = cmp.config.window.bordered(),
},
mapping = cmp.mapping.preset.insert({
['<C-e>'] = cmp.mapping.abort(),
['<C-p>'] = cmp.mapping.select_prev_item(cmp_select),
['<C-n>'] = cmp.mapping.select_next_item(cmp_select),
['<C-y>'] = cmp.mapping.confirm({ select = true }),
}),
sources = cmp.config.sources({
{ name = 'nvim_lsp' },
{ name = 'luasnip' },
},
{
{ name = 'buffer' },
})
})
local capabilities = vim.tbl_deep_extend(
"force",
{},
vim.lsp.protocol.make_client_capabilities(),
cmp_lsp.default_capabilities()
)
vim.diagnostic.config({
virtual_text = {
prefix = "",
spacing = 2,
source = "if_many",
},
signs = true,
underline = true,
update_in_insert = false
})
require("mason-lspconfig").setup({
ensure_installed = {
"lua_ls",
"clangd",
"rust_analyzer"
},
handlers = {
function(server_name)
require("lspconfig")[server_name].setup({
capabilities = capabilities,
})
end
},
automatic_enable = true,
})
local buffer_autoformat = function(bufnr)
local group = 'lsp_autoformat'
vim.api.nvim_create_augroup(group, { clear = false })
vim.api.nvim_clear_autocmds({ group = group, buffer = bufnr })
vim.api.nvim_create_autocmd('BufWritePre', {
buffer = bufnr,
group = group,
desc = "Lsp format on save",
callback = function()
vim.lsp.buf.format({ async = false, timeout_ms = 10000 })
end
})
end
vim.api.nvim_create_autocmd('LspAttach', {
callback = function(event)
local id = vim.tbl_get(event, 'data', 'client_id')
local client = id and vim.lsp.get_client_by_id(id)
if client == nil then
return
end
if client.supports_method('textDocument/formatting') then
buffer_autoformat(event.buf)
end
end
})
end,
}

View File

@@ -1,5 +0,0 @@
return {
'nvim-telescope/telescope.nvim',
tag = '0.1.8',
dependencies = { 'nvim-lua/plenary.nvim' }
}

View File

@@ -1,18 +0,0 @@
return {
"folke/which-key.nvim",
event = "VeryLazy",
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
},
keys = {
{
"<leader>?",
function()
require("which-key").show({ global = false })
end,
desc = "Buffer Local Keymaps (which-key)",
},
},
}

Binary file not shown.

Binary file not shown.

284
flake.lock generated
View File

@@ -2,14 +2,16 @@
"nodes": { "nodes": {
"catppuccin": { "catppuccin": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "nixpkgs": [
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1771587924, "lastModified": 1780154910,
"narHash": "sha256-eVYOGmF8nQBhudJyU6lHdgJI87kvGz8JyCq5/Vi9Mjk=", "narHash": "sha256-aaGjVFEAJQWB69kok/AthcXpT/9yA5Ag2uYDwdbbj5c=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "b0c65edbf31c2ad3d84438d82c2310f2c28373f3", "rev": "cf8ccac24e24a2a78fe6f36de9c5d5e9860299a4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -26,11 +28,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769996383, "lastModified": 1778716662,
"narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "narHash": "sha256-m1Yf0wZ8j1OHjTc2UwHwyQRSnNeSgLJOd7q5Y45hzi4=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "rev": "f7c1a2d347e4c52d5fb8d10cb4d94b5884e546fb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -39,6 +41,24 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1731533236,
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@@ -46,11 +66,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1771851181, "lastModified": 1780099287,
"narHash": "sha256-gFgE6mGUftwseV3DUENMb0k0EiHd739lZexPo5O/sdQ=", "narHash": "sha256-efIPwVGtIWIjWcznhaop6XN6HxnOL8800hF6CBNvlqQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "9a4b494b1aa1b93d8edf167f46dc8e0c0011280c", "rev": "7d8127d308c3fb9664f7e643eec944be74ebb37d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -59,29 +79,84 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs": { "home-manager_2": {
"inputs": {
"nixpkgs": [
"zen-browser",
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1771369470, "lastModified": 1778805320,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", "narHash": "sha256-nGFJ01m2CTBKD4ABtcY4vLhHrRN91LKr/pn41PcU78A=",
"owner": "NixOS", "owner": "nix-community",
"repo": "nixpkgs", "repo": "home-manager",
"rev": "0182a361324364ae3f436a63005877674cf45efb", "rev": "9846abe15e7d0d36b8acbd4d05f2b87461744c92",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"hyprcursor-phinger": {
"inputs": {
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1763845612,
"narHash": "sha256-78zH5GrYa35bEkzeVnl8uXFbZ/zsiSHayjxZlNt+Xe8=",
"owner": "jappie3",
"repo": "hyprcursor-phinger",
"rev": "1207a845501a28e0e00d4a8e935ee0c9cab30650",
"type": "github"
},
"original": {
"owner": "jappie3",
"repo": "hyprcursor-phinger",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1762977756,
"narHash": "sha256-4PqRErxfe+2toFJFgcRKZ0UI9NSIOJa+7RXVtBhy4KE=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "c5ae371f1a6a7fd27823bc500d9390b38c05fa55",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-stable": {
"locked": {
"lastModified": 1779796641,
"narHash": "sha256-ZsIrKmhp4vbBXoXXmR/tBXA/UCsAQiJL9vsgZEduhVY=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "25f538306313eae3927264466c70d7001dcea1df",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-25.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1771369470, "lastModified": 1779560665,
"narHash": "sha256-0NBlEBKkN3lufyvFegY4TYv5mCNHbi5OmBDrzihbBMQ=", "narHash": "sha256-tpyBcxPpcQb8ukyNF7DoCwfSY3VPsxHoYwj00Cayv5o=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "0182a361324364ae3f436a63005877674cf45efb", "rev": "64c08a7ca051951c8eae34e3e3cb1e202fe36786",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -100,11 +175,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1771135771, "lastModified": 1780161591,
"narHash": "sha256-wyvBIhDuyCRyjB3yPg77qoyxrlgQtBR1rVW3c9knV3E=", "narHash": "sha256-eOiIbCMsYMP9JgZXzuT/m41djqDOEHTKjMFrm5NeVHM=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "ed0424f0b08d303a7348f52f7850ad1b2704f9ba", "rev": "57e5355a843618a717a19d43b2a726a8f27f0bd1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -113,16 +188,87 @@
"type": "github" "type": "github"
} }
}, },
"pyproject-build-systems": {
"inputs": {
"nixpkgs": [
"zut-calendar",
"nixpkgs"
],
"pyproject-nix": [
"zut-calendar",
"pyproject-nix"
],
"uv2nix": [
"zut-calendar",
"uv2nix"
]
},
"locked": {
"lastModified": 1776659114,
"narHash": "sha256-qapCOQmR++yZSY43dzrp3wCrkOTLpod+ONtJWBk6iKU=",
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"rev": "ffaa2161dd5d63e0e94591f86b54fc239660fb2e",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "build-system-pkgs",
"type": "github"
}
},
"pyproject-nix": {
"inputs": {
"nixpkgs": [
"zut-calendar",
"nixpkgs"
]
},
"locked": {
"lastModified": 1776715674,
"narHash": "sha256-Gs1VnEkCkkRZxJQAC/Dhz0Jbfi22mFXChbtNg9w/Ybg=",
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"rev": "69f57f27e52a87c54e28138a75ec741cd46663c9",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "pyproject.nix",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"catppuccin": "catppuccin", "catppuccin": "catppuccin",
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprcursor-phinger": "hyprcursor-phinger",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nixpkgs-stable": "nixpkgs-stable",
"nixvim": "nixvim", "nixvim": "nixvim",
"wallpapers": "wallpapers" "wallpapers": "wallpapers",
"zen-browser": "zen-browser",
"zut-calendar": "zut-calendar",
"zutui": "zutui"
} }
}, },
"systems": { "systems": {
"locked": {
"lastModified": 1774449309,
"narHash": "sha256-brhZ8DmuGtzkCYHJg4HEd602amKm89Y9ytsFZ5uWD1w=",
"owner": "nix-systems",
"repo": "default",
"rev": "c29398b59d2048c4ab79345812849c9bd15e9150",
"type": "github"
},
"original": {
"owner": "nix-systems",
"ref": "future-26.11",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": { "locked": {
"lastModified": 1681028828, "lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
@@ -137,6 +283,31 @@
"type": "github" "type": "github"
} }
}, },
"uv2nix": {
"inputs": {
"nixpkgs": [
"zut-calendar",
"nixpkgs"
],
"pyproject-nix": [
"zut-calendar",
"pyproject-nix"
]
},
"locked": {
"lastModified": 1777895960,
"narHash": "sha256-KebDsQd+A7pm++Tp0744EjULttHvz1wbKqNKkMA/088=",
"owner": "pyproject-nix",
"repo": "uv2nix",
"rev": "5ad90d48b80ecc920ca2247d53f46beba302e186",
"type": "github"
},
"original": {
"owner": "pyproject-nix",
"repo": "uv2nix",
"type": "github"
}
},
"wallpapers": { "wallpapers": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -152,6 +323,71 @@
"repo": "walls-catppuccin-mocha", "repo": "walls-catppuccin-mocha",
"type": "github" "type": "github"
} }
},
"zen-browser": {
"inputs": {
"home-manager": "home-manager_2",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1780123543,
"narHash": "sha256-vRHmt1N3rPgLJFcSQfHb2c3F7edzVPcyAk6/2QYmO1s=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "7e1dae7aa169ad02f18ca11da247008181b2dc7f",
"type": "github"
},
"original": {
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"type": "github"
}
},
"zut-calendar": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"pyproject-build-systems": "pyproject-build-systems",
"pyproject-nix": "pyproject-nix",
"uv2nix": "uv2nix"
},
"locked": {
"lastModified": 1778101628,
"narHash": "sha256-6/x1NOD8QyI+up09LsQdyX7EEd0w7Qr5o9JeQ3AqLHk=",
"owner": "szymon-jozef",
"repo": "zut-calendar",
"rev": "b69ae15381ca37f763c1ef072c67d953017c8bd4",
"type": "github"
},
"original": {
"owner": "szymon-jozef",
"repo": "zut-calendar",
"type": "github"
}
},
"zutui": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1774282006,
"narHash": "sha256-tF+/CbZhOvIl4F/WJtT2V376WjGIXSFXRSDMGI11KJk=",
"owner": "shv187",
"repo": "zutui",
"rev": "fcce7c254c74638efa667df7a4f603d01362a835",
"type": "github"
},
"original": {
"owner": "shv187",
"repo": "zutui",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

163
flake.nix
View File

@@ -1,85 +1,166 @@
{ {
description = "Home manager config"; description = "Amazing dotfiles";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-25.11";
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
catppuccin.url = "github:catppuccin/nix"; # hyprland.url = "github:hyprwm/Hyprland";
wallpapers = {
url = "github:orangci/walls-catppuccin-mocha";
flake = false;
};
nixvim = { nixvim = {
url = "github:nix-community/nixvim"; url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
zen-browser = {
url = "github:0xc000022070/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
# theming stuff
catppuccin = {
url = "github:catppuccin/nix";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprcursor-phinger.url = "github:jappie3/hyprcursor-phinger";
wallpapers = {
url = "github:orangci/walls-catppuccin-mocha";
flake = false;
};
# uni stuff
zut-calendar = {
url = "github:szymon-jozef/zut-calendar";
inputs.nixpkgs.follows = "nixpkgs";
};
zutui = {
url = "github:shv187/zutui";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = outputs =
{ {
nixpkgs, nixpkgs,
nixpkgs-stable,
home-manager, home-manager,
catppuccin, catppuccin,
nixvim, nixvim,
wallpapers, wallpapers,
zut-calendar,
zutui,
... ...
}@inputs: }@inputs:
let let
userConfig = { defaultUserConfig = {
username = "szymon"; username = "szymon";
# for git
email = "szymon_jozef@proton.me"; email = "szymon_jozef@proton.me";
fullName = "Szymon P"; fullName = "Szymon P";
# your public ssh key signingKey = "~/.ssh/github.pub";
signingKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKxyiqawA95AlLjXGd99sQCVR2rDq2/D7PG/vz7sZv5G";
mainMonitor = "DP-1"; # only for some applications: you still need to set hyprland monitors yourself! mainMonitor = "DP-1";
statusBar = "ashell"; # available: ashell|waybar statusBar = "ashell"; # available: ashell | waybar
pathConfig = { pathConfig = {
wallpaper = "Obrazy/tapety/catppuccin"; wallpaper = "Obrazy/tapety/catppuccin"; # relative to $HOME/
screenshot = "Obrazy/zrzuty/"; # relative to $HOME/
obsidian = "Dokumenty/obsidian"; # relative to $HOME/
projects = "~/Kodowanie";
documents = "~/Dokumenty";
pictures = "~/Obrazy";
downloads = "~/Pobrane";
video = "~/Video";
}; };
isNixOS = true;
hostName = "default";
animations = true;
gaming = true;
}; };
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
pkgs-stable = import nixpkgs-stable {
inherit system;
config = {
allowUnfree = true;
permittedInsecurePackages = [
"electron-38.8.4"
];
};
};
mkHome =
customConfig:
let
userConfig = defaultUserConfig // customConfig;
in
home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit inputs userConfig pkgs-stable;
};
modules = [
./home.nix
catppuccin.homeModules.catppuccin
nixvim.homeModules.nixvim
inputs.hyprcursor-phinger.homeManagerModules.hyprcursor-phinger
(
{ pkgs, ... }:
{
home.packages = [
zut-calendar.packages.${pkgs.stdenv.hostPlatform.system}.default
zutui.packages.${pkgs.stdenv.hostPlatform.system}.default
];
}
)
]
++ (customConfig.extraModules or [ ]);
};
in in
{ {
homeConfigurations = { homeConfigurations = {
"arch" = home-manager.lib.homeManagerConfiguration { # You can overwrite default configuration here
pkgs = import nixpkgs { system = "x86_64-linux"; };
extraSpecialArgs = {
inherit
inputs
userConfig
;
isNixOS = false;
};
modules = [
./home.nix
catppuccin.homeModules.catppuccin
nixvim.homeModules.nixvim
];
"arch" = mkHome {
isNixOS = false;
hostName = "arch";
}; };
"nixos" = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs { system = "x86_64-linux"; }; "nixos" = mkHome {
extraSpecialArgs = { isNixOS = true;
inherit hostName = "nixos";
inputs };
userConfig
; "${defaultUserConfig.username}@pitagoras" = mkHome {
isNixOS = true; hostName = "pitagoras";
}; mainMonitor = "eDP-1";
modules = [ animations = false;
./home.nix };
catppuccin.homeModules.catppuccin
nixvim.homeModules.nixvim "${defaultUserConfig.username}@pilecki" = mkHome {
]; hostName = "pilecki";
mainMonitor = "LVDS-1";
};
"${defaultUserConfig.username}@paderewski" = mkHome {
hostName = "paderewski";
}; };
}; };
}; };

1
hash.txt Normal file
View File

@@ -0,0 +1 @@
got: sha256-IGkP0z8gJj1dbNclpMebZXZvaRby1F8zGNEDPtitfqo=

View File

@@ -21,7 +21,7 @@
catppuccin = { catppuccin = {
enable = true; enable = true;
flavor = "mocha"; flavor = "mocha";
accent = "mauve"; accent = "sapphire";
}; };
imports = [ imports = [
@@ -42,12 +42,14 @@
./modules/cli/git.nix ./modules/cli/git.nix
./modules/cli/fastfetch.nix ./modules/cli/fastfetch.nix
./modules/cli/kdeconnect.nix ./modules/cli/kdeconnect.nix
./modules/cli/topgrade.nix
# gui tools # gui tools
./modules/gui/kitty.nix ./modules/gui/kitty.nix
./modules/gui/satty.nix ./modules/gui/satty.nix
./modules/gui/mako.nix ./modules/gui/mako.nix
./modules/gui/mangohud.nix ./modules/gui/mangohud.nix
./modules/gui/browsers.nix ./modules/gui/browsers.nix
./modules/gui/obsidian.nix
# status bars # status bars
./modules/bars/ashell.nix ./modules/bars/ashell.nix
./modules/bars/waybar.nix ./modules/bars/waybar.nix
@@ -63,14 +65,28 @@
# === SCRIPTS IMPORT === # === SCRIPTS IMPORT ===
home.file = { home.file = {
".local/bin".source = ./scripts; ".local/bin".source = ./scripts;
".config/gtk-3.0/colors.css".source = ./dotfiles/gtk-3.0/colors.css;
".config/gtk-3.0/gtk.css".source = ./dotfiles/gtk-3.0/gtk.css;
${userConfig.pathConfig.wallpaper}.source = inputs.wallpapers; ${userConfig.pathConfig.wallpaper}.source = inputs.wallpapers;
}; };
programs.hyprcursor-phinger.enable = true;
# === VARS === # === VARS ===
home.sessionVariables = { home = {
EDITOR = "nvim"; sessionVariables = {
VISUAL = "nvim"; EDITOR = "nvim";
VISUAL = "nvim";
XDG_DATA_DIRS = "$HOME/.nix-profile/share/applications:$XDG_DATA_DIRS";
};
pointerCursor = {
name = "phinger-cursors-light";
package = pkgs.phinger-cursors;
size = 24;
gtk.enable = true;
x11.enable = true;
};
}; };
programs.home-manager.enable = true; programs.home-manager.enable = true;

0
install_nix_and_home_manager_on_arch.sh Normal file → Executable file
View File

View File

@@ -1,6 +1,5 @@
{ {
lib, lib,
isNixOS,
userConfig, userConfig,
pkgs, pkgs,
... ...
@@ -9,7 +8,7 @@
{ {
programs.ashell = { programs.ashell = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
settings = { settings = {
outputs = { outputs = {
Targets = [ userConfig.mainMonitor ]; Targets = [ userConfig.mainMonitor ];
@@ -18,7 +17,7 @@
modules = { modules = {
left = [ left = [
"Clock" "Tempo"
"Workspaces" "Workspaces"
]; ];
center = [ "WindowTitle" ]; center = [ "WindowTitle" ];
@@ -67,8 +66,13 @@
} }
]; ];
clock = { tempo = {
format = "%H:%M | %e.%m "; clock_format = "%H:%M | %e.%m ";
};
media_player = {
max_title_length = 50;
indicator_format = "Icon";
}; };
settings = { settings = {
@@ -77,7 +81,7 @@
appearance = { appearance = {
scale_factor = 1.2; scale_factor = 1.2;
style = "Gradient"; style = "Islands";
success_color = "#a6e3a1"; success_color = "#a6e3a1";
text_color = "#cdd6f4"; text_color = "#cdd6f4";
workspace_colors = [ workspace_colors = [

View File

@@ -1,6 +1,5 @@
{ {
pkgs, pkgs,
isNixOS,
userConfig, userConfig,
... ...
}: }:
@@ -9,7 +8,7 @@
programs.waybar = { programs.waybar = {
enable = true; enable = true;
package = package =
if isNixOS then pkgs.waybar else (pkgs.writeShellScriptBin "waybar" "exec /usr/bin/waybar \"$@\""); if userConfig.isNixOS then pkgs.waybar else (pkgs.writeShellScriptBin "waybar" "exec /usr/bin/waybar \"$@\"");
settings = { settings = {
mainBar = { mainBar = {
layer = "top"; layer = "top";

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { ... }:
{ {
programs.bat = { programs.bat = {

View File

@@ -1,4 +1,4 @@
{ config, pkgs, ... }: { ... }:
{ {
programs.fastfetch = { programs.fastfetch = {
@@ -36,7 +36,7 @@
xdg.configFile."fastfetch/startup.jsonc".text = builtins.toJSON { xdg.configFile."fastfetch/startup.jsonc".text = builtins.toJSON {
logo = { logo = {
source = "arch_small"; source = "nixos_small";
padding = { padding = {
bottom = 1; bottom = 1;
}; };

View File

@@ -1,4 +1,4 @@
{ isNixOS, ... }: { userConfig, ... }:
{ {
programs.fish = { programs.fish = {
@@ -17,6 +17,8 @@
fish_vi_key_bindings fish_vi_key_bindings
direnv hook fish | source
fastfetch --config ~/.config/fastfetch/startup.jsonc fastfetch --config ~/.config/fastfetch/startup.jsonc
''; '';
@@ -45,9 +47,7 @@
set -l rel_file (realpath --relative-to=$config_dir $file) set -l rel_file (realpath --relative-to=$config_dir $file)
if home-manager switch --flake "$config_dir#${ if nh home switch $config_dir
if isNixOS then "nixos" else "arch"
}" -b backup
git add -A git add -A
set commit_msg "update: $rel_file" set commit_msg "update: $rel_file"
git commit -m "$commit_msg" git commit -m "$commit_msg"
@@ -61,14 +61,14 @@
''; '';
}; };
ls = { reload_dotfiles = {
body = # fish body = # fish
"eza --long --icons --group-directories-first --git $argv"; "nh home switch ~/.config/home-manager";
}; };
lst = { reload_system = {
body = # fish body = # fish
"eza --long --icons --color --git --tree $argv"; "nh os switch /etc/nixos/";
}; };
cp_mail = { cp_mail = {
@@ -76,49 +76,155 @@
"pandoc $argv -t html |wl-copy -t text/html"; "pandoc $argv -t html |wl-copy -t text/html";
}; };
update = { update_files = {
body = # fish body =
# fish
'' ''
echo "===System update===" echo "=== System packages updates ==="
pushd /etc/nixos
if not type -q yay git add -A
echo "Yay not found Is this Arch? If yes, then please consider installing it!" git commit -m 'chore: state before pulling'
else
yay if git pull
reload_system
end end
if type -q pacman popd
echo "===Remove orphans==="
set orphans (pacman -Qtdq) echo "=== User packages update ==="
if test (count $orphans) -gt 0 pushd $HOME/.config/home-manager
sudo pacman -Rns $orphans
git add -A
git commit -m 'chore: state before pulling'
if git pull
reload_dotfiles
end
popd
'';
};
update = {
body =
if userConfig.isNixOS then
# fish
''
echo "=== System packages update ==="
pushd /etc/nixos
if git pull
git add -A
git commit --allow-empty -m "chore: state before system update"
nix flake update
if test $status -eq 0
git add ./flake.lock
git commit --allow-empty -m "chore: update system flake.lock"
reload_system
git push
else
echo "Error while updating system flake!"
end end
end else
echo "Error: 'git pull' failed in /etc/nixos. Skipping system update."
end
if type -q flatpak popd
echo "===Flatpak update==="
echo "=== User packages update ==="
pushd $HOME/.config/home-manager
if git pull
git add -A
git commit --allow-empty -m "chore: state before home-manager update"
nix flake update
if test $status -eq 0
git add ./flake.lock
git commit --allow-empty -m "chore: update home flake.lock"
git push
reload_dotfiles
else
echo "Error while updating home flake!"
end
else
echo "Error: 'git pull' failed in home-manager. Skipping user update."
end
popd
if type -q flatpak
echo "=== Flatpak update ==="
flatpak update --noninteractive flatpak update --noninteractive
echo "===Flatpak remove unused==="
flatpak uninstall --unused echo "=== Flatpak remove unused ==="
end flatpak uninstall --unused --noninteractive
end
''
else
# fish
''
echo "===System update==="
if type -q nix-channel if not type -q yay
echo "===Nix update===" echo "Yay not found Please consider installing it!"
nix-channel --update else
echo "===Nix garbage collection===" yay
home-manager expire-generations "-7 days" end
end
if type -q pacman
echo "===Remove orphans==="
set orphans (pacman -Qtdq)
if test (count $orphans) -gt 0
sudo pacman -Rns $orphans
end
end
if type -q flatpak
echo "===Flatpak update==="
flatpak update --noninteractive
echo "===Flatpak remove unused==="
flatpak uninstall --unused
end
if type -q nix-channel
echo "===Nix update==="
nix-channel --update
echo "===Nix garbage collection==="
home-manager expire-generations "-7 days"
end
'';
};
blog_build_and_push = {
body =
# fish
''
set USER szymon
set HOST dmowski
set DIR /srv/blog/
set blog_dir ~/Dokumenty/blog
pushd $blog_dir || exit 1
hugo build && rsync -avz --delete public/ $USER@$HOST:$DIR
popd
exit 0
''; '';
}; };
};
rm = { shellAliases = {
body = "trash $argv"; ls = "eza --long --icons --group-directories-first --git";
}; lst = "eza --long --icons --color --git --tree";
rm = "trash";
open = { # update = "topgrade";
body = "nohup xdg-open $argv > /dev/null & ";
};
}; };
}; };
} }

View File

@@ -41,6 +41,7 @@
"node_modules" "node_modules"
"result" "result"
"__pycache__" "__pycache__"
".direnv"
]; ];
}; };

View File

@@ -1,4 +1,4 @@
{ ... }: { pkgs, userConfig, ... }:
{ {
programs.nixvim = { programs.nixvim = {
@@ -100,6 +100,39 @@
action.__raw = "function() require('harpoon'):list():next() end"; action.__raw = "function() require('harpoon'):list():next() end";
options.desc = "Toggle next harpoon buffer"; options.desc = "Toggle next harpoon buffer";
} }
{
key = "j";
action = "jzz";
}
{
key = "k";
action = "kzz";
}
{
key = "[[";
action = "[[zz";
}
{
key = "]]";
action = "]]zz";
}
{
key = "{{";
action = "{{zz";
}
{
key = "}}";
action = "}}zz";
}
{
mode = "n";
key = "<leader>cr";
action = ":w<CR>:TermExec cmd='mkdir -p ./out && g++ \"%\" -o \"./out/%:r\" && ./out/\"%:r\"'<CR>";
options = {
desc = "Compile and run current cpp file";
silent = true;
};
}
]; ];
autoGroups = { autoGroups = {
@@ -169,21 +202,48 @@
friendly-snippets.enable = true; friendly-snippets.enable = true;
# dev # dev
clangd.enable = true; clangd.enable = true;
pyright.enable = true; pylsp = {
enable = true;
settings = {
plugins = {
ruff = {
enabled = true;
format = [ "I" ];
};
pylsp_mypy.enabled = true;
jedi_completion.enabled = true;
jedi_definition.enabled = true;
};
};
};
rust_analyzer = { rust_analyzer = {
enable = true; enable = true;
installCargo = true; installCargo = true;
installRustc = true; installRustc = true;
}; };
# nix # nix
nil_ls.enable = true; nixd = {
enable = true;
filetypes = [ "nix" ];
formatting = {
command = [ "nixfmt" ];
};
nixpkgs.expr = ''
import (builtins.getFlake "/etc/nixos/").inputs.nixpkgs { }
'';
home-manager.expr = ''
(builtins.getFlake "/home/${userConfig.username}/.home-manager").homeConfigurations."${userConfig.username}@${userConfig.hostName}".options
'';
};
# other
marksman.enable = true;
}; };
keymaps = { keymaps = {
lspBuf = { lspBuf = {
"gd" = "definition";
"gi" = "implementation";
"<leader>ca" = "code_action"; "<leader>ca" = "code_action";
"<leader>cf" = "format";
"<leader>r" = "rename"; "<leader>r" = "rename";
}; };
}; };
@@ -201,11 +261,18 @@
}; };
}; };
indent-blankline = { cursorline = {
enable = true; enable = true;
settings.scope.enabled = true; timeout = 0;
}; };
mini-indentscope = {
enable = true;
settings.draw.delay = 0;
};
toggleterm.enable = true;
cmp = { cmp = {
enable = true; enable = true;
settings = { settings = {

View File

@@ -2,7 +2,6 @@
{ {
services.ssh-agent.enable = true; services.ssh-agent.enable = true;
services.ssh-agent.enableFishIntegration = true;
programs.ssh = { programs.ssh = {
enableDefaultConfig = false; enableDefaultConfig = false;

53
modules/cli/topgrade.nix Normal file
View File

@@ -0,0 +1,53 @@
{ ... }:
let
system_path = "/etc/nixos";
home_path = "~/.config/home-manager/";
in
{
programs.topgrade = {
enable = true;
settings = {
misc = {
assume_yes = true;
pre_sudo = true;
disable = [
"flutter"
"node"
"hyprpm"
];
cleanup = false;
notify_end = "never";
nix_handle = "nh";
};
git = {
repos = [ "$XDG_PROJECTS_DIR/*" ];
};
pre_commands = {
"Git commit before system flake update" =
"cd ${system_path} && git add -A && git commit --allow-empty -m 'chore: state before system update'";
"Git commit before home flake update" =
"cd ${home_path} && git add -A && git commit --allow-empty -m 'chore: state before home update'";
"Git pull before system flake update " = "cd ${system_path} && git pull";
"Git pull before home flake update " = "cd ${home_path} && git pull";
};
commands = {
"Update system flake" = "cd ${system_path} && nix flake update";
"Update home flake" = "cd ${home_path} && nix flake update";
};
post_commands = {
"Git commit after system flake update" =
"cd ${system_path} && git add -A && git commit --allow-empty -m 'chore: state after system update'";
"Git commit after home flake update" =
"cd ${home_path} && git add -A && git commit --allow-empty -m 'chore: state after home update'";
"Git push system configuration" = "cd ${system_path} && git push";
"Git push home configuration" = "cd ${home_path} && git push";
};
};
};
}

View File

@@ -1,4 +1,4 @@
{ ... }: { userConfig, ... }:
{ {
programs.yazi = { programs.yazi = {
@@ -37,6 +37,41 @@
"yank" "yank"
]; ];
} }
{
on = [
"g"
"p"
];
run = "cd ${userConfig.pathConfig.downloads}";
}
{
on = [
"g"
"d"
];
run = "cd ${userConfig.pathConfig.documents}";
}
{
on = [
"g"
"v"
];
run = "cd ${userConfig.pathConfig.video}";
}
{
on = [
"g"
"o"
];
run = "cd ${userConfig.pathConfig.pictures}";
}
{
on = [
"g"
"k"
];
run = "cd ${userConfig.pathConfig.projects}";
}
]; ];
}; };
} }

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { ... }:
{ {
programs.zoxide = { programs.zoxide = {

View File

@@ -1,31 +1,44 @@
{ ... }: { ... }:
{ let
xdg.desktopEntries = { mkWebApp =
x = { {
name = "X"; name,
genericName = "Social Media Client"; url,
comment = "Open X (twitter)"; icon,
exec = "uwsm app -- chromium --app=https://x.com"; wmClass,
icon = "twitter"; }:
{
inherit name icon;
genericName = "Web app";
comment = "Open ${name}";
exec = "uwsm app -- brave --app=https://${url}";
terminal = false; terminal = false;
categories = [ categories = [
"Network" "Network"
"WebBrowser" "WebBrowser"
"X-Social" "X-Social"
]; ];
settings = {
StartupWMClass = wmClass;
};
};
in
{
xdg.desktopEntries = {
x = mkWebApp {
name = "X";
url = "x.com";
icon = "twitter";
wmClass = "brave-x.com__-Default";
}; };
proton-mail = { proton-mail = mkWebApp {
name = "Proton mail"; name = "Proton-mail";
genericName = "Proton mail"; url = "mail.proton.me/u/0/inbox.com";
comment = "Open Proton Mail"; icon = "proton-mail";
exec = "uwsm app -- chromium --app=https://mail.proton.me/u/0/inbox.com"; wmClass = "brave-mail.proton.me__u_0_inbox.com-Default";
terminal = false;
categories = [ "Email" ];
settings = {
StartupWMClass = "proton-mail.com";
};
}; };
}; };
} }

View File

@@ -1,7 +1,12 @@
{ ... }: { ... }:
{ {
gtk.enable = true; gtk = {
enable = true;
colorScheme = "dark";
gtk4.theme = null;
};
dconf = { dconf = {
enable = true; enable = true;
settings = { settings = {

View File

@@ -1,8 +1,20 @@
{ isNixOS, lib, ... }: {
userConfig,
pkgs,
lib,
inputs,
...
}:
{ {
programs.chromium = { programs.chromium = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
}; };
home.packages = with pkgs; [
inputs.zen-browser.packages."${pkgs.stdenv.hostPlatform.system}".default
tutanota-desktop
brave
];
} }

View File

@@ -1,18 +1,18 @@
{ lib, isNixOS, ... }: { lib, userConfig, ... }:
{ {
programs.kitty = { programs.kitty = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
settings = { settings = {
confirm_os_window_close = 0; confirm_os_window_close = 0;
dynamic_background_opacity = true; dynamic_background_opacity = true;
enable_audio_bell = false; enable_audio_bell = false;
mouse_hide_wait = "-1.0"; mouse_hide_wait = "-1.0";
window_padding_width = 10; window_padding_width = 10;
background_opacity = "0.5"; background_opacity = "0.95";
font_size = 14; font_size = 12;
background_blur = 5; background_blur = 15;
symbol_map = symbol_map =
let let
mappings = [ mappings = [

View File

@@ -1,4 +1,4 @@
{ ... }: { userConfig, pkgs, ... }:
{ {
services.mako = { services.mako = {
@@ -20,7 +20,11 @@
border-color = "#89b4fa"; border-color = "#89b4fa";
progress-color = "over #313244"; progress-color = "over #313244";
output = "DP-1"; output = "DP-1";
on-notify = "exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga"; on-notify =
if userConfig.isNixOS then
"exec ${pkgs.pulseaudio}/bin/paplay ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/dialog-information.oga"
else
"exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga";
}; };
extraConfig = '' extraConfig = ''
@@ -31,7 +35,12 @@
border-color=#FF6347 border-color=#FF6347
[urgency=critical] [urgency=critical]
on-notify=exec paplay /usr/share/sounds/freedesktop/stereo/window-attention.oga on-notify=${
if userConfig.isNixOS then
"exec ${pkgs.pulseaudio}/bin/paplay ${pkgs.sound-theme-freedesktop}/share/sounds/freedesktop/stereo/dialog-information.oga"
else
"exec paplay /usr/share/sounds/freedesktop/stereo/dialog-information.oga"
}
border-color=#FF0000 border-color=#FF0000
[mode=do-not-disturb] [mode=do-not-disturb]

View File

@@ -1,7 +1,6 @@
{ {
config,
pkgs, pkgs,
isNixOS, userConfig,
... ...
}: }:
@@ -10,7 +9,8 @@
programs.mangohud = { programs.mangohud = {
enable = true; enable = true;
package = if isNixOS then pkgs.mangohud else (pkgs.runCommand "dummy-mangohud" { } "mkdir $out"); package =
if userConfig.isNixOS then pkgs.mangohud else (pkgs.runCommand "dummy-mangohud" { } "mkdir $out");
}; };
xdg.configFile."MangoHud/MangoHud.conf".text = '' xdg.configFile."MangoHud/MangoHud.conf".text = ''

View File

@@ -0,0 +1,21 @@
{
stdenv,
fetchFromGitHub,
}:
stdenv.mkDerivation {
pname = "obsidian-catppuccin";
version = "main";
src = fetchFromGitHub {
owner = "catppuccin";
repo = "obsidian";
rev = "main";
hash = "sha256-uB0a2nSZkHHf65xBYXyNh50vaAiqdEpKQVf3eXnCVlE=";
};
installPhase = ''
mkdir -p $out
cp theme.css manifest.json $out/
'';
}

64
modules/gui/obsidian.nix Normal file
View File

@@ -0,0 +1,64 @@
{
lib,
pkgs,
userConfig,
...
}:
{
programs.obsidian = {
enable = true;
package = lib.mkIf (!userConfig.isNixOS) null;
defaultSettings = {
app = {
vimMode = true;
alwaysUpdateLinks = true;
attachmentFolderPath = "media";
newLinkFormat = "relative";
newFileLocation = "current";
useMarkdownLinks = true;
showUnsupportedFiles = true;
pdfExportSettings = {
pageSize = "A4";
landscape = false;
margin = "0";
downscalePercent = 100;
};
};
themes = [
(pkgs.callPackage ./obsidian-catppuccin.nix { })
];
corePlugins = [
"file-explorer"
"global-search"
"switcher"
"graph"
"backlink"
"canvas"
"outgoing-link"
"tag-pane"
"page-preview"
"note-composer"
"command-palette"
"editor-status"
"bookmarks"
"outline"
"word-count"
"bases"
];
};
vaults = {
"Notatki-szkolne" = {
target = "${userConfig.pathConfig.obsidian}/notatki-szkolne";
};
"Studia" = {
target = "${userConfig.pathConfig.obsidian}/ZUT-notatki";
};
};
};
}

View File

@@ -1,6 +1,5 @@
{ {
lib, lib,
isNixOS,
userConfig, userConfig,
... ...
}: }:
@@ -8,7 +7,7 @@
{ {
programs.satty = { programs.satty = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
settings = { settings = {
general = { general = {
fullscreen = true; fullscreen = true;

View File

@@ -1,9 +1,9 @@
{ isNixOS, lib, ... }: { userConfig, lib, ... }:
{ {
services.hypridle = { services.hypridle = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
settings = { settings = {
general = { general = {

View File

@@ -1,434 +1,13 @@
{ ... }:
{ {
isNixOS, imports = [
lib, ./hyprland/general.nix
userConfig, ./hyprland/looks.nix
... ./hyprland/layouts.nix
}: ./hyprland/hardware.nix
./hyprland/apps.nix
{ ./hyprland/workspaces.nix
wayland.windowManager.hyprland = { ./hyprland/env.nix
enable = true; ./hyprland/autostart.nix
package = lib.mkIf (!isNixOS) null; ];
settings = {
"$mainMod" = "SUPER";
"$terminal" = "uwsm app -- kitty";
"$menu" = "hyprlauncher";
"$music_player" = "flatpak run com.spotify.Client";
"$notes" = "obsidian";
"$browser" = "zen-browser";
"$openrgb_color" = "09ce30";
env = [
"XCURSOR_SIZE, 32"
"HYPRCURSOR_SIZE, 32"
"HYPRCURSOR_THEME, theme_phinger-cursors-light"
"XDG_CURRENT_DESKTOP,Hyprland"
];
general = {
gaps_in = 4;
gaps_out = 6;
border_size = 4;
"col.active_border" = "$blue $sky";
"col.inactive_border" = "$overlay1";
resize_on_border = false;
allow_tearing = false;
layout = "dwindle";
};
animations = {
enabled = true;
bezier = [
"easeOutQuint,0.23,1,0.32,1"
"easeInOutCubic,0.65,0.05,0.36,1"
"linear,0,0,1,1"
"almostLinear,0.5,0.5,0.75,1.0"
"quick,0.15,0,0.1,1"
];
animation = [
"global, 1, 7, default"
"border, 1, 3.39, easeOutQuint"
"windows, 1, 2.79, easeOutQuint"
"windowsIn, 1, 2.1, easeOutQuint, popin 87%"
"windowsOut, 1, 1, linear, popin 87%"
"fadeIn, 1, 1.4, almostLinear"
"fadeOut, 1, 1.2, almostLinear"
"fade, 1, 3.03, quick"
"layers, 1, 2, easeOutQuint"
"layersIn, 1, 2, easeOutQuint, fade"
"layersOut, 1, 1, linear, fade"
"fadeLayersIn, 1, 1.4, almostLinear"
"fadeLayersOut, 1, 1.1, almostLinear"
"workspaces, 1, 1.4, quick, slidevert"
"workspacesIn, 1, 0.5, quick, slidevert"
"workspacesOut, 1, 0.5, quick, slidevert"
];
};
decoration = {
rounding = 1;
rounding_power = 2;
active_opacity = 1.0;
inactive_opacity = 1.0;
shadow = {
enabled = true;
range = 1;
render_power = 1;
color = "$overlay0";
};
blur = {
enabled = true;
size = 1;
passes = 1;
vibrancy = 0.1696;
};
};
dwindle = {
pseudotile = true;
preserve_split = true;
};
master = {
new_status = "slave";
allow_small_split = true;
orientation = "left";
};
ecosystem = {
enforce_permissions = true;
};
permission = [
".*(grim), screencopy, allow"
".*(hyprlock), screencopy, allow"
".*(xdg-desktop-portal-hyprland), screencopy, allow"
];
input = {
kb_layout = "pl";
kb_variant = "";
kb_model = "";
kb_options = "caps:escape_shifted_capslock";
kb_rules = "";
follow_mouse = 1;
left_handed = true;
sensitivity = 0;
touchpad = {
natural_scroll = true;
};
};
cursor = {
no_hardware_cursors = true;
inactive_timeout = 5;
warp_on_change_workspace = 1;
zoom_factor = 1.0;
hide_on_key_press = 1;
};
misc = {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
middle_click_paste = false;
};
xwayland = {
force_zero_scaling = 1;
};
quirks = {
prefer_hdr = 1;
};
"exec-once" = [
"wl-paste --type text --watch cliphist store"
"wl-paste --type image --watch cliphist store"
"uwsm app -- ${userConfig.statusBar}"
"swww-daemon"
"openrgb -c $openrgb_color"
];
workspace = [
"1, monitor:DP-2"
"2, monitor:DP-1"
"3, monitor:DP-1"
"4, monitor:DP-1"
"5, monitor:DP-1"
"6, monitor:DP-1"
"7, monitor:HDMI-A-2"
"9, monitor:DP-2"
"10, monitor:DP-2"
"w[tv1], gapsout:0, gapsin:0"
"f[1], gapsout:0, gapsin:0"
];
windowrule = [
# smart gaps
"border_size 0, match:float 0, match:workspace w[tv1]"
"rounding 0, match:float 0, match:workspace w[tv1]"
"border_size 0, match:float 0, match:workspace f[1]"
"rounding 0, match:float 0, match:workspace f[1]"
# general rules
"match:class ^(signal)$, workspace 1"
"match:class ^(vesktop)$, workspace 1 silent"
"match:class ^(chrome-facebook.com__-Default)$, workspace 1"
"match:class ^(zen)$, workspace 2"
"match:class ^(com.github.IsmaelMartinez.teams_for_linux)$, workspace 2"
"match:class ^(FreeTube)$, workspace 2"
"match:class ^(chrome-x.com__-Default)$, workspace 2"
"match:class ^(chrome-www.inoreader.com__all_articles-Default)$, workspace 2"
"match:class ^(chrome-mail.proton.me__u_0_inbox.com-Default)$, workspace 2"
"match:class ^(chrome-app.tuta.com__-Default)$, workspace 2"
"match:class ^(steam)$, workspace 3 silent"
"match:class ^(heroic)$, workspace 3"
"match:class ^(net.lutris.Lutris)$, workspace 3"
"match:class ^(rpcs3)$, workspace 3"
"match:class ^(winboat)$, workspace 5"
"match:class ^(obsidian)$, workspace 6"
"match:class ^(gimp)$, workspace 8"
"match:class .*potify, workspace 9 silent"
"match:class ^(com.obsproject.Studio)$, workspace 10"
];
bind =
# hyprlang
[
# background
"$mainMod, V, exec, cliphist list | hyprlauncher -m | cliphist decode | wl-copy"
"$mainMod ALT_L, V, exec, cliphist wipe && notify-send \"Clipboard\" \"Clipboard cleared!\""
# power management
"$mainMod L_SHIFT ctrl, l, exec, hyprlock"
"$mainMod L_SHIFT ctrl, r, exec, openrgb -c black && systemctl reboot"
"$mainMod L_SHIFT ctrl, p, exec, openrgb -c black && systemctl poweroff"
"$mainMod L_SHIFT ctrl, s, exec, openrgb -c black && pidof hyprlock || sleep 1 && systemctl sleep"
"$mainMod L_SHIFT ctrl, m, exec, uwsm stop"
# zoom
"$mainMod alt, 0, exec, hyprctl -q keyword cursor:zoom_factor 1"
# focus management
"$mainMod, h, movefocus, l"
"$mainMod, l, movefocus, r"
"$mainMod, k, movefocus, u"
"$mainMod, j, movefocus, d"
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
"$mainMod L_SHIFT, right, exec, hyprctl dispatch movecurrentworkspacetomonitor +1"
"$mainMod L_SHIFT, left, exec, hyprctl dispatch movecurrentworkspacetomonitor -1"
# workspace management
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, 5, workspace, 5"
"$mainMod, 6, workspace, 6"
"$mainMod, 7, workspace, 7"
"$mainMod, 8, workspace, 8"
"$mainMod, 9, workspace, 9"
"$mainMod, 0, workspace, 10"
# window management
"$mainMod SHIFT, 1, movetoworkspace, 1"
"$mainMod SHIFT, 2, movetoworkspace, 2"
"$mainMod SHIFT, 3, movetoworkspace, 3"
"$mainMod SHIFT, 4, movetoworkspace, 4"
"$mainMod SHIFT, 5, movetoworkspace, 5"
"$mainMod SHIFT, 6, movetoworkspace, 6"
"$mainMod SHIFT, 7, movetoworkspace, 7"
"$mainMod SHIFT, 8, movetoworkspace, 8"
"$mainMod SHIFT, 9, movetoworkspace, 9"
"$mainMod SHIFT, 0, movetoworkspace, 10"
# special workspace
"$mainMod, TAB, togglespecialworkspace, magic"
"$mainMod SHIFT, TAB, movetoworkspace, special:magic"
# layout
"$mainMod, S, layoutmsg, swapwithmaster"
"$mainMod, n, layoutmsg, swapnext"
"$mainMod, p, layoutmsg, swapprev"
# apps
"$mainMod, M, exec, [float] waypaper"
"$mainMod, RETURN, exec, [workspace 4] $terminal"
"$mainMod CONTROL_L, RETURN, exec, $terminal"
"$mainMod, space , exec, $menu"
"$mainMod ALT_L, c, exec, openrgb -c $openrgb_color"
"$mainMod Control_L, s, exec,[workspace 1] signal-desktop --password-store=\"kwallet6\""
"$mainMod Control_L, s, focuswindow, class:^(signal)$"
"$mainMod Control_L, s, focuswindow, title:^(signal)$"
"$mainMod Control_L, v, sendshortcut, ctrl, k, class:^(vesktop)$"
"$mainMod Control_L, v, exec, uwsm app -- vesktop"
"$mainMod Control_L, v, focuswindow, class:^(vesktop)$"
"$mainMod Control_L, g, exec, uwsm app -- steam"
"$mainMod Control_L, g, focuswindow, class:^(steam)$"
"$mainMod Control_L, b, exec, uwsm app -- $browser"
"$mainMod Control_L, b, focuswindow, class:^(zen)$"
"$mainMod Control_L, n, exec, [workspace 6] uwsm app -- $notes"
"$mainMod Control_L, n, focuswindow, class:^(obsidian)$"
"$mainMod Control_L, m, exec, [workspace 9] uwsm app -- $music_player"
"$mainMod Control_L, f, exec, uwsm app -- freetube"
"$mainMod Control_L, f, focuswindow, class:^(freetube)$"
"$mainMod Control_L, x, exec, uwsm app -- ~/.local/share/applications/x.desktop"
"$mainMod Control_L, x, focuswindow, class:^(chrome-x.com__-Default)$"
"$mainMod CONTROL_L L_SHIFT, B, exec, killall ashell && uwsm app -- ashell"
];
binde = [
"$mainMod alt, equal, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 1.1}')"
"$mainMod alt, minus, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 0.9}')"
"$mainMod L_SHIFT, l, resizeactive, 10 0"
"$mainMod L_SHIFT, h, resizeactive, -10 0"
"$mainMod L_SHIFT, k, resizeactive, 0 -10"
"$mainMod L_SHIFT, j, resizeactive, 0 10"
];
bindel = [
",XF86MonBrightnessDown, exec, hyprctl hyprsunset gamma -10"
",XF86MonBrightnessUp, exec, hyprctl hyprsunset gamma +10"
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle"
];
bindl = [
", XF86AudioMute, exec, wpctl set-mute @DEFAULT_SINK@ toggle && ~/.local/bin/check-if-muted.sh"
", XF86AudioNext, exec, playerctl next"
", Pause, exec, playerctl play-pause"
"$mainMod, Pause, exec, playerctl play-pause --player spotify"
", XF86AudioPlay, exec, playerctl play-pause"
", XF86AudioPrev, exec, playerctl previous"
];
bindt = [
", PRINT, exec, ~/.local/bin/screenshot.sh region"
"$mainMod, PRINT, exec, ~/.local/bin/screenshot.sh fullscreen"
"alt_l, PRINT, exec, ~/.local/bin/screenshot.sh window"
];
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
bindd = [
"$mainMod, F, Make app fullscreen, fullscreen"
"$mainMod, T, Toggle floating, togglefloating"
"$mainMod, P, Toggle pseudo, pseudo"
"$mainMod, S, Toggle split, togglesplit"
"$mainMod, Q, Kill active window, killactive"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = pavucontrol-float
match:class = ^(org.pulseaudio.pavucontrol)$
float = 1
size = 80% 60%
stay_focused = 1
center = 1
pin = 1
}
windowrule {
name = share-picker-float
match:class = ^(hyprland-share-picker)$
float = 1
center = 1
pin = 1
}
windowrule {
name = steam-friends-list
match:title = ^(Lista znajomych)$
float = 1
center = 1
size = 40% 60%
}
windowrule {
name = vesktop-dont-focus-pls
match:class = ^(vesktop)$
no_initial_focus = 1
focus_on_activate = 0
render_unfocused = 1
}
windowrule {
name = xdg-desktop-portal-gtk
match:class = ^(xdg-desktop-portal-gtk)$
float = 1
center = 1
size = 55% 50%
}
windowrule {
name = picture-in-picture
match:title = ^(Obraz w obrazie)$
pseudo = 1
no_initial_focus = 1
}
windowrule {
name = login-google-zen
match:title = ^(Logowanie Konta Google Zen Browser)$
float = 1
center = 1
}
windowrule {
name = prism-launcher
match:class = ^(org.prismlauncher.PrismLauncher)$
workspace = 3
}
windowrule {
name = gamescope
match:class = ^(gamescope)$
workspace = 3
}
monitorv2 {
output = DP-1
mode = 2560x1440@180.06
position = 0x0
scale = 1
vrr = 1
supports_wide_color = 1
bitdepth = 10
sdr_min_luminance = 0.005
sdr_max_luminance = 220
cm = hdr
supports_hdr = 1
}
monitorv2 {
output = DP-2
mode = 1920x1080@144
position = auto-left
vrr = 1
scale = 1.0
}
monitorv2 {
output = HDMI-A-2
mode = highres
position = auto-up
scale = 1
}
# for laptop
monitorv2 {
output = eDP-1
mode = highres
position = 0x0
scale = 1
}
monitorv2 {
output =
position = auto-right
scale = 1
}
'';
};
} }

View File

@@ -0,0 +1,10 @@
{ ... }:
{
imports = [
./apps/communicators.nix
./apps/browser.nix
./apps/games.nix
./apps/misc.nix
];
}

View File

@@ -0,0 +1,47 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
windowrule = [
"match:class ^(chrome-facebook.com__-Default)$, workspace 1"
"match:class ^(zen)$, workspace 2"
"match:class ^(zen-beta)$, workspace 2"
"match:class ^(com.github.IsmaelMartinez.teams_for_linux)$, workspace 2"
"match:class ^(FreeTube)$, workspace 2"
"match:class ^(brave-x.com__-Default)$, workspace 2"
"match:class ^(chrome-www.inoreader.com__all_articles-Default)$, workspace 2"
"match:class ^(chrome-mail.proton.me__u_0_inbox.com-Default)$, workspace 2"
"match:class ^(chrome-app.tuta.com__-Default)$, workspace 2"
];
bind = [
"$mainMod Control_L, b, exec, uwsm app -- $browser"
"$mainMod Control_L, b, focuswindow, class:^(zen)$"
"$mainMod Control_L, f, exec, uwsm app -- freetube"
"$mainMod Control_L, f, focuswindow, class:^(freetube)$"
"$mainMod Control_L, x, exec, uwsm app -- ~/.nix-profile/share/applications/x.desktop"
"$mainMod Control_L, x, focuswindow, class:^(chrome-x.com__-Default)$"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = picture-in-picture
match:title = ^(Obraz w obrazie)$
pseudo = 1
no_initial_focus = 1
}
windowrule {
name = login-google-zen
match:title = ^(Logowanie Konta Google Zen Browser)$
float = 1
center = 1
}
'';
};
}

View File

@@ -0,0 +1,36 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
windowrule = [
# general rules
"match:class ^(signal)$, workspace 1"
"match:class ^(vesktop)$, workspace 1 silent"
];
bind = [
"$mainMod Control_L, s, exec,[workspace 1] $signal_client"
"$mainMod Control_L, s, focuswindow, class:^(signal)$"
"$mainMod Control_L, s, focuswindow, title:^(signal)$"
"$mainMod Control_L, v, sendshortcut, ctrl, k, class:^(vesktop)$"
"$mainMod Control_L, v, exec, uwsm app -- vesktop"
"$mainMod Control_L, v, focuswindow, class:^(vesktop)$"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = vesktop-dont-focus-pls
match:class = ^(vesktop)$
no_initial_focus = 1
focus_on_activate = 0
render_unfocused = 1
}
'';
};
}

View File

@@ -0,0 +1,42 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
windowrule = [
"match:class ^(steam)$, workspace 3 silent"
"match:class ^(heroic)$, workspace 3"
"match:class ^(net.lutris.Lutris)$, workspace 3"
"match:class ^(rpcs3)$, workspace 3"
];
bind = [
"$mainMod Control_L, g, exec, uwsm app -- steam"
"$mainMod Control_L, g, focuswindow, class:^(steam)$"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = steam-friends-list
match:title = ^(Lista znajomych)$
float = 1
center = 1
size = 40% 60%
}
windowrule {
name = prism-launcher
match:class = ^(org.prismlauncher.PrismLauncher)$
workspace = 3
}
windowrule {
name = gamescope
match:class = ^(gamescope)$
workspace = 3
}
'';
};
}

View File

@@ -0,0 +1,61 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
windowrule = [
# general rules
"match:class ^(winboat)$, workspace 5"
"match:class ^(qemu)$, workspace 5"
"match:class ^(obsidian)$, workspace 6"
"match:class ^(gimp)$, workspace 8"
"match:class .*potify, workspace 9 silent"
"match:class ^(com.obsproject.Studio)$, workspace 10"
];
bind = [
"$mainMod, M, exec, [float] waypaper"
"$mainMod, RETURN, exec, [workspace 4] $terminal"
"$mainMod CONTROL_L, RETURN, exec, $terminal"
"$mainMod, space , exec, $menu"
"$mainMod ALT_L, c, exec, openrgb -c $openrgb_color"
"$mainMod Control_L, n, exec, [workspace 6] uwsm app -- $notes"
"$mainMod Control_L, n, focuswindow, class:^(obsidian)$"
"$mainMod Control_L, m, exec, [workspace 9] uwsm app -- $music_player"
"$mainMod CONTROL_L L_SHIFT, B, exec, killall ashell && uwsm app -- ashell"
];
};
extraConfig =
#hyprlang
''
windowrule {
name = pavucontrol-float
match:class = ^(org.pulseaudio.pavucontrol)$
float = 1
size = 80% 60%
stay_focused = 1
center = 1
pin = 1
}
windowrule {
name = share-picker-float
match:class = ^(hyprland-share-picker)$
float = 1
center = 1
pin = 1
}
windowrule {
name = xdg-desktop-portal-gtk
match:class = ^(xdg-desktop-portal-gtk)$
float = 1
center = 1
size = 55% 50%
}
'';
};
}

View File

@@ -0,0 +1,19 @@
{
userConfig,
pkgs,
...
}:
let
uwsm_run = "${pkgs.uwsm}/bin/uwsm app";
in
{
wayland.windowManager.hyprland.settings = {
"exec-once" = [
"wl-paste --type text --watch cliphist store"
"wl-paste --type image --watch cliphist store"
"${uwsm_run} -- ${userConfig.statusBar}"
"awww-daemon"
"openrgb -c $openrgb_color"
];
};
}

View File

@@ -0,0 +1,42 @@
{
userConfig,
pkgs,
...
}:
let
uwsm_run = "${pkgs.uwsm}/bin/uwsm app";
signal_client = "${pkgs.kitty}/bin/kitty --title 'gurk' ${pkgs.gurk-rs}/bin/gurk";
in
{
wayland.windowManager.hyprland = {
settings = {
"$mainMod" = "SUPER";
"$terminal" = "${uwsm_run} -- ${pkgs.kitty}/bin/kitty";
"$menu" = "${pkgs.hyprlauncher}/bin/hyprlauncher";
"$music_player" =
if userConfig.isNixOS then "${pkgs.spotify}/bin/spotify" else "flatpak run com.spotify.Client";
"$notes" = "${pkgs.obsidian}/bin/obsidian";
"$browser" = if userConfig.isNixOS then "zen-beta" else "zen-browser"; # beta on nixos
"$openrgb_color" = "09ce30";
"$signal_client" = signal_client;
env = [
"XCURSOR_SIZE, 32"
"HYPRCURSOR_SIZE, 32"
"HYPRCURSOR_THEME, theme_phinger-cursors-light"
"XDG_CURRENT_DESKTOP,Hyprland"
];
general = {
gaps_in = 4;
gaps_out = 6;
border_size = 4;
"col.active_border" = "$blue $sky";
"col.inactive_border" = "$overlay1";
resize_on_border = false;
allow_tearing = false;
layout = "scrolling";
};
};
};
}

View File

@@ -0,0 +1,110 @@
{
userConfig,
pkgs,
...
}:
let
exe = pkg: bin: if userConfig.isNixOS then "${pkg}/bin/${bin}" else "/usr/bin/${bin}";
jq = exe pkgs.jq "jq";
grim = exe pkgs.grim "grim";
satty = exe pkgs.satty "satty";
wl_copy = exe pkgs.wl-clipboard "wl-copy";
notify_send = exe pkgs.libnotify "notify-send";
playerctl = exe pkgs.playerctl "playerctl";
xdg-desktop-portal-hyprland =
if userConfig.isNixOS then
"${pkgs.xdg-desktop-portal-hyprland}/libexec/xdg-desktop-portal-hyprland"
else
"/usr/lib/xdg-desktop-portal-hyprland";
in
{
wayland.windowManager.hyprland = {
enable = true;
package =
if userConfig.isNixOS then
# inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland
pkgs.hyprland
else
null;
#portalPackage = lib.mkIf (userConfig.isNixOS
#) inputs.hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
xwayland.enable = true;
settings = {
ecosystem = {
enforce_permissions = true;
};
permission = [
"^${pkgs.grim}/bin/grim$, screencopy, allow"
"^${pkgs.hyprlock}/bin/hyprlock$, screencopy, allow"
"^${xdg-desktop-portal-hyprland}$, screencopy, allow"
];
misc = {
force_default_wallpaper = 0;
disable_hyprland_logo = true;
middle_click_paste = false;
};
xwayland = {
force_zero_scaling = 1;
};
quirks = {
prefer_hdr = 1;
};
windowrule = [
# smart gaps
"border_size 0, match:float 0, match:workspace w[tv1]"
"rounding 0, match:float 0, match:workspace w[tv1]"
"border_size 0, match:float 0, match:workspace f[1]"
"rounding 0, match:float 0, match:workspace f[1]"
];
bind = [
"$mainMod, V, exec, cliphist list | hyprlauncher -m | cliphist decode | wl-copy"
"$mainMod ALT_L, V, exec, cliphist wipe && notify-send \"Clipboard\" \"Clipboard cleared!\""
"$mainMod L_SHIFT ctrl, l, exec, hyprlock"
"$mainMod L_SHIFT ctrl, r, exec, openrgb -c black && systemctl reboot"
"$mainMod L_SHIFT ctrl, p, exec, openrgb -c black && systemctl poweroff"
"$mainMod L_SHIFT ctrl, s, exec, openrgb -c black && pidof hyprlock || sleep 1 && systemctl sleep"
"$mainMod L_SHIFT ctrl, m, exec, uwsm stop"
];
bindt = [
", PRINT, exec, ${pkgs.writeShellScript "screenshot-region" ''
MONITOR=$(hyprctl monitors -j | ${jq} -r '.[] | select(.focused == true) | .name')
${grim} -o "$MONITOR" - | ${satty} -f -
''}"
"$mainMod, PRINT, exec, ${pkgs.writeShellScript "screenshot-fullscreen" ''
target_path="$HOME/${userConfig.pathConfig.screenshot}/$(date +'%d-%m-%Y_%H-%M-%S').png"
mkdir -p "$(dirname "$target_path")"
MONITOR=$(hyprctl monitors -j | ${jq} -r '.[] | select(.focused == true) | .name')
${grim} -o "$MONITOR" "$target_path"
${wl_copy} < "$target_path"
${notify_send} -i "$target_path" -u low -a "Screenshot" "Screenshot fullscreen" "Saved and copied"
''}"
"alt_l, PRINT, exec, ${pkgs.writeShellScript "screenshot-window" ''
target_path="$HOME/${userConfig.pathConfig.screenshot}/$(date +'%d-%m-%Y_%H-%M-%S').png"
mkdir -p "$(dirname "$target_path")"
GEOMETRY=$(hyprctl activewindow -j | ${jq} -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"')
${grim} -g "$GEOMETRY" "$target_path"
${wl_copy} < "$target_path"
${notify_send} -i "$target_path" -u low -a "Screenshot" "Screenshot window" "Saved and copied"
''}"
", PAUSE, exec, ${playerctl} play-pause"
"$mainMod, PAUSE, exec, ${playerctl} play-pause --player spotify"
];
};
};
}

View File

@@ -0,0 +1,89 @@
{ ... }:
{
wayland.windowManager.hyprland = {
settings = {
input = {
kb_layout = "pl";
kb_variant = "";
kb_model = "";
kb_options = "caps:escape_shifted_capslock";
kb_rules = "";
follow_mouse = 1;
left_handed = false;
sensitivity = 0;
touchpad = {
natural_scroll = true;
};
};
# mouse has super high dpi so lover the sensitivity!
device = {
name = "corsair-corsair-m75-gaming-mouse";
sensitivity = -0.5;
};
cursor = {
no_hardware_cursors = true;
inactive_timeout = 5;
warp_on_change_workspace = 1;
zoom_factor = 1.0;
hide_on_key_press = 1;
};
bindel = [
",XF86MonBrightnessDown, exec, hyprctl hyprsunset gamma -10"
",XF86MonBrightnessUp, exec, hyprctl hyprsunset gamma +10"
", XF86AudioRaiseVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
", XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- && ~/.local/bin/wp-vol.sh && paplay /usr/share/sounds/freedesktop/stereo/bell.oga"
", XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_SOURCE@ toggle"
];
};
extraConfig =
#hyprlang
''
monitorv2 {
output = DP-1
mode = 2560x1440@180.06
position = 0x0
scale = 1
vrr = 1
supports_wide_color = 1
bitdepth = 10
sdr_min_luminance = 0.005
sdr_max_luminance = 220
cm = hdr
supports_hdr = 1
}
monitorv2 {
output = DP-2
mode = 1920x1080@144
position = auto-left
vrr = 1
scale = 1.0
}
monitorv2 {
output = HDMI-A-2
mode = highres
position = auto-up
scale = 1
}
# for laptop
monitorv2 {
output = eDP-1
mode = highres
position = 0x0
scale = 1
}
monitorv2 {
output =
position = auto-right
scale = 1
}
'';
};
}

View File

@@ -0,0 +1,78 @@
{
...
}:
{
wayland.windowManager.hyprland.settings = {
dwindle = {
preserve_split = true;
};
master = {
new_status = "slave";
allow_small_split = true;
orientation = "left";
};
bind = [
"$mainMod, h, movefocus, l"
"$mainMod, l, movefocus, r"
"$mainMod, k, movefocus, u"
"$mainMod, j, movefocus, d"
"$mainMod, mouse_down, workspace, e+1"
"$mainMod, mouse_up, workspace, e-1"
"$mainMod L_SHIFT, right, exec, hyprctl dispatch movecurrentworkspacetomonitor +1"
"$mainMod L_SHIFT, left, exec, hyprctl dispatch movecurrentworkspacetomonitor -1"
# workspace management
"$mainMod, 1, workspace, 1"
"$mainMod, 2, workspace, 2"
"$mainMod, 3, workspace, 3"
"$mainMod, 4, workspace, 4"
"$mainMod, 5, workspace, 5"
"$mainMod, 6, workspace, 6"
"$mainMod, 7, workspace, 7"
"$mainMod, 8, workspace, 8"
"$mainMod, 9, workspace, 9"
"$mainMod, 0, workspace, 10"
# window management
"$mainMod SHIFT, 1, movetoworkspace, 1"
"$mainMod SHIFT, 2, movetoworkspace, 2"
"$mainMod SHIFT, 3, movetoworkspace, 3"
"$mainMod SHIFT, 4, movetoworkspace, 4"
"$mainMod SHIFT, 5, movetoworkspace, 5"
"$mainMod SHIFT, 6, movetoworkspace, 6"
"$mainMod SHIFT, 7, movetoworkspace, 7"
"$mainMod SHIFT, 8, movetoworkspace, 8"
"$mainMod SHIFT, 9, movetoworkspace, 9"
"$mainMod SHIFT, 0, movetoworkspace, 10"
# special workspace
"$mainMod, TAB, togglespecialworkspace, magic"
"$mainMod SHIFT, TAB, movetoworkspace, special:magic"
# layout
"$mainMod, S, layoutmsg, swapwithmaster"
"$mainMod, n, layoutmsg, swapnext"
"$mainMod, p, layoutmsg, swapprev"
];
binde = [
"$mainMod alt, equal, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 1.1}')"
"$mainMod alt, minus, exec, hyprctl -q keyword cursor:zoom_factor $(hyprctl getoption cursor:zoom_factor | awk '/^float.*/ {print $2 * 0.9}')"
"$mainMod alt, 0, exec, hyprctl -q keyword cursor:zoom_factor 1"
"$mainMod L_SHIFT, l, resizeactive, 10 0"
"$mainMod L_SHIFT, h, resizeactive, -10 0"
"$mainMod L_SHIFT, k, resizeactive, 0 -10"
"$mainMod L_SHIFT, j, resizeactive, 0 10"
];
bindd = [
"$mainMod, F, Make app fullscreen, fullscreen"
"$mainMod, T, Toggle floating, togglefloating"
"$mainMod, Q, Kill active window, killactive"
];
bindm = [
"$mainMod, mouse:272, movewindow"
"$mainMod, mouse:273, resizewindow"
];
};
}

View File

@@ -0,0 +1,58 @@
{
userConfig,
...
}:
{
wayland.windowManager.hyprland = {
settings = {
animations = {
enabled = userConfig.animations;
bezier = [
"easeOutQuint,0.23,1,0.32,1"
"easeInOutCubic,0.65,0.05,0.36,1"
"linear,0,0,1,1"
"almostLinear,0.5,0.5,0.75,1.0"
"quick,0.15,0,0.1,1"
];
animation = [
"global, 1, 7, default"
"border, 1, 3.39, easeOutQuint"
"windows, 1, 2.79, easeOutQuint"
"windowsIn, 1, 2.1, easeOutQuint, popin 87%"
"windowsOut, 1, 1, linear, popin 87%"
"fadeIn, 1, 1.4, almostLinear"
"fadeOut, 1, 1.2, almostLinear"
"fade, 1, 3.03, quick"
"layers, 1, 2, easeOutQuint"
"layersIn, 1, 2, easeOutQuint, fade"
"layersOut, 1, 1, linear, fade"
"fadeLayersIn, 1, 1.4, almostLinear"
"fadeLayersOut, 1, 1.1, almostLinear"
"workspaces, 1, 1.4, quick, slidevert"
"workspacesIn, 1, 0.5, quick, slidevert"
"workspacesOut, 1, 0.5, quick, slidevert"
];
};
decoration = {
rounding = 1;
rounding_power = 2;
active_opacity = 1.0;
inactive_opacity = 1.0;
shadow = {
enabled = true;
range = 1;
render_power = 1;
color = "$overlay0";
};
blur = {
enabled = true;
size = 1;
passes = 1;
vibrancy = 0.1696;
};
};
};
};
}

View File

@@ -0,0 +1,20 @@
{ ... }:
{
wayland.windowManager.hyprland.settings = {
workspace = [
"1, monitor:DP-2"
"1, layout: dwindle"
"2, monitor:DP-1"
"3, monitor:DP-1"
"4, monitor:DP-1"
"5, monitor:DP-1"
"6, monitor:DP-1"
"7, monitor:HDMI-A-2"
"9, monitor:DP-2"
"10, monitor:DP-2"
"w[tv1], gapsout:0, gapsin:0"
"f[1], gapsout:0, gapsin:0"
];
};
}

View File

@@ -1,9 +1,9 @@
{ isNixOS, lib, ... }: { userConfig, lib, ... }:
{ {
services.hyprlauncher = { services.hyprlauncher = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
settings = { settings = {
cache.enabled = true; cache.enabled = true;

View File

@@ -1,9 +1,9 @@
{ isNixOS, lib, ... }: { userConfig, lib, ... }:
{ {
programs.hyprlock = { programs.hyprlock = {
enable = true; enable = true;
package = lib.mkIf (!isNixOS) null; package = lib.mkIf (!userConfig.isNixOS) null;
settings = { settings = {
"$font" = "Monospace"; "$font" = "Monospace";

View File

@@ -1,5 +1,5 @@
{ {
isNixOS, userConfig,
pkgs, pkgs,
... ...
}: }:
@@ -8,7 +8,7 @@
services.hyprsunset = { services.hyprsunset = {
enable = true; enable = true;
package = package =
if isNixOS then if userConfig.isNixOS then
pkgs.hyprsunset pkgs.hyprsunset
else else
(pkgs.writeShellScriptBin "hyprsunset" "exec /usr/bin/hyprsunset \"$@\""); (pkgs.writeShellScriptBin "hyprsunset" "exec /usr/bin/hyprsunset \"$@\"");

View File

@@ -1,23 +1,74 @@
{ pkgs, ... }: {
pkgs,
pkgs-stable,
lib,
userConfig,
...
}:
let
rstudio-with-packages = pkgs-stable.rstudioWrapper.override {
# we use stable, because unstable is broken rn
packages = with pkgs-stable.rPackages; [
# additional packages for rstudio here
ggplot2
];
};
in
{ {
home.packages = with pkgs; [ home.packages =
libnotify with pkgs;
cliphist [
gh # Cli stuff
trash-cli libnotify
pandoc cliphist
fzf gh
eza trash-cli
fastfetch pandoc
fd fzf
duf eza
gdu fastfetch
jq fd
tealdeer duf
grim gdu
slurp jq
bc tealdeer
nh grim
]; slurp
bc
nh
runc
nixfmt
zathura
zathuraPkgs.zathura_pdf_mupdf
# Music
spotify
# Gui stuff
homebank
gimp
rstudio-with-packages
feh
libreoffice
# Messaging
vesktop
signal-desktop
]
++ lib.optionals userConfig.gaming [
mangohud
prismlauncher
heroic
# lutris
pkgs-stable.rpcs3
pcsx2
];
xdg.configFile."containers/containers.conf".text = ''
[engine]
runtime = "runc"
'';
} }

View File

@@ -1,5 +1,15 @@
{ ... }: { userConfig, ... }:
let
browserFallback = [
"zen-beta.desktop"
"zen.desktop"
"brave.desktop"
"chromium.desktop"
];
imageViewer = "feh.desktop";
in
{ {
xdg.portal.config = { xdg.portal.config = {
common = { common = {
@@ -15,28 +25,46 @@
defaultApplications = { defaultApplications = {
"application/pdf" = [ "org.pwmt.zathura.desktop" ]; "application/pdf" = [ "org.pwmt.zathura.desktop" ];
"text/html" = [ "zen.desktop" ]; "text/html" = browserFallback;
"application/xhtml+xml" = [ "zen.desktop" ]; "application/xhtml+xml" = browserFallback;
"x-scheme-handler/http" = [ "zen.desktop" ]; "x-scheme-handler/http" = browserFallback;
"x-scheme-handler/https" = [ "zen.desktop" ]; "x-scheme-handler/https" = browserFallback;
"x-scheme-handler/chrome" = [ "zen.desktop" ]; "x-scheme-handler/chrome" = browserFallback;
"application/x-extension-htm" = [ "zen.desktop" ]; "application/x-extension-htm" = browserFallback;
"application/x-extension-html" = [ "zen.desktop" ]; "application/x-extension-html" = browserFallback;
"application/x-extension-shtml" = [ "zen.desktop" ]; "application/x-extension-shtml" = browserFallback;
"application/x-extension-xht" = [ "zen.desktop" ]; "application/x-extension-xht" = browserFallback;
"application/x-extension-xhtml" = [ "zen.desktop" ]; "application/x-extension-xhtml" = browserFallback;
"audio/*" = [ "mpv.desktop" ]; "audio/*" = [ "mpv.desktop" ];
"audio/mpeg" = [ "mpv.desktop" ]; "audio/mpeg" = [ "mpv.desktop" ];
"image/*" = [ "org.kde.koko.desktop" ]; "image/*" = [ "org.kde.koko.desktop" ];
"image/png" = [ "feh.desktop" ]; "image/png" = [ imageViewer ];
"image/bmp" = [ "feh.desktop" ]; "image/jpeg" = [ imageViewer ];
"image/svg+xml" = [ "feh.desktop" ]; "image/jpg" = [ imageViewer ];
"image/bmp" = [ imageViewer ];
"image/svg+xml" = [ imageViewer ];
"image/webp" = [ imageViewer ];
"x-scheme-handler/discord" = [ "vesktop.desktop" ]; "x-scheme-handler/discord" = [ "vesktop.desktop" ];
"x-scheme-handler/sgnl" = [ "signal-desktop.desktop" ]; "x-scheme-handler/sgnl" = [ "signal-desktop.desktop" ];
"x-scheme-handler/tuta" = [ "tutanota-desktop.desktop" ]; "x-scheme-handler/tuta" = [ "tutanota-desktop.desktop" ];
}; };
}; };
xdg.userDirs = {
enable = true;
createDirectories = true;
desktop = null;
documents = baseNameOf userConfig.pathConfig.documents;
download = baseNameOf userConfig.pathConfig.downloads;
music = null;
pictures = baseNameOf userConfig.pathConfig.pictures;
videos = baseNameOf userConfig.pathConfig.video;
projects = baseNameOf userConfig.pathConfig.projects;
templates = null;
publicShare = null;
setSessionVariables = true;
};
} }

View File

@@ -1,28 +0,0 @@
#!/usr/bin/env bash
disturbed=$(makoctl mode | grep -i do-not-disturb) > /dev/null
mute_icon=""
unmute_icon="🕭"
case $1 in
"show")
if [[ $disturbed == "" ]]; then
echo "$unmute_icon"
else
echo "$mute_icon"
fi
;;
"change")
if [[ $disturbed == "" ]]; then
makoctl mode -a do-not-disturb > /dev/null
echo "$unmute_icon"
else
makoctl mode -r do-not-disturb > /dev/null
echo "$mute_icon"
fi
pkill -SIGRTMIN+2 waybar
;;
*)
echo "Arguments are: show, change"
;;
esac

View File

@@ -1,9 +0,0 @@
#!/usr/bin/env bash
MUTED=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | grep -iq muted; echo $?)
if [[ $MUTED -eq 0 ]]; then
notify-send "Audio muted" -a 'wp-vol' -t 1000
else
notify-send "Audio unmuted" -a 'wp-vol' -t 1000
fi

View File

@@ -1,5 +1,5 @@
#!/usr/bin/env bash #!/usr/bin/env bash
set -e set -e
rsync -avh --no-links --delete --exclude=.* --exclude=dyski /home/szymon/ /mnt/backup/home/szymon/ rsync -avh --no-links --delete --exclude=.* --exclude=dyski /home/szymon/ /mnt/uwu_backup/home/szymon/
rsync -avh --no-links --delete --exclude=.* --exclude=dyski /home/szymon/ /mnt/backup_wd/home/szymon/ rsync -avh --no-links --delete --exclude=.* --exclude=dyski /home/szymon/ /mnt/wd_backup/home/szymon/

View File

@@ -1,7 +0,0 @@
#!/usr/bin/env bash
killall -q waybar
while pgrep -x waybar >/dev/null; do sleep 1; done
uwsm app waybar

Some files were not shown because too many files have changed in this diff Show More