46 Commits

Author SHA1 Message Date
installer
0f2e039d3e poprawki 2025-08-14 14:11:04 +02:00
installer
32dfc8772a aktualizacja domyślnego hosta 2025-08-14 13:41:54 +02:00
installer
fb2279a575 aktualizacja i posprzątanie plików 2025-08-14 13:22:53 +02:00
installer
e1494d6c26 Zastąpiono Warp terminal i btop; dodano PrismLauncher-Cracked
- Usunięto Warp terminal z konfiguracji systemu i Hyprland.
- Zmieniono domyślny terminal na `kitty`.
- Zamieniono `btop` na `NeoHtop` w powiązaniach klawiszowych oraz w tty.
- Dodano `exercism` do zestawu narzędzi deweloperskich.
- Dodano `PrismLauncher-Cracked` do sekcji gamingowej oraz odpowiedni input do `flake.nix`.
- Uproszczono zależności w `flake.lock`, usuwając m.in. `flake-compat`, `git-hooks` i `treefmt-nix`.
- Rozszerzono konfigurację SSH o domowy serwer `hp-t640-homeserver`.
2025-07-20 22:00:23 +02:00
installer
6156ce2788 poprawienie konfiguracji pod gaming. 2025-06-14 17:22:17 +02:00
installer
34067ead77 poprawka do rozszerzeń vscode 2025-06-06 23:57:07 +02:00
installer
6561326cd4 Aktualizacja zależności. Dodanie KDE Connect. Dodanie calyx-vpn. Dodanie nowych i usunięcie zbędnych rozszerzeń vscodium. 2025-06-06 17:15:38 +02:00
5b58e02b97 Merge pull request 'test_launcher_minecraft' (#5) from test_launcher_minecraft into main
Reviewed-on: #5
2025-05-22 16:09:39 +00:00
installer
384092291c dodanie wrappera do scp. wywalenie crystala w pizdu. Próba dodania autosugestii do silnika wyszukiwania. Aktualizacja zależności. 2025-05-22 18:07:57 +02:00
installer
f4e6ec8144 zastąpienie kitty przez warp, zainstalowanie freetube, próba instalacji klienta minecraft. 2025-05-20 15:42:41 +02:00
installer
9a01abb83b Poprawa integracji z portalem XDG i wsparcie dla Ulaunchera
- Dodano `xdg-desktop-portal-hyprland` do konfiguracji systemowej, Hyprlanda oraz środowiska użytkownika.
- Włączono obsługę `dbus` w `initrd`, co może być wymagane przez `xdg-desktop-portal`.
- Rozszerzono konfigurację portali XDG o jawne ustawienia priorytetów (`gtk`, `hyprland`).
- Dodano `ulauncher` oraz `wmctrl` do listy narzędzi, a także nowe skróty klawiszowe do jego uruchamiania.
- Pomimo zmian, integracja portalu XDG nie działa jeszcze zgodnie z oczekiwaniami.
2025-05-07 20:11:04 +02:00
installer
e832b7fd33 aktualizacja zależności 2025-05-05 21:34:03 +02:00
installer
b0b071749b Zaktualizuj zależności i zastąp ms-python przez kylin-python
- Zaktualizowano wiele zależności w `flake.lock`, w tym `home-manager`, `nixpkgs`, `stylix` i inne.
- Usunięto rozszerzenia VSCode od `ms-python`: debugpy, flake8, python i vscode-pylance.
- Usunięto również `vscode-python-envs` z ręcznie zadeklarowanych rozszerzeń.
- Dodano alternatywne rozszerzenie `kylin-python` (v0.4.2) jako zamiennik obsługi Pythona w VSCode.
2025-04-30 00:34:59 +02:00
installer
cd42fbdd59 aktualizacja i małe poprawki 2025-04-24 01:32:50 +02:00
12240a9bc7 Merge pull request 'test_skrypty_dex' (#4) from test_skrypty_dex into main
Reviewed-on: #4
2025-04-20 14:47:43 +00:00
installer
31f5958614 Przebuduj konfigurację skrótów klawiszowych w Hyprland
- Usunięto przestarzałe lub zduplikowane bindy w `hyprland.nix` i `list-hypr-bindings.nix`.
- Dodano nowe skróty z lepszym opisem funkcji i pełniejszym pokryciem aplikacji.
- Zmieniono nazwę aplikacji z `gimp` na `gimp3` w konfiguracji pakietów.
- Uporządkowano kolejność bindów, grupując je tematycznie (media, komunikacja, narzędzia).
- Ułatwiono zrozumienie poprzez aktualizację listy klawiszy z opisem po polsku.
2025-04-20 16:44:11 +02:00
installer
39bbdd94e1 Rozszerzenie konfiguracji Hyprland, aplikacji dex i środowiska developerskiego
- Dodano nowe reguły `windowrulev2` w Hyprlandzie dla aplikacji takich jak galculator, Anki, ONLYOFFICE, Lutris czy Bitwarden.
- Zamieniono bindy: `slack` ↔ `screenshootin`, dodano `dex-messenger`.
- Zainstalowano `dex` i skonfigurowano zestaw skryptów `dex-apps` do uruchamiania aplikacji webowych przez `dex`.
- Rozszerzono listę pakietów: dodano `onlyoffice-bin` (zamiast libreoffice), `space-cadet-pinball`.
- Zaktualizowano i uporządkowano rozszerzenia VSCode: usunięto zduplikowane wpisy, zaktualizowano wersje, dodano nowe rozszerzenia (np. `better-syntax`, `uv-toolkit`).
2025-04-20 14:37:48 +02:00
installer
a464fbb408 Zaktualizuj zależności i dodaj alias pasjans
- Zaktualizowano wpisy w pliku `flake.lock` dla kilku źródeł (np. `home-manager`, `nixpkgs`, `stylix`), aby pobrać najnowsze wersje.
- Tymczasowo zakomentowano konfigurację montowania CIFS w `hardware.nix`.
- Dodano `anki-bin` do listy klientów w `clients.nix`.
- Wprowadzono nowy alias `pasjans` uruchamiający `ttysolitaire` w `programs.nix`.
2025-04-18 02:46:59 +02:00
installer
81d8cc061a Aktualizacja systemu. Przywrócenie mapowania dysku sieciowego. Usunięcie deklaracji zakładek librewolf. 2025-04-09 01:25:35 +02:00
installer
d566527584 aktualizacja systemu 2025-04-07 00:06:38 +02:00
installer
3551f351af Migracja windowrule do windowrulev2 i aktualizacja zależności
- Zamieniono `windowrule` na `windowrulev2` w konfiguracji Hyprland dla lepszego dopasowania reguł okien.
- Zaktualizowano `flake.lock`, co uwzględnia najnowsze wersje pakietów.
- Zmieniono `whalebird` na `docker-client` w konfiguracji aplikacji na laptopie Garand.
- Dodano zakomentowaną opcję `waydroid.enable = true;`, co sugeruje możliwość przyszłej aktywacji.
2025-03-31 08:28:14 +02:00
installer
64e7177cc8 aktualizacja systemu. Włączenie tumbler, by wyświetlać podglądy obrazków i filmików w thunar. Przeniesienie konfiguracji zakładek librewolf by były zgodne z nową konfiguracją. zmiany nazw silników wyszukiwania librewolf 2025-03-20 09:09:20 +01:00
installer
508da275c4 Aktualizacja zależności i poprawki w konfiguracji Nix
- Zaktualizowano plik `flake.lock` do najnowszych wersji zależności.
- Uproszczono `stylix.nix`, usuwając zbędne komentarze i parametry.
- W `programs.librewolf.nix` zastąpiono przypisanie ustawień przez `lib.mkDefault`.
- Dodano `librewolf.profileNames` w `styles.nix`, co może poprawić konfigurację Librewolf.
2025-03-19 02:26:55 +01:00
installer
d75f2996e3 Aktualizacja zależności i konfiguracji systemu
- Zaktualizowano `flake.lock` do nowszych wersji zależności.
- Dodano `whalebird` i `toot` do konfiguracji aplikacji.
- Rozszerzono ustawienia GNOME o obsługę `evolution-data-server` i `gnome-online-accounts`.
- Zaktualizowano konfigurację `Librewolf`:
  - Dodano rozszerzenie `floccus`.
  - Usunięto zakładki do `FileCloud` i `Planka`.
  - Dodano zakładki do `Mastodon`, `DeepL Translate`, `PureVPN` i `Modifio`.
2025-03-19 01:46:58 +01:00
installer
6a3ba3cbaa Aktualizacja flake.lock i konfiguracji systemu
- Zaktualizowano `flake.lock` z nowymi wersjami zależności.
- Dodano `btop` do pakietów w `tty.nix`.
- Wprowadzono poprawki do `stylix.nix`.
- Zmieniono konfigurację `Librewolf`:
  - Wyłączono `nativeMessagingHosts` dla `firefoxpwa`.
  - Dostosowano wygląd (ukrycie paska zakładek, zmiany w bocznym panelu).
  - Zaktualizowano zakładki (nowe adresy URL, poprawione nazwy i tagi).
2025-03-13 02:49:27 +01:00
installer
71029a6259 redukcja 2025-03-10 13:00:45 +01:00
installer
ee8ed72924 fix 2025-03-10 12:45:18 +01:00
d407a3598e Merge pull request 'oddzielne_pliki_dla_nixpkgs' (#3) from oddzielne_pliki_dla_nixpkgs into main
Reviewed-on: #3
2025-03-10 11:38:44 +00:00
installer
773bcf8c03 next 2025-03-10 12:37:00 +01:00
installer
bff6ccf55c rozbicie na mniejsze pliki 2025-03-10 10:52:38 +01:00
installer
af67c443ad sdjsabnjkankcnzxckja 2025-03-10 10:30:40 +01:00
installer
c3cadbcb29 Usunięcie plex-media-player i poprawki w Librewolf
- Usunięto `plex-media-player` z listy pakietów w konfiguracji NixOS.
- Przeniesiono `mtab` w konfiguracji rozszerzeń Librewolf.
- Dodano zakomentowaną konfigurację `MTAB_SAVE_FORMAT`.
2025-02-20 01:36:55 +01:00
installer
973dcd58a7 ustawienie useGlobalPkgs na false 2025-02-19 15:40:25 +01:00
installer
7cd4ab4e3d aktualizacja flake, dodanie bookmarków i nowych searchenginów do librewolf 2025-02-19 15:28:45 +01:00
installer
da6e9496a3 dodanie pwa do librewolf 2025-02-19 01:52:49 +01:00
installer
d10f1b6191 Dodanie formatowania JSON i rozszerzeń dla Librewolf oraz Codium
- Dodano domyślny format JSON w pliku `.vscode/settings.json` dla `vscode.json-language-features`.
- Dodano rozszerzenie `prettify-json` do konfiguracji Codium.
- Wprowadzono zmianę `extensions.autoDisableScopes = 0` w ustawieniach Librewolf.
- Przebudowano strukturę konfiguracji rozszerzeń w `programs.librewolf.nix`, dodając sekcję `packages`.
2025-02-19 01:38:41 +01:00
installer
3c99fff890 Dodanie obsługi dodatków do Firefoksa
- Dodano nowy input `firefox-addons` w `flake.nix`
- Zaktualizowano `flake.lock` o nową zależność oraz nowsze wersje istniejących pakietów
- Zmieniono konfigurację `programs.librewolf.nix`:
  - Dodano obsługę systemu `x86_64-linux`
  - Zmieniono ustawienia prywatności i sesji przeglądarki
  - Dodano obsługę DNS-over-HTTPS z Mullvad
  - Rozszerzono listę wyszukiwarek o YouTube, Wikipedia (PL), StackOverflow i Nix Wiki
  - Dodano listę preinstalowanych rozszerzeń (np. Bitwarden, uBlock Origin, SponsorBlock)
- Dodano alias `os-up-fa` do aktualizacji `firefox-addons`
2025-02-17 23:23:53 +01:00
b1a56e9614 Merge pull request 'test_split_home' (#2) from test_split_home into main
Reviewed-on: #2
2025-02-17 20:41:55 +00:00
installer
72858a9a87 korekta 2025-02-17 21:40:03 +01:00
installer
8026ce5f17 rozbicie home.nix i prace nad librewolf w home-manager 2025-02-17 21:25:19 +01:00
installer
2a3a42a087 Aktualizacja konfiguracji Nix i Home Managera
- Zaktualizowano `flake.lock`, aktualizując zależności `home-manager`, `nixpkgs` i `stylix`
- Dodano pakiet `gambit-chess` do listy instalowanych programów
- Usunięto wyłączenie Firefoksa z konfiguracji
- Uporządkowano i poprawiono strukturę pliku `home.nix`, przenosząc ustawienia Home Managera do sekcji `home`
- Przeniesiono konfigurację skryptów oraz Home Managera w `home.nix` w bardziej logiczne sekcje
- Dodano `extraConfig` do konfiguracji Git, ustawiając pamięć podręczną poświadczeń na 3600 sekund
2025-02-14 09:32:54 +01:00
installer
793174f97d wyłączenie akceleracji myszki i touchpada 2025-02-12 07:15:53 +01:00
installer
80440f91e7 Zaktualizuj zależności i uporządkuj konfigurację NixOS
- Zaktualizowano zależności w `flake.lock`, w tym `home-manager` i `stylix`, oraz dodano nową zależność `tinted-schemes`.
- Usunięto zbędne zmienne oraz przeniesiono `mutableUsers` do `security.nix` dla lepszej organizacji konfiguracji.
- Przeniesiono zakomentowane wpisy dotyczące montowania `Garand-Library` do `hardware.nix`.
- Dodano zakomentowaną konfigurację zapory sieciowej do `networking.nix` oraz przeniesiono `console.keyMap` do `services.nix`.
- Uporządkowano konfigurację, usuwając zbędne linie i przenosząc odpowiednie sekcje do bardziej logicznych miejsc.
2025-02-11 23:36:38 +01:00
46f52843ca Merge pull request 'test_rozbicie_plikow' (#1) from test_rozbicie_plikow into main
Reviewed-on: #1
2025-02-11 20:45:27 +00:00
installer
56cc9d6626 poprawienie urla do tapety stylix 2025-02-11 21:44:31 +01:00
installer
a51f8e78cf Refaktoryzacja struktury konfiguracji NixOS
- Usunięcie zbędnych parametrów wejściowych funkcji konfiguracyjnej
- Przeniesienie ustawień do oddzielnych plików w katalogu `config/`
- Uproszczenie struktury `config.nix` poprzez delegację ustawień do modułów
- Zachowanie wcześniejszych importów modułów sprzętowych
2025-02-11 21:38:12 +01:00
66 changed files with 3312 additions and 2169 deletions

1
.gitignore vendored
View File

@@ -1 +1,2 @@
git-diff.txt git-diff.txt
packages/result

83
.vscode/bookmarks.code-snippets vendored Normal file
View File

@@ -0,0 +1,83 @@
{
// Place your zaneyos workspace snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
// Placeholders with the same ids are connected.
// Example:
// "Print to console": {
// "scope": "javascript,typescript",
// "prefix": "log",
// "body": [
// "console.log('$1');",
// "$2"
// ],
// "description": "Log output to console"
// }
"bm-link": {
"scope": "nix",
"prefix": "bm-link",
"body": [
"{",
" name = \"\";",
" tags = [];",
" keyword = \"@\";",
" url = \"\";",
"}"
],
"description": "Home-manager Bookmark link"
},
"bm-folder": {
"scope": "nix",
"prefix": "bm-folder",
"body": [
"{",
" name = \"\";",
" toolbar = true;",
" bookmarks = [];",
"}"
],
"description": "Home-manager Bookmark folder"
},
"search-engine": {
"scope": "nix",
"prefix": "search-engine",
"description": "Home-manager Search engine",
"body": [
"\"\" = {",
" definedAliases = [];",
" icon = \"\";",
" urls = [",
" {",
" template = \"\";",
" params = [",
" {",
" name = \"\";",
" value = \"{searchTerms}\";",
" }",
" ];",
" }",
" ];",
"};"
]
},
"nix-config": {
"scope": "nix",
"prefix": "nix-config",
"description": "Config do pliku .nix",
"body": [
"{pkgs, ...}: {}"
]
},
"nix-config=nixpkgs": {
"scope": "nix",
"prefix": "nix-config-nixpkgs",
"description": "Config do pliku .nix z nixpkgs",
"body": [
"{pkgs, ... }: {",
" environment.systemPackages = with pkgs; [];",
"}",
]
}
}

View File

@@ -18,5 +18,10 @@
}, },
"editor.formatOnPaste": true, "editor.formatOnPaste": true,
"editor.formatOnSave": true, "editor.formatOnSave": true,
"editor.defaultFormatter": "jnoortheen.nix-ide" "[nix]": {
"editor.defaultFormatter": "jnoortheen.nix-ide",
},
"[json]": {
"editor.defaultFormatter": "vscode.json-language-features"
}
} }

View File

@@ -1,5 +1,6 @@
{ {
lib, lib,
pkgs,
username, username,
host, host,
config, config,
@@ -18,6 +19,7 @@ in
enable = true; enable = true;
xwayland.enable = true; xwayland.enable = true;
systemd.enable = true; systemd.enable = true;
portalPackage = pkgs.xdg-desktop-portal-hyprland;
extraConfig = let extraConfig = let
modifier = "SUPER"; modifier = "SUPER";
in in
@@ -67,13 +69,14 @@ in
sensitivity = 0 # -1.0 - 1.0, 0 means no modification. sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
accel_profile = flat accel_profile = flat
} }
windowrule = noborder,^(wofi)$ windowrulev2 = noborder, class:^(wofi)$
windowrule = center,^(wofi)$ windowrulev2 = center, class:^(wofi)$
windowrule = center,^(steam)$ windowrulev2 = center, class:^(steam)$
windowrule = float, nm-connection-editor|blueman-manager windowrulev2 = float, class:^(nm-connection-editor|blueman-manager)$
windowrule = float, swayimg|vlc|Viewnior|pavucontrol windowrulev2 = float, class:^(swayimg|vlc|Viewnior|pavucontrol)$
windowrule = float, nwg-look|qt5ct|mpv windowrulev2 = float, class:^(nwg-look|qt5ct|mpv)$
windowrule = float, zoom windowrulev2 = float, class:^(zoom)$
windowrulev2 = float, class:^(galculator)$
windowrulev2 = stayfocused, title:^()$,class:^(steam)$ windowrulev2 = stayfocused, title:^()$,class:^(steam)$
windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$ windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$
windowrulev2 = opacity 1 0.7, class:^(librewolf)$ windowrulev2 = opacity 1 0.7, class:^(librewolf)$
@@ -85,6 +88,15 @@ in
windowrulev2 = opacity 0.9 0.7, class:^(chrome-ppepjbbmpdbanediafpgploonglppmlk-Default)$ windowrulev2 = opacity 0.9 0.7, class:^(chrome-ppepjbbmpdbanediafpgploonglppmlk-Default)$
windowrulev2 = opacity 0.9 0.7, class:^(tutanota-desktop)$ windowrulev2 = opacity 0.9 0.7, class:^(tutanota-desktop)$
windowrulev2 = opacity 0.9 0.7, class:^(discord)$ windowrulev2 = opacity 0.9 0.7, class:^(discord)$
windowrulev2 = opacity 0.9 0.7, class:^(ONLYOFFICE)$
windowrulev2 = opacity 0.9 0.7, class:^(net.lutris.Lutris)$
windowrulev2 = opacity 0.9 0.7, class:^(chrome-nibpilkookahlimkjopijpmhgllidlok-Default)$
windowrulev2 = opacity 0.9 0.7, class:^(Anki)$
windowrulev2 = opacity 0.9 0.7, class:^(galculator)$
windowrulev2 = opacity 0.9 0.7, class:^(chrome-mcpclnpikkcgnjfknenfalelmlaccfcj-Default)$
windowrulev2 = opacity 0.9 0.7, class:^(chrome-dbipeoijaciefjfbfdkpfncmlbfinpge-Default)$
windowrulev2 = opacity 0.9 0.7, class:^(Bitwarden)$
windowrulev2 = opacity 0.9 0.7, class:^(chrome-akpamiohjfcnimfljfndmaldlcfphjmp-Default)$
gestures { gestures {
workspace_swipe = true workspace_swipe = true
workspace_swipe_fingers = 3 workspace_swipe_fingers = 3
@@ -132,31 +144,18 @@ in
pseudotile = true pseudotile = true
preserve_split = true preserve_split = true
} }
bind = ${modifier},Return,exec,${terminal}
bind = ${modifier}SHIFT,Return,exec,rofi-launcher
bind = ${modifier}SHIFT,W,exec,web-search
bind = ${modifier},V,exec,codium
bind = ${modifier}ALT,W,exec,wallsetter
bind = ${modifier}SHIFT,N,exec,swaync-client -rs
bind = ${modifier},W,exec,${browser}
bind = ${modifier},E,exec,emopicker9000
bind = ${modifier},S,exec,screenshootin
bind = ${modifier}SHIFT,S,exec,slack
bind = ${modifier},D,exec,discord
bind = ${modifier},O,exec,obs
bind = ${modifier},C,exec,hyprpicker -a
bind = ${modifier},G,exec,gimp
bind = ${modifier}SHIFT,G,exec,godot4
bind = ${modifier},T,exec,thunar
bind = ${modifier}SHIFT,T,exec,tutanota-desktop
bind = ${modifier},M,exec,plexamp
bind = ${modifier}SHIFT,M,exec,chrome-bbdeiblfgdokhlblpgeaokenkfknecgl-Default
bind = ${modifier},Q,killactive, bind = ${modifier},Q,killactive,
bind = ${modifier},Escape,exit,
bind = ${modifier},P,pseudo, bind = ${modifier},P,pseudo,
bind = ${modifier}SHIFT,I,togglesplit, bind = ${modifier}SHIFT,I,togglesplit,
bind = ${modifier},F,fullscreen, bind = ${modifier},F,fullscreen,
bind = ${modifier}SHIFT,F,togglefloating, bind = ${modifier}SHIFT,F,togglefloating,
bind = ${modifier}SHIFT,C,exit, bind = ALT,Tab,cyclenext
bind = ALT,Tab,bringactivetotop
bind = ${modifier},left,movefocus,l
bind = ${modifier},right,movefocus,r
bind = ${modifier},up,movefocus,u
bind = ${modifier},down,movefocus,d
bind = ${modifier}SHIFT,left,movewindow,l bind = ${modifier}SHIFT,left,movewindow,l
bind = ${modifier}SHIFT,right,movewindow,r bind = ${modifier}SHIFT,right,movewindow,r
bind = ${modifier}SHIFT,up,movewindow,u bind = ${modifier}SHIFT,up,movewindow,u
@@ -165,14 +164,6 @@ in
bind = ${modifier}SHIFT,l,movewindow,r bind = ${modifier}SHIFT,l,movewindow,r
bind = ${modifier}SHIFT,k,movewindow,u bind = ${modifier}SHIFT,k,movewindow,u
bind = ${modifier}SHIFT,j,movewindow,d bind = ${modifier}SHIFT,j,movewindow,d
bind = ${modifier},left,movefocus,l
bind = ${modifier},right,movefocus,r
bind = ${modifier},up,movefocus,u
bind = ${modifier},down,movefocus,d
bind = ${modifier},h,movefocus,l
bind = ${modifier},l,movefocus,r
bind = ${modifier},k,movefocus,u
bind = ${modifier},j,movefocus,d
bind = ${modifier},1,workspace,1 bind = ${modifier},1,workspace,1
bind = ${modifier},2,workspace,2 bind = ${modifier},2,workspace,2
bind = ${modifier},3,workspace,3 bind = ${modifier},3,workspace,3
@@ -183,8 +174,6 @@ in
bind = ${modifier},8,workspace,8 bind = ${modifier},8,workspace,8
bind = ${modifier},9,workspace,9 bind = ${modifier},9,workspace,9
bind = ${modifier},0,workspace,10 bind = ${modifier},0,workspace,10
bind = ${modifier}SHIFT,SPACE,movetoworkspace,special
bind = ${modifier},SPACE,togglespecialworkspace
bind = ${modifier}SHIFT,1,movetoworkspace,1 bind = ${modifier}SHIFT,1,movetoworkspace,1
bind = ${modifier}SHIFT,2,movetoworkspace,2 bind = ${modifier}SHIFT,2,movetoworkspace,2
bind = ${modifier}SHIFT,3,movetoworkspace,3 bind = ${modifier}SHIFT,3,movetoworkspace,3
@@ -201,8 +190,42 @@ in
bind = ${modifier},mouse_up,workspace, e-1 bind = ${modifier},mouse_up,workspace, e-1
bindm = ${modifier},mouse:272,movewindow bindm = ${modifier},mouse:272,movewindow
bindm = ${modifier},mouse:273,resizewindow bindm = ${modifier},mouse:273,resizewindow
bind = ALT,Tab,cyclenext bind = ${modifier}SHIFT,SPACE,movetoworkspace,special
bind = ALT,Tab,bringactivetotop bind = ${modifier},SPACE,togglespecialworkspace
bind = ${modifier},Return,exec,${terminal}
bind = ${modifier}SHIFT,Return,exec,rofi-launcher
bind = ${modifier}ALT,W,exec,wallsetter
bind = ${modifier}SHIFT,S,exec,screenshootin
bind = ${modifier},E,exec,emopicker9000
bind = ${modifier}SHIFT,P,exec,hyprpicker -a
bind = ${modifier}SHIFT,W,exec,web-search
bind = ${modifier}SHIFT,K,exec,galculator
bind = ${modifier},B,exec,NeoHtop
bind = ${modifier}SHIFT,B,exec,blueman-manager
bind = ${modifier},T,exec,thunar
bind = ${modifier},W,exec,${browser}
bind = ${modifier},S,exec,slack
bind = ${modifier},D,exec,discord
bind = ${modifier},C,exec,chromium
bind = ${modifier}SHIFT,C,exec,dex-claude
bind = ${modifier}SHIFT,G,exec,dex-chatgpt
bind = ${modifier}SHIFT,M,exec,dex-messenger
bind = ${modifier}SHIFT,T,exec,tutanota-desktop
bind = ${modifier},I,exec,dex-instagram
bind = ${modifier},R,exec,dex-portainer
bind = ${modifier},U,exec,dex-mastodon
bind = ${modifier},Y,exec,freetube
bind = ${modifier}SHIFT,Y,exec,dex-dailydev
bind = ${modifier},V,exec,codium
bind = ${modifier},O,exec,onlyoffice-desktopeditors
bind = ${modifier}SHIFT,O,exec,obs
bind = ${modifier},G,exec,gimp3
bind = ${modifier},N,exec,dex-nextcloud
bind = ${modifier}SHIFT,N,exec,nextcloud
bind = ${modifier},L,exec,lutris
bind = ${modifier},A,exec,anki
bind = ${modifier},M,exec,plexamp
bind = ${modifier},Z,exec,dex-beszel
bind = ,XF86AudioRaiseVolume,exec,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+ bind = ,XF86AudioRaiseVolume,exec,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+
bind = ,XF86AudioLowerVolume,exec,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- bind = ,XF86AudioLowerVolume,exec,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-
binde = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle binde = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle

292
flake.lock generated
View File

@@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739098586, "lastModified": 1752998173,
"narHash": "sha256-08FW+tVGWQKdiPZqXk6FO1JNB/Zybi7IYSWSGpp8V0Y=", "narHash": "sha256-ZlYpBp2WOe03UrpjJGz5KTOL/pp7A452hJO/Vc8C4/0=",
"owner": "AdnanHodzic", "owner": "AdnanHodzic",
"repo": "auto-cpufreq", "repo": "auto-cpufreq",
"rev": "e6bbd2c8335a33f25a3fcb3bd2376e790f460ba2", "rev": "562278377ffa96f3c1af49c7b499df028ce8d8bd",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -25,11 +25,11 @@
"fromYaml": "fromYaml" "fromYaml": "fromYaml"
}, },
"locked": { "locked": {
"lastModified": 1732200724, "lastModified": 1746562888,
"narHash": "sha256-+R1BH5wHhfnycySb7Sy5KbYEaTJZWm1h+LW1OtyhiTs=", "narHash": "sha256-YgNJQyB5dQiwavdDFBMNKk1wyS77AtdgDk/VtU6wEaI=",
"owner": "SenchoPens", "owner": "SenchoPens",
"repo": "base16.nix", "repo": "base16.nix",
"rev": "153d52373b0fb2d343592871009a286ec8837aec", "rev": "806a1777a5db2a1ef9d5d6f493ef2381047f2b89",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -57,11 +57,11 @@
"base16-helix": { "base16-helix": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1736852337, "lastModified": 1752979451,
"narHash": "sha256-esD42YdgLlEh7koBrSqcT7p2fsMctPAcGl/+2sYJa2o=", "narHash": "sha256-0CQM+FkYy0fOO/sMGhOoNL80ftsAzYCg9VhIrodqusM=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "base16-helix", "repo": "base16-helix",
"rev": "03860521c40b0b9c04818f2218d9cc9efc21e7a5", "rev": "27cf1e66e50abc622fb76a3019012dc07c678fac",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -87,56 +87,62 @@
"type": "github" "type": "github"
} }
}, },
"firefox-gnome-theme": { "firefox-addons": {
"flake": false,
"locked": {
"lastModified": 1736899990,
"narHash": "sha256-S79Hqn2EtSxU4kp99t8tRschSifWD4p/51++0xNWUxw=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "91ca1f82d717b02ceb03a3f423cbe8082ebbb26d",
"type": "github"
},
"original": {
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1733328505,
"narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"inputs": { "inputs": {
"systems": [ "nixpkgs": [
"stylix", "nixpkgs"
"systems"
] ]
}, },
"locked": { "locked": {
"lastModified": 1731533236, "dir": "pkgs/firefox-addons",
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "lastModified": 1754512310,
"owner": "numtide", "narHash": "sha256-gXE5lTYMOhpDJo+siLXW/3BzySPmLMD12GVB1QFVbyw=",
"repo": "flake-utils", "owner": "rycee",
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "repo": "nur-expressions",
"rev": "2008f9aa7a5ccde48bfc1de5a919be5898da09c2",
"type": "gitlab"
},
"original": {
"dir": "pkgs/firefox-addons",
"owner": "rycee",
"repo": "nur-expressions",
"type": "gitlab"
}
},
"firefox-gnome-theme": {
"flake": false,
"locked": {
"lastModified": 1748383148,
"narHash": "sha256-pGvD/RGuuPf/4oogsfeRaeMm6ipUIznI2QSILKjKzeA=",
"owner": "rafaelmardojai",
"repo": "firefox-gnome-theme",
"rev": "4eb2714fbed2b80e234312611a947d6cb7d70caf",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "numtide", "owner": "rafaelmardojai",
"repo": "flake-utils", "repo": "firefox-gnome-theme",
"type": "github"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1751413152,
"narHash": "sha256-Tyw1RjYEsp5scoigs1384gIg6e0GoBVjms4aXFfRssQ=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "77826244401ea9de6e3bac47c2db46005e1f30b5",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github" "type": "github"
} }
}, },
@@ -156,67 +162,19 @@
"type": "github" "type": "github"
} }
}, },
"git-hooks": {
"inputs": {
"flake-compat": [
"stylix",
"flake-compat"
],
"gitignore": "gitignore",
"nixpkgs": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1735882644,
"narHash": "sha256-3FZAG+pGt3OElQjesCAWeMkQ7C/nB1oTHLRQ8ceP110=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "a5a961387e75ae44cc20f0a57ae463da5e959656",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"stylix",
"git-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"gnome-shell": { "gnome-shell": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1732369855, "lastModified": 1748186689,
"narHash": "sha256-JhUWbcYPjHO3Xs3x9/Z9RuqXbcp5yhPluGjwsdE2GMg=", "narHash": "sha256-UaD7Y9f8iuLBMGHXeJlRu6U1Ggw5B9JnkFs3enZlap0=",
"owner": "GNOME", "owner": "GNOME",
"repo": "gnome-shell", "repo": "gnome-shell",
"rev": "dadd58f630eeea41d645ee225a63f719390829dc", "rev": "8c88f917db0f1f0d80fa55206c863d3746fa18d0",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "GNOME", "owner": "GNOME",
"ref": "47.2", "ref": "48.2",
"repo": "gnome-shell", "repo": "gnome-shell",
"type": "github" "type": "github"
} }
@@ -228,11 +186,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1739287084, "lastModified": 1754924470,
"narHash": "sha256-CtRNJsqsXIArJV+AKWZVBMO8PD1FQB69br+WMtTJEgI=", "narHash": "sha256-asI/or9AcUMydwzodCgpHGytnMSNUlciw3uaycpXm4E=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "8f351726c5841d86854e7fa6003ea472352f5208", "rev": "67393957c27b4e4c6c48a60108a201413ced7800",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -242,13 +200,29 @@
"type": "github" "type": "github"
} }
}, },
"libnbtplusplus": {
"flake": false,
"locked": {
"lastModified": 1699286814,
"narHash": "sha256-yy0q+bky80LtK1GWzz7qpM+aAGrOqLuewbid8WT1ilk=",
"owner": "PrismLauncher",
"repo": "libnbtplusplus",
"rev": "23b955121b8217c1c348a9ed2483167a6f3ff4ad",
"type": "github"
},
"original": {
"owner": "PrismLauncher",
"repo": "libnbtplusplus",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1739020877, "lastModified": 1754725699,
"narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=", "narHash": "sha256-iAcj9T/Y+3DBy2J0N+yF9XQQQ8IEb5swLFzs23CdP88=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "a79cfe0ebd24952b580b1cf08cd906354996d547", "rev": "85dbfc7aaf52ecb755f87e577ddbe6dbbdbc1054",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -258,11 +232,59 @@
"type": "github" "type": "github"
} }
}, },
"nur": {
"inputs": {
"flake-parts": [
"stylix",
"flake-parts"
],
"nixpkgs": [
"stylix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1751906969,
"narHash": "sha256-BSQAOdPnzdpOuCdAGSJmefSDlqmStFNScEnrWzSqKPw=",
"owner": "nix-community",
"repo": "NUR",
"rev": "ddb679f4131e819efe3bbc6457ba19d7ad116f25",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"prismlauncher-cracked": {
"inputs": {
"libnbtplusplus": "libnbtplusplus",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1747683146,
"narHash": "sha256-zZS//xyNYQHvD4fUMoWx86uVUwPk+p5FjZLTTu0pelQ=",
"owner": "Diegiwg",
"repo": "PrismLauncher-Cracked",
"rev": "0612187254ef41a1087f3107e927e0dd59c9b29d",
"type": "github"
},
"original": {
"owner": "Diegiwg",
"repo": "PrismLauncher-Cracked",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"auto-cpufreq": "auto-cpufreq", "auto-cpufreq": "auto-cpufreq",
"firefox-addons": "firefox-addons",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
"prismlauncher-cracked": "prismlauncher-cracked",
"stylix": "stylix" "stylix": "stylix"
} }
}, },
@@ -273,28 +295,25 @@
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"firefox-gnome-theme": "firefox-gnome-theme", "firefox-gnome-theme": "firefox-gnome-theme",
"flake-compat": "flake-compat", "flake-parts": "flake-parts",
"flake-utils": "flake-utils",
"git-hooks": "git-hooks",
"gnome-shell": "gnome-shell", "gnome-shell": "gnome-shell",
"home-manager": [
"home-manager"
],
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nur": "nur",
"systems": "systems", "systems": "systems",
"tinted-foot": "tinted-foot", "tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty", "tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux", "tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed" "tinted-zed": "tinted-zed"
}, },
"locked": { "locked": {
"lastModified": 1739215427, "lastModified": 1754851076,
"narHash": "sha256-1yIsiPwwxXal7+wkWogjPhsM5BjRlK61lAHQtlX8s04=", "narHash": "sha256-k3+/24lN6E9BFRhryHocm7314t0Wtku0hgIdEWi15XI=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "4af2686c1c62176d0ce28c4d55e813ae5ed52b6f", "rev": "afcfed6fd2a51615cd63aa7fa7608d670e7b61e5",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -338,28 +357,43 @@
"tinted-kitty": { "tinted-kitty": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1716423189, "lastModified": 1735730497,
"narHash": "sha256-2xF3sH7UIwegn+2gKzMpFi3pk5DlIlM18+vj17Uf82U=", "narHash": "sha256-4KtB+FiUzIeK/4aHCKce3V9HwRvYaxX+F1edUrfgzb8=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-kitty", "repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8", "rev": "de6f888497f2c6b2279361bfc790f164bfd0f3fa",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-kitty", "repo": "tinted-kitty",
"rev": "eb39e141db14baef052893285df9f266df041ff8", "type": "github"
}
},
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1750770351,
"narHash": "sha256-LI+BnRoFNRa2ffbe3dcuIRYAUcGklBx0+EcFxlHj0SY=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "5a775c6ffd6e6125947b393872cde95867d85a2a",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "schemes",
"type": "github" "type": "github"
} }
}, },
"tinted-tmux": { "tinted-tmux": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1735737224, "lastModified": 1751159871,
"narHash": "sha256-FO2hRBkZsjlIRqzNHCPc/52yxg11kHGA8MEtSun9RwE=", "narHash": "sha256-UOHBN1fgHIEzvPmdNMHaDvdRMgLmEJh2hNmDrp3d3LE=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "tinted-tmux", "repo": "tinted-tmux",
"rev": "aead506a9930c717ebf81cc83a2126e9ca08fa64", "rev": "bded5e24407cec9d01bd47a317d15b9223a1546c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -371,11 +405,11 @@
"tinted-zed": { "tinted-zed": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1725758778, "lastModified": 1751158968,
"narHash": "sha256-8P1b6mJWyYcu36WRlSVbuj575QWIFZALZMTg5ID/sM4=", "narHash": "sha256-ksOyv7D3SRRtebpXxgpG4TK8gZSKFc4TIZpR+C98jX8=",
"owner": "tinted-theming", "owner": "tinted-theming",
"repo": "base16-zed", "repo": "base16-zed",
"rev": "122c9e5c0e6f27211361a04fae92df97940eccf9", "rev": "86a470d94204f7652b906ab0d378e4231a5b3384",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -11,13 +11,21 @@
url = "github:danth/stylix"; url = "github:danth/stylix";
inputs = { inputs = {
nixpkgs.follows = "nixpkgs"; nixpkgs.follows = "nixpkgs";
home-manager.follows = "home-manager"; # home-manager.follows = "home-manager";
}; };
}; };
auto-cpufreq = { auto-cpufreq = {
url = "github:AdnanHodzic/auto-cpufreq"; url = "github:AdnanHodzic/auto-cpufreq";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
firefox-addons = {
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
inputs.nixpkgs.follows = "nixpkgs";
};
prismlauncher-cracked = {
url = "github:Diegiwg/PrismLauncher-Cracked";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = { outputs = {
@@ -25,7 +33,7 @@
home-manager, home-manager,
... ...
} @ inputs: let } @ inputs: let
system = "aarch64-linux"; system = "x86_64-linux";
host = "garand-laptop"; host = "garand-laptop";
username = "garand_plg"; username = "garand_plg";
in { in {
@@ -44,11 +52,12 @@
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager.extraSpecialArgs = { home-manager.extraSpecialArgs = {
inherit username; inherit system;
inherit inputs; inherit inputs;
inherit username;
inherit host; inherit host;
}; };
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = false;
home-manager.useUserPackages = true; home-manager.useUserPackages = true;
home-manager.backupFileExtension = "backup"; home-manager.backupFileExtension = "backup";
home-manager.users.${username} = import ./hosts/${host}/home.nix; home-manager.users.${username} = import ./hosts/${host}/home.nix;

View File

@@ -1,17 +1,29 @@
{ {...}: {
inputs,
config,
pkgs,
host,
username,
options,
...
}: let
inherit (import ./variables.nix) keyboardLayout;
in {
imports = [ imports = [
./hardware.nix ./hardware.nix
./users.nix ./users.nix
./config/boot.nix
./config/drivers.nix
./config/hardware.nix
./config/localization.nix
./config/networking.nix
./config/nixpkgs.nix
./config/nixpkgs/clients.nix
./config/nixpkgs/codium.nix
./config/nixpkgs/fundamentals.nix
./config/nixpkgs/gaming.nix
./config/nixpkgs/multimedia.nix
./config/nixpkgs/tools.nix
./config/nixpkgs/tty.nix
./config/programs.nix
./config/security.nix
./config/services.nix
./config/stylix.nix
./config/virtualization.nix
../../modules/amd-drivers.nix ../../modules/amd-drivers.nix
../../modules/nvidia-drivers.nix ../../modules/nvidia-drivers.nix
../../modules/nvidia-prime-drivers.nix ../../modules/nvidia-prime-drivers.nix
@@ -20,564 +32,6 @@ in {
../../modules/local-hardware-clock.nix ../../modules/local-hardware-clock.nix
]; ];
boot = {
# Kernel
kernelPackages = pkgs.linuxPackages_zen;
# This is for OBS Virtual Cam Support
kernelModules = ["v4l2loopback"];
extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
# Needed For Some Steam Games
kernel.sysctl = {
"vm.max_map_count" = 2147483642;
};
# Bootloader.
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
# Make /tmp a tmpfs
tmp = {
useTmpfs = false;
tmpfsSize = "30%";
};
# Appimage Support
binfmt.registrations.appimage = {
wrapInterpreterInShell = false;
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
recognitionType = "magic";
offset = 0;
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
magicOrExtension = ''\x7fELF....AI\x02'';
};
plymouth.enable = true;
};
# Styling Options
stylix = {
enable = true;
image = ../../config/wallpapers/attack-on-titan-mikasa-ackerman.jpg;
# base16Scheme = {
# base00 = "232136";
# base01 = "2a273f";
# base02 = "393552";
# base03 = "6e6a86";
# base04 = "908caa";
# base05 = "e0def4";
# base06 = "e0def4";
# base07 = "56526e";
# base08 = "eb6f92";
# base09 = "f6c177";
# base0A = "ea9a97";
# base0B = "3e8fb0";
# base0C = "9ccfd8";
# base0D = "c4a7e7";
# base0E = "f6c177";
# base0F = "56526e";
# };
polarity = "dark";
opacity.terminal = 0.8;
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 24;
};
fonts = {
monospace = {
package = pkgs.nerd-fonts.fira-mono;
name = "FiraCode Nerd Fonts Mono";
};
sansSerif = {
package = pkgs.nerd-fonts.fira-code;
name = "FiraCode Nerd Fonts";
};
serif = {
package = pkgs.nerd-fonts.fira-code;
name = "FiraCode Nerd Fonts";
};
sizes = {
applications = 12;
terminal = 15;
desktop = 11;
popups = 12;
};
};
};
# Extra Module Options
drivers = {
amdgpu.enable = true;
nvidia.enable = false;
nvidia-prime = {
enable = false;
intelBusID = "";
nvidiaBusID = "";
};
intel.enable = false;
};
vm.guest-services.enable = false;
local.hardware-clock.enable = false;
# Enable networking
networking = {
nameservers = ["176.9.1.117" "213.196.191.96" "2a01:4f8:151:34aa::198"];
networkmanager.enable = true;
hostName = host;
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
};
# Set your time zone.
time.timeZone = "Europe/Warsaw";
i18n = {
defaultLocale = "pl_PL.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "pl_PL.UTF-8";
LC_IDENTIFICATION = "pl_PL.UTF-8";
LC_MEASUREMENT = "pl_PL.UTF-8";
LC_MONETARY = "pl_PL.UTF-8";
LC_NAME = "pl_PL.UTF-8";
LC_NUMERIC = "pl_PL.UTF-8";
LC_PAPER = "pl_PL.UTF-8";
LC_TELEPHONE = "pl_PL.UTF-8";
LC_TIME = "pl_PL.UTF-8";
};
};
programs = {
firefox.enable = false;
starship = {
enable = true;
settings = {
add_newline = false;
buf = {
symbol = " ";
};
c = {
symbol = " ";
};
directory = {
read_only = " 󰌾";
};
docker_context = {
symbol = " ";
};
fossil_branch = {
symbol = " ";
};
git_branch = {
symbol = " ";
};
golang = {
symbol = " ";
};
hg_branch = {
symbol = " ";
};
hostname = {
ssh_symbol = " ";
};
lua = {
symbol = " ";
};
memory_usage = {
symbol = "󰍛 ";
};
meson = {
symbol = "󰔷 ";
};
nim = {
symbol = "󰆥 ";
};
nix_shell = {
symbol = " ";
};
nodejs = {
symbol = " ";
};
ocaml = {
symbol = " ";
};
package = {
symbol = "󰏗 ";
};
python = {
symbol = " ";
};
rust = {
symbol = " ";
};
swift = {
symbol = " ";
};
zig = {
symbol = " ";
};
};
};
dconf.enable = true;
seahorse.enable = true;
fuse.userAllowOther = true;
mtr.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
virt-manager.enable = true;
steam = {
enable = true;
gamescopeSession.enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
auto-cpufreq = {
enable = true;
settings = {
charger = {
governor = "performance";
turbo = "auto";
};
battery = {
governor = "powersave";
turbo = "auto";
};
};
};
thunar = {
enable = true;
plugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
];
};
};
nixpkgs.config = {
allowUnfree = true;
pulseaudio = true;
};
users = {
mutableUsers = true;
};
environment.systemPackages = with pkgs; [
wget
killall
eza
git
cmatrix
lolcat
libvirt
lxqt.lxqt-policykit
lm_sensors
unzip
unrar
libnotify
v4l-utils
ydotool
duf
ncdu
wl-clipboard
pciutils
ffmpeg
socat
cowsay
ripgrep
lshw
bat
pkg-config
meson
hyprpicker
ninja
brightnessctl
virt-viewer
swappy
appimage-run
networkmanagerapplet
yad
inxi
playerctl
nh
nixfmt-rfc-style
discord
libvirt
swww
grim
slurp
file-roller
swaynotificationcenter
imv
mpv
gimp
pavucontrol
tree
greetd.tuigreet
librewolf
protonup
plex-media-player
plexamp
bitwarden-desktop
vlc
nixd
ungoogled-chromium
slack
alejandra
tutanota-desktop
ookla-speedtest
anydesk
bun
docker
docker-compose
docker-slim
sl
nodejs
kdePackages.kdenlive
obs-studio
thefuck
cifs-utils
libreoffice
bastet
nsnake
exiftool
(vscode-with-extensions.override {
vscode = vscodium;
vscodeExtensions = with vscode-extensions;
[]
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
# {
# name = "[nazwa rozszerzenia]";
# publisher = "[autor]";
# version = "[wersja]";
# hash = "[hash. przebuduj system bez odkomentowania tej opcji, a poda ci poprawny hash]";
# }
];
})
];
fonts = {
packages = with pkgs; [
noto-fonts-emoji
noto-fonts-cjk-sans
font-awesome
# Commenting Symbola out to fix install this will need to be fixed or an alternative found.
# symbola
material-icons
];
};
environment.variables = {
ZANEYOS_VERSION = "2.2";
ZANEYOS = "true";
};
# Extra Portal Configuration
xdg.portal = {
enable = true;
wlr.enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal
];
configPackages = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
pkgs.xdg-desktop-portal
];
};
# Services to start
services = {
xserver = {
enable = false;
xkb = {
layout = "${keyboardLayout}";
variant = "";
};
};
resolved = {
enable = true;
dnssec = "true";
domains = ["~."]; # "use as default interface for all requests"
# (see man resolved.conf)
# let Avahi handle mDNS publication
extraConfig = ''
DNSOverTLS=opportunistic
MulticastDNS=resolve
'';
llmnr = "true";
};
greetd = {
enable = true;
vt = 3;
settings = {
default_session = {
# Wayland Desktop Manager is installed only for user ryan via home-manager!
user = username;
# .wayland-session is a script generated by home-manager, which links to the current wayland compositor(sway/hyprland or others).
# with such a vendor-no-locking script, we can switch to another wayland compositor without modifying greetd's config here.
# command = "$HOME/.wayland-session"; # start a wayland session directly without a login manager
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
};
};
};
smartd = {
enable = false;
autodetect = true;
};
libinput.enable = true;
fstrim.enable = true;
gvfs.enable = true;
openssh.enable = true;
flatpak.enable = false;
printing = {
enable = true;
drivers = [
# pkgs.hplipWithPlugin
];
};
# auto-cpufreq.enable = true;
gnome.gnome-keyring.enable = true;
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
ipp-usb.enable = true;
syncthing = {
enable = false;
user = "${username}";
dataDir = "/home/${username}";
configDir = "/home/${username}/.config/syncthing";
};
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
pulseaudio = {
enable = false;
extraConfig = "load-module module-combine-sink";
};
rpcbind.enable = false;
nfs.server.enable = false;
};
systemd.services.flatpak-repo = {
path = [pkgs.flatpak];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
};
hardware = {
sane = {
enable = true;
extraBackends = [pkgs.sane-airscan];
disabledDefaultBackends = ["escl"];
};
logitech = {
wireless = {
enable = false;
enableGraphical = false;
};
};
bluetooth = {
enable = true;
powerOnBoot = true;
};
graphics = {
enable = true;
enable32Bit = true;
};
};
services.blueman.enable = true;
# Security / Polkit
security = {
rtkit.enable = true;
polkit = {
enable = true;
extraConfig = ''
polkit.addRule(function(action, subject) {
if (
subject.isInGroup("users")
&& (
action.id == "org.freedesktop.login1.reboot" ||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
action.id == "org.freedesktop.login1.power-off" ||
action.id == "org.freedesktop.login1.power-off-multiple-sessions"
)
)
{
return polkit.Result.YES;
}
})
'';
};
pam.services.swaylock = {
text = ''
auth include login
'';
};
sudo = {
enable = true;
extraConfig = ''
Defaults pwfeedback
'';
};
};
# Optimization settings and garbage collection automation
nix = {
settings = {
auto-optimise-store = true;
experimental-features = [
"nix-command"
"flakes"
];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
};
# Virtualization / Containers
virtualisation = {
libvirtd.enable = true;
docker = {
enable = true;
package = pkgs.docker;
};
# podman = {
# enable = true;
# dockerCompat = true;
# defaultNetwork.settings.dns_enabled = true;
# };
};
# services.openvpn.servers = {
# RO-P2P = {
# config = ''
# config /home/garand_plg/Documents/RO-ovpn-tcp.ovpn
# '';
# updateResolvConf = true;
# };
# };
console.keyMap = "${keyboardLayout}";
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave # on your system were taken. Its perfectly fine and recommended to leave

View File

@@ -0,0 +1,38 @@
{
config,
pkgs,
...
}: {
boot = {
# Kernel
kernelPackages = pkgs.linuxPackages_zen;
# This is for OBS Virtual Cam Support
kernelModules = ["v4l2loopback"];
extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
# Needed For Some Steam Games
kernel.sysctl = {
"vm.max_map_count" = 2147483642;
};
# Bootloader.
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
initrd.systemd.dbus.enable = true;
# Make /tmp a tmpfs
tmp = {
useTmpfs = false;
tmpfsSize = "30%";
};
# Appimage Support
binfmt.registrations.appimage = {
wrapInterpreterInShell = false;
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
recognitionType = "magic";
offset = 0;
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
magicOrExtension = ''\x7fELF....AI\x02'';
};
plymouth.enable = true;
};
}

View File

@@ -0,0 +1,15 @@
{...}: {
# Extra Module Options
drivers = {
amdgpu.enable = true;
nvidia.enable = false;
nvidia-prime = {
enable = false;
intelBusID = "";
nvidiaBusID = "";
};
intel.enable = false;
};
vm.guest-services.enable = false;
local.hardware-clock.enable = false;
}

View File

@@ -0,0 +1,23 @@
{pkgs, ...}: {
hardware = {
sane = {
enable = true;
extraBackends = [pkgs.sane-airscan];
disabledDefaultBackends = ["escl"];
};
logitech = {
wireless = {
enable = false;
enableGraphical = false;
};
};
bluetooth = {
enable = true;
powerOnBoot = true;
};
graphics = {
enable = true;
enable32Bit = true;
};
};
}

View File

@@ -0,0 +1,19 @@
{...}: {
# Set your time zone.
time.timeZone = "Europe/Warsaw";
i18n = {
defaultLocale = "pl_PL.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "pl_PL.UTF-8";
LC_IDENTIFICATION = "pl_PL.UTF-8";
LC_MEASUREMENT = "pl_PL.UTF-8";
LC_MONETARY = "pl_PL.UTF-8";
LC_NAME = "pl_PL.UTF-8";
LC_NUMERIC = "pl_PL.UTF-8";
LC_PAPER = "pl_PL.UTF-8";
LC_TELEPHONE = "pl_PL.UTF-8";
LC_TIME = "pl_PL.UTF-8";
};
};
}

View File

@@ -0,0 +1,19 @@
{
host,
options,
...
}: {
# Enable networking
networking = {
nameservers = ["194.242.2.4" "217.12.221.61" "2a07:e340::4"];
networkmanager.enable = true;
hostName = host;
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
};
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
}

View File

@@ -0,0 +1,59 @@
{
inputs,
pkgs,
...
}: {
# Optimization settings and garbage collection automation
nix = {
settings = {
auto-optimise-store = true;
experimental-features = [
"nix-command"
"flakes"
];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
};
nixpkgs.config = {
allowUnfree = true;
pulseaudio = true;
};
# Extra Portal Configuration
xdg.portal = {
enable = true;
xdgOpenUsePortal = true;
wlr.enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
config = {
common = {
default = [
"gtk"
"hyprland"
];
};
};
configPackages = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
};
environment = {
variables = {
ZANEYOS_VERSION = "2.2";
ZANEYOS = "true";
};
};
}

View File

@@ -0,0 +1,18 @@
# Klienty
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
# rustdesk
nextcloud-client
plexamp
bitwarden-desktop
tutanota-desktop
discord
slack
ungoogled-chromium
docker-client
anki-bin
onlyoffice-bin
freetube
mattermost-desktop
];
}

View File

@@ -0,0 +1,14 @@
{pkgs, ...}: {
environment = {
systemPackages = with pkgs; [
(vscode-with-extensions.override {
vscode = vscodium;
vscodeExtensions = with vscode-extensions;
[
]
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
];
})
];
};
}

View File

@@ -0,0 +1,40 @@
# Fundamentalne programy dla systemu
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
wget
killall
eza
git
libnotify
v4l-utils
ydotool
duf
ncdu
wl-clipboard
pciutils
ffmpeg
socat
ripgrep
lshw
bat
pkg-config
meson
ninja
brightnessctl
swappy
appimage-run
networkmanagerapplet
yad
inxi
playerctl
nh
nixfmt-rfc-style
file-roller
tree
nixd
alejandra
docker
docker-compose
cifs-utils
];
}

View File

@@ -0,0 +1,14 @@
# Narzędzia do gier
{
pkgs,
inputs,
system,
...
}: {
environment.systemPackages = with pkgs; [
wineWowPackages.waylandFull # wine64
lutris
space-cadet-pinball
inputs.prismlauncher-cracked.packages.${system}.default
];
}

View File

@@ -0,0 +1,16 @@
# Programy multimedialne
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
swww
grim
slurp
swaynotificationcenter
imv
mpv
gimp
pavucontrol
vlc
kdePackages.kdenlive
obs-studio
];
}

View File

@@ -0,0 +1,18 @@
# Narzędzia systemowe
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
lm_sensors
unzip
unrar
hyprpicker
virt-viewer
libvirt
greetd.tuigreet
galculator
lazydocker
# lazygit
docker-slim
dex
exercism
];
}

View File

@@ -0,0 +1,14 @@
# Aplikacje terminalowe
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
gambit-chess
tty-solitaire
cmatrix
cowsay
sl
fortune
ookla-speedtest
neohtop
toot
];
}

View File

@@ -0,0 +1,123 @@
{pkgs, ...}: {
programs = {
starship = {
enable = true;
settings = {
add_newline = false;
buf = {
symbol = " ";
};
c = {
symbol = " ";
};
directory = {
read_only = " 󰌾";
};
docker_context = {
symbol = " ";
};
fossil_branch = {
symbol = " ";
};
git_branch = {
symbol = " ";
};
golang = {
symbol = " ";
};
hg_branch = {
symbol = " ";
};
hostname = {
ssh_symbol = " ";
};
lua = {
symbol = " ";
};
memory_usage = {
symbol = "󰍛 ";
};
meson = {
symbol = "󰔷 ";
};
nim = {
symbol = "󰆥 ";
};
nix_shell = {
symbol = " ";
};
nodejs = {
symbol = " ";
};
ocaml = {
symbol = " ";
};
package = {
symbol = "󰏗 ";
};
python = {
symbol = " ";
};
rust = {
symbol = " ";
};
swift = {
symbol = " ";
};
zig = {
symbol = " ";
};
};
};
hyprland = {
enable = true;
withUWSM = true;
portalPackage = pkgs.xdg-desktop-portal-hyprland;
};
dconf.enable = true;
seahorse.enable = true;
fuse.userAllowOther = true;
mtr.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
virt-manager.enable = true;
steam = {
enable = true;
gamescopeSession.enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
extraCompatPackages = with pkgs; [
proton-ge-bin
];
};
gamescope = {
enable = true;
capSysNice = true;
};
gamemode.enable = true;
auto-cpufreq = {
enable = true;
settings = {
charger = {
governor = "performance";
turbo = "auto";
};
battery = {
governor = "powersave";
turbo = "auto";
};
};
};
thunar = {
enable = true;
plugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
];
};
kdeconnect.enable = true;
};
}

View File

@@ -0,0 +1,40 @@
{...}: {
# Security / Polkit
security = {
rtkit.enable = true;
polkit = {
enable = true;
extraConfig = ''
polkit.addRule(function(action, subject) {
if (
subject.isInGroup("users")
&& (
action.id == "org.freedesktop.login1.reboot" ||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
action.id == "org.freedesktop.login1.power-off" ||
action.id == "org.freedesktop.login1.power-off-multiple-sessions"
)
)
{
return polkit.Result.YES;
}
})
'';
};
pam.services.swaylock = {
text = ''
auth include login
'';
};
sudo = {
enable = true;
extraConfig = ''
Defaults pwfeedback
'';
};
};
users = {
mutableUsers = true;
};
}

View File

@@ -0,0 +1,106 @@
{
pkgs,
username,
...
}: let
inherit (import ../variables.nix) keyboardLayout;
in {
# Services to start
services = {
blueman.enable = true;
xserver = {
enable = false;
xkb = {
layout = "${keyboardLayout}";
variant = "";
};
};
resolved = {
enable = true;
dnssec = "true";
domains = ["~."]; # "use as default interface for all requests"
# (see man resolved.conf)
# let Avahi handle mDNS publication
extraConfig = ''
DNSOverTLS=opportunistic
MulticastDNS=resolve
'';
llmnr = "true";
};
greetd = {
enable = true;
settings = {
default_session = {
# Wayland Desktop Manager is installed only for user ryan via home-manager!
user = username;
# .wayland-session is a script generated by home-manager, which links to the current wayland compositor(sway/hyprland or others).
# with such a vendor-no-locking script, we can switch to another wayland compositor without modifying greetd's config here.
# command = "$HOME/.wayland-session"; # start a wayland session directly without a login manager
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
};
};
};
smartd = {
enable = false;
autodetect = true;
};
libinput = {
enable = true;
mouse = {
accelProfile = "flat";
};
touchpad = {
accelProfile = "flat";
};
};
fstrim.enable = true;
gvfs.enable = true;
tumbler.enable = true;
openssh.enable = true;
flatpak.enable = false;
printing = {
enable = true;
# drivers = with pkgs; [
# # hplipWithPlugin
# ];
};
gnome = {
evolution-data-server.enable = true;
gnome-online-accounts.enable = true;
gnome-keyring.enable = true;
};
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
ipp-usb.enable = true;
syncthing = {
enable = false;
user = "${username}";
dataDir = "/home/${username}";
configDir = "/home/${username}/.config/syncthing";
};
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
pulseaudio = {
enable = false;
extraConfig = "load-module module-combine-sink";
};
rpcbind.enable = false;
nfs.server.enable = false;
};
console.keyMap = "${keyboardLayout}";
systemd.services.flatpak-repo = {
path = [pkgs.flatpak];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
};
}

View File

@@ -0,0 +1,63 @@
{pkgs, ...}: {
# Styling Options
stylix = {
enable = true;
image = ../../../config/wallpapers/attack-on-titan-mikasa-ackerman.jpg;
# base16Scheme = {
# base00 = "232136";
# base01 = "2a273f";
# base02 = "393552";
# base03 = "6e6a86";
# base04 = "908caa";
# base05 = "e0def4";
# base06 = "e0def4";
# base07 = "56526e";
# base08 = "eb6f92";
# base09 = "f6c177";
# base0A = "ea9a97";
# base0B = "3e8fb0";
# base0C = "9ccfd8";
# base0D = "c4a7e7";
# base0E = "f6c177";
# base0F = "56526e";
# };
polarity = "dark";
opacity.terminal = 0.8;
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 24;
};
fonts = {
monospace = {
package = pkgs.nerd-fonts.fira-mono;
name = "FiraCode Nerd Fonts Mono";
};
sansSerif = {
package = pkgs.nerd-fonts.fira-code;
name = "FiraCode Nerd Fonts";
};
serif = {
package = pkgs.nerd-fonts.fira-code;
name = "FiraCode Nerd Fonts";
};
sizes = {
applications = 12;
terminal = 15;
desktop = 11;
popups = 12;
};
};
};
fonts = {
packages = with pkgs; [
noto-fonts-emoji
noto-fonts-cjk-sans
font-awesome
# Commenting Symbola out to fix install this will need to be fixed or an alternative found.
# symbola
material-icons
];
};
}

View File

@@ -0,0 +1,10 @@
{pkgs, ...}: {
# Virtualization / Containers
virtualisation = {
libvirtd.enable = true;
docker = {
enable = true;
package = pkgs.docker;
};
};
}

View File

@@ -1,38 +1,47 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{ {
imports = config,
[ (modulesPath + "/installer/scan/not-detected.nix") lib,
]; pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "nvme" "usbhid" "sd_mod" ]; boot.initrd.availableKernelModules = ["nvme" "xhci_pci"];
boot.initrd.kernelModules = [ ]; boot.initrd.kernelModules = [];
boot.kernelModules = [ "kvm-intel" ]; boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [ ]; boot.extraModulePackages = [];
fileSystems."/" = fileSystems."/" = {
{ device = "/dev/disk/by-uuid/c537152e-ea4f-4bb7-b453-088612e0024a"; device = "/dev/disk/by-uuid/a96dc5a2-e2bf-4725-a7be-6b9d2b020fa6";
fsType = "ext4"; fsType = "ext4";
}; };
fileSystems."/boot" = boot.initrd.luks.devices."luks-9b24a6b5-14e7-4e50-bd1d-c1af7382027c".device = "/dev/disk/by-uuid/9b24a6b5-14e7-4e50-bd1d-c1af7382027c";
{ device = "/dev/disk/by-uuid/DA7B-269C";
fsType = "vfat";
options = [ "fmask=0022" "dmask=0022" ];
};
swapDevices = [ ]; fileSystems."/boot" = {
device = "/dev/disk/by-uuid/3D12-F697";
fsType = "vfat";
options = ["fmask=0077" "dmask=0077"];
};
swapDevices = [
{device = "/dev/disk/by-uuid/f1c0ee39-01a9-4508-916a-978650d6c514";}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking # Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's # (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction # still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`. # with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true; networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp7s0.useDHCP = lib.mkDefault true; # networking.interfaces.enp3s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View File

@@ -1,17 +1,4 @@
{ {...}: {
pkgs,
lib,
username,
host,
...
}: let
inherit (import ./variables.nix) gitUsername gitEmail;
in {
# Home Manager Settings
home.username = "${username}";
home.homeDirectory = "/home/${username}";
home.stateVersion = "23.11";
# Import Program Configurations # Import Program Configurations
imports = [ imports = [
../../config/emoji.nix ../../config/emoji.nix
@@ -24,236 +11,12 @@ in {
../../config/waybar.nix ../../config/waybar.nix
../../config/wlogout.nix ../../config/wlogout.nix
../../config/fastfetch ../../config/fastfetch
./home/home.nix
./home/misc.nix
./home/programs.nix
./home/programs.librewolf.nix
./home/services.nix
./home/styles.nix
]; ];
# Place Files Inside Home Directory
home.file = {
"Pictures/Wallpapers".source = ../../config/wallpapers;
"Pictures/Wallpapers".recursive = true;
".config/wlogout/icons".source = ../../config/wlogout;
".config/wlogout/icons".recursive = true;
".face.icon".source = ../../config/face.jpg;
".config/face.jpg".source = ../../config/face.jpg;
".config/swappy/config".text = ''
[Default]
save_dir=/home/${username}/Pictures/Screenshots
save_filename_format=swappy-%Y%m%d-%H%M%S.png
show_panel=false
line_size=5
text_size=20
text_font=Ubuntu
paint_mode=brush
early_exit=true
fill_shape=false
'';
};
# Install & Configure Git
programs.git = {
enable = true;
userName = "${gitUsername}";
userEmail = "${gitEmail}";
};
# Create XDG Dirs
xdg = {
userDirs = {
enable = true;
createDirectories = true;
};
};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
# Styling Options
stylix = {
targets = {
waybar = {
enable = false;
};
rofi = {
enable = false;
};
hyprland = {
enable = false;
};
};
};
gtk = {
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
qt = {
enable = true;
style.name = "adwaita-dark";
platformTheme.name = "gtk3";
};
# Scripts
home.packages = [
(import ../../scripts/emopicker9000.nix {inherit pkgs;})
(import ../../scripts/task-waybar.nix {inherit pkgs;})
(import ../../scripts/squirtle.nix {inherit pkgs;})
(import ../../scripts/nvidia-offload.nix {inherit pkgs;})
(import ../../scripts/wallsetter.nix {
inherit pkgs;
inherit username;
})
(import ../../scripts/web-search.nix {inherit pkgs;})
(import ../../scripts/rofi-launcher.nix {inherit pkgs;})
(import ../../scripts/screenshootin.nix {inherit pkgs;})
(import ../../scripts/list-hypr-bindings.nix {
inherit pkgs;
inherit host;
})
];
services = {
hypridle = {
settings = {
general = {
after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false;
lock_cmd = "hyprlock";
};
listener = [
{
timeout = 900;
on-timeout = "hyprlock";
}
{
timeout = 1200;
on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on";
}
];
};
};
};
programs = {
gh.enable = true;
btop = {
enable = true;
};
kitty = {
enable = true;
package = pkgs.kitty;
settings = {
scrollback_lines = 2000;
wheel_scroll_min_lines = 1;
window_padding_width = 4;
confirm_os_window_close = 0;
};
extraConfig = ''
tab_bar_style fade
tab_fade 1
active_tab_font_style bold
inactive_tab_font_style bold
'';
};
starship = {
enable = true;
package = pkgs.starship;
};
bash = {
enable = true;
enableCompletion = true;
profileExtra = ''
#if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
# exec Hyprland
#fi
'';
initExtra = ''
fastfetch
if [ -f $HOME/.bashrc-personal ]; then
source $HOME/.bashrc-personal
fi
'';
shellAliases = {
os-sw = "sudo nixos-rebuild switch --flake ~/zaneyos";
os-bt = "sudo nixos-rebuild boot --flake ~/zaneyos";
os-ts = "sudo nixos-rebuild test --flake ~/zaneyos";
os-up = "sudo nix flake update";
os-upg = "sudo nix flake update && sudo nixos-rebuild switch --flake ~/zaneyos";
os-up-np = "sudo nix flake update --update-input nixpkgs";
os-up-hm = "sudo nix flake update --update-input home-manager";
os-up-sx = "sudo nix flake update --update-input stylix";
fr = "nh os switch --hostname ${host} /home/${username}/zaneyos";
fu = "nh os switch --hostname ${host} --update /home/${username}/zaneyos";
hypr-cli = "hyprctl clients";
zu = "sh <(curl -L https://gitlab.com/Zaney/zaneyos/-/raw/main/install-zaneyos.sh)";
ncg = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
n = "nano";
f = "fuck";
cat = "bat";
st = "speedtest";
ls = "eza --icons";
ll = "eza -lh --icons --grid --group-directories-first";
la = "eza -lah --icons --grid --group-directories-first";
terminal = "cat /home/garand_plg/Documents/terminal.txt";
e-terminal = "nano /home/garand_plg/Documents/terminal.txt";
".." = "cd ..";
};
};
home-manager.enable = true;
hyprlock = {
enable = true;
settings = {
general = {
disable_loading_bar = true;
grace = 10;
hide_cursor = true;
no_fade_in = false;
};
background = lib.mkDefault [
{
path = "/home/${username}/Pictures/Wallpapers/attack-on-titan-mikasa-ackerman.jpg";
blur_passes = 3;
blur_size = 8;
}
];
image = [
{
path = "/home/${username}/.config/face.jpg";
size = 150;
border_size = 4;
border_color = "rgb(0C96F9)";
rounding = -1; # Negative means circle
position = "0, 200";
halign = "center";
valign = "center";
}
];
input-field = lib.mkDefault [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
font_color = "rgb(CFE6F4)";
inner_color = "rgb(657DC2)";
outer_color = "rgb(0D0E15)";
outline_thickness = 5;
placeholder_text = "Password...";
shadow_passes = 2;
}
];
};
};
};
} }

View File

@@ -0,0 +1,64 @@
{
pkgs,
username,
host,
...
}: let
dexApps = import ../../../scripts/dex-apps.nix {inherit pkgs;};
in {
# Home Manager Settings
home = {
username = "${username}";
homeDirectory = "/home/${username}";
stateVersion = "23.11";
# Place Files Inside Home Directory
file = {
"Pictures/Wallpapers".source = ../../../config/wallpapers;
"Pictures/Wallpapers".recursive = true;
".config/wlogout/icons".source = ../../../config/wlogout;
".config/wlogout/icons".recursive = true;
".face.icon".source = ../../../config/face.jpg;
".config/face.jpg".source = ../../../config/face.jpg;
".config/swappy/config".text = ''
[Default]
save_dir=/home/${username}/Pictures/Screenshots
save_filename_format=swappy-%Y%m%d-%H%M%S.png
show_panel=false
line_size=5
text_size=20
text_font=Ubuntu
paint_mode=brush
early_exit=true
fill_shape=false
'';
};
# Scripts
packages = [
(import ../../../scripts/emopicker9000.nix {inherit pkgs;})
(import ../../../scripts/task-waybar.nix {inherit pkgs;})
(import ../../../scripts/squirtle.nix {inherit pkgs;})
(import ../../../scripts/nvidia-offload.nix {inherit pkgs;})
(import ../../../scripts/wallsetter.nix {
inherit pkgs;
inherit username;
})
(import ../../../scripts/web-search.nix {inherit pkgs;})
(import ../../../scripts/rofi-launcher.nix {inherit pkgs;})
(import ../../../scripts/screenshootin.nix {inherit pkgs;})
(import ../../../scripts/list-hypr-bindings.nix {
inherit pkgs;
inherit host;
})
dexApps.dex-messenger
dexApps.dex-instagram
dexApps.dex-chatgpt
dexApps.dex-portainer
dexApps.dex-claude
dexApps.dex-beszel
dexApps.dex-mastodon
dexApps.dex-nextcloud
dexApps.dex-dailydev
];
};
}

View File

@@ -0,0 +1,37 @@
{pkgs, ...}: {
# Create XDG Dirs
xdg = {
enable = true;
userDirs = {
enable = true;
createDirectories = true;
};
portal = {
enable = true;
xdgOpenUsePortal = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
config = {
common = {
default = [
"gtk"
"hyprland"
];
};
};
configPackages = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
};
};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,132 @@
{
pkgs,
lib,
username,
host,
...
}: let
inherit (import ../variables.nix) gitUsername gitEmail;
in {
programs = {
home-manager.enable = true;
git = {
enable = true;
userName = "${gitUsername}";
userEmail = "${gitEmail}";
extraConfig = {
credential.helper = "cache --timeout=3600";
};
};
gh.enable = true;
kitty = {
enable = true;
package = pkgs.kitty;
settings = {
scrollback_lines = 2000;
wheel_scroll_min_lines = 1;
window_padding_width = 4;
confirm_os_window_close = 0;
};
extraConfig = ''
tab_bar_style fade
tab_fade 1
active_tab_font_style bold
inactive_tab_font_style bold
'';
};
starship = {
enable = true;
package = pkgs.starship;
};
bash = {
enable = true;
enableCompletion = true;
profileExtra = ''
#if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
# exec Hyprland
#fi
'';
initExtra = ''
fastfetch
if [ -f $HOME/.bashrc-personal ]; then
source $HOME/.bashrc-personal
fi
'';
shellAliases = {
os-sw = "sudo nixos-rebuild switch --flake ~/zaneyos";
os-bt = "sudo nixos-rebuild boot --flake ~/zaneyos";
os-ts = "sudo nixos-rebuild test --flake ~/zaneyos";
os-up = "sudo nix flake update";
os-upg = "sudo nix flake update && sudo nixos-rebuild switch --flake ~/zaneyos";
os-up-np = "sudo nix flake update --update-input nixpkgs";
fr = "nh os switch --hostname ${host} /home/${username}/zaneyos";
fu = "nh os switch --hostname ${host} --update /home/${username}/zaneyos";
hypr-cli = "hyprctl clients";
ncg = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
n = "nano";
cat = "bat";
ookla = "speedtest";
ls = "eza --icons";
ll = "eza -lh --icons --grid --group-directories-first";
la = "eza -lah --icons --grid --group-directories-first";
ssh-server = "ssh garand_plg@192.168.1.156 -p 556 -i ~/.ssh/hp-t640-homeserver";
fc = "fortune | cowsay";
mkgidf = "git add --intent-to-add . && git diff > git-diff.txt";
".." = "cd ..";
kys = "shutdown now";
pasjans = "ttysolitaire -p 10 --no-background-color";
};
};
hyprlock = {
enable = true;
settings = {
general = {
disable_loading_bar = true;
grace = 10;
hide_cursor = true;
no_fade_in = false;
};
background = lib.mkForce [
{
path = "/home/${username}/Pictures/Wallpapers/attack-on-titan-mikasa-ackerman.jpg";
blur_passes = 3;
blur_size = 8;
}
];
image = [
{
path = "/home/${username}/.config/face.jpg";
size = 150;
border_size = 4;
border_color = "rgb(0C96F9)";
rounding = -1; # Negative means circle
position = "0, 200";
halign = "center";
valign = "center";
}
];
input-field = lib.mkDefault [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
font_color = "rgb(CFE6F4)";
inner_color = "rgb(657DC2)";
outer_color = "rgb(0D0E15)";
outline_thickness = 5;
placeholder_text = "Password...";
shadow_passes = 2;
}
];
};
};
};
}

View File

@@ -0,0 +1,24 @@
{...}: {
services = {
hypridle = {
settings = {
general = {
after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false;
lock_cmd = "hyprlock";
};
listener = [
{
timeout = 900;
on-timeout = "hyprlock";
}
{
timeout = 1200;
on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on";
}
];
};
};
};
}

View File

@@ -0,0 +1,41 @@
{
pkgs,
lib,
host,
...
}: {
# Styling Options
stylix = {
targets = {
librewolf.profileNames = ["${host}"];
waybar = {
enable = false;
};
rofi = {
enable = false;
};
hyprland = {
enable = false;
};
};
};
gtk = {
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
qt = {
enable = true;
style.name = lib.mkDefault "adwaita-dark";
platformTheme.name = lib.mkDefault "gtk3";
};
}

View File

@@ -18,11 +18,11 @@ in {
"lp" "lp"
"docker" "docker"
"audio" "audio"
"gamemode"
]; ];
shell = pkgs.bash; shell = pkgs.bash;
ignoreShellProgramCheck = true; ignoreShellProgramCheck = true;
# packages = with pkgs; [ # packages = with pkgs; [];
# ];
}; };
# "newuser" = { # "newuser" = {
# homeMode = "755"; # homeMode = "755";

View File

@@ -1,16 +1,12 @@
{ {
# Git Configuration ( For Pulling Software Repos ) gitUsername = "";
gitUsername = "GarandPLG"; gitEmail = "";
gitEmail = "garandplg@garandplg.com";
# Hyprland Settings
extraMonitorSettings = ""; extraMonitorSettings = "";
# Waybar Settings
clock24h = true; clock24h = true;
# Program Options browser = "librewolf";
browser = "librewolf"; # Set Default Browser (google-chrome-stable for google-chrome) terminal = "kitty";
terminal = "kitty"; # Set Default System Terminal
keyboardLayout = "pl"; keyboardLayout = "pl";
} }

View File

@@ -1,17 +1,29 @@
{ {...}: {
inputs,
config,
pkgs,
host,
username,
options,
...
}: let
inherit (import ./variables.nix) keyboardLayout;
in {
imports = [ imports = [
./hardware.nix ./hardware.nix
./users.nix ./users.nix
./config/boot.nix
./config/drivers.nix
./config/hardware.nix
./config/localization.nix
./config/networking.nix
./config/nixpkgs.nix
./config/nixpkgs/clients.nix
./config/nixpkgs/codium.nix
./config/nixpkgs/fundamentals.nix
./config/nixpkgs/gaming.nix
./config/nixpkgs/multimedia.nix
./config/nixpkgs/tools.nix
./config/nixpkgs/tty.nix
./config/programs.nix
./config/security.nix
./config/services.nix
./config/stylix.nix
./config/virtualization.nix
../../modules/amd-drivers.nix ../../modules/amd-drivers.nix
../../modules/nvidia-drivers.nix ../../modules/nvidia-drivers.nix
../../modules/nvidia-prime-drivers.nix ../../modules/nvidia-prime-drivers.nix
@@ -20,829 +32,6 @@ in {
../../modules/local-hardware-clock.nix ../../modules/local-hardware-clock.nix
]; ];
boot = {
# Kernel
kernelPackages = pkgs.linuxPackages_zen;
# This is for OBS Virtual Cam Support
kernelModules = ["v4l2loopback"];
extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
# Needed For Some Steam Games
kernel.sysctl = {
"vm.max_map_count" = 2147483642;
};
# Bootloader.
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
# Make /tmp a tmpfs
tmp = {
useTmpfs = false;
tmpfsSize = "30%";
};
# Appimage Support
binfmt.registrations.appimage = {
wrapInterpreterInShell = false;
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
recognitionType = "magic";
offset = 0;
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
magicOrExtension = ''\x7fELF....AI\x02'';
};
plymouth.enable = true;
};
# Styling Options
stylix = {
enable = true;
image = ../../config/wallpapers/attack-on-titan-mikasa-ackerman.jpg;
# base16Scheme = {
# base00 = "232136";
# base01 = "2a273f";
# base02 = "393552";
# base03 = "6e6a86";
# base04 = "908caa";
# base05 = "e0def4";
# base06 = "e0def4";
# base07 = "56526e";
# base08 = "eb6f92";
# base09 = "f6c177";
# base0A = "ea9a97";
# base0B = "3e8fb0";
# base0C = "9ccfd8";
# base0D = "c4a7e7";
# base0E = "f6c177";
# base0F = "56526e";
# };
polarity = "dark";
opacity.terminal = 0.8;
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 24;
};
fonts = {
monospace = {
package = pkgs.nerd-fonts.fira-mono;
name = "FiraCode Nerd Fonts Mono";
};
sansSerif = {
package = pkgs.nerd-fonts.fira-code;
name = "FiraCode Nerd Fonts";
};
serif = {
package = pkgs.nerd-fonts.fira-code;
name = "FiraCode Nerd Fonts";
};
sizes = {
applications = 12;
terminal = 15;
desktop = 11;
popups = 12;
};
};
};
# Extra Module Options
drivers = {
amdgpu.enable = true;
nvidia.enable = false;
nvidia-prime = {
enable = false;
intelBusID = "";
nvidiaBusID = "";
};
intel.enable = false;
};
vm.guest-services.enable = false;
local.hardware-clock.enable = false;
# Enable networking
networking = {
nameservers = ["176.9.1.117" "213.196.191.96" "2a01:4f8:151:34aa::198"];
networkmanager.enable = true;
hostName = host;
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
};
# Set your time zone.
time.timeZone = "Europe/Warsaw";
i18n = {
defaultLocale = "pl_PL.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "pl_PL.UTF-8";
LC_IDENTIFICATION = "pl_PL.UTF-8";
LC_MEASUREMENT = "pl_PL.UTF-8";
LC_MONETARY = "pl_PL.UTF-8";
LC_NAME = "pl_PL.UTF-8";
LC_NUMERIC = "pl_PL.UTF-8";
LC_PAPER = "pl_PL.UTF-8";
LC_TELEPHONE = "pl_PL.UTF-8";
LC_TIME = "pl_PL.UTF-8";
};
};
programs = {
firefox.enable = false;
starship = {
enable = true;
settings = {
add_newline = false;
buf = {
symbol = " ";
};
c = {
symbol = " ";
};
directory = {
read_only = " 󰌾";
};
docker_context = {
symbol = " ";
};
fossil_branch = {
symbol = " ";
};
git_branch = {
symbol = " ";
};
golang = {
symbol = " ";
};
hg_branch = {
symbol = " ";
};
hostname = {
ssh_symbol = " ";
};
lua = {
symbol = " ";
};
memory_usage = {
symbol = "󰍛 ";
};
meson = {
symbol = "󰔷 ";
};
nim = {
symbol = "󰆥 ";
};
nix_shell = {
symbol = " ";
};
nodejs = {
symbol = " ";
};
ocaml = {
symbol = " ";
};
package = {
symbol = "󰏗 ";
};
python = {
symbol = " ";
};
rust = {
symbol = " ";
};
swift = {
symbol = " ";
};
zig = {
symbol = " ";
};
};
};
dconf.enable = true;
seahorse.enable = true;
fuse.userAllowOther = true;
mtr.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
virt-manager.enable = true;
steam = {
enable = true;
gamescopeSession.enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
auto-cpufreq = {
enable = true;
settings = {
charger = {
governor = "performance";
turbo = "auto";
};
battery = {
governor = "powersave";
turbo = "auto";
};
};
};
thunar = {
enable = true;
plugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
];
};
};
nixpkgs.config = {
allowUnfree = true;
pulseaudio = true;
};
users = {
mutableUsers = true;
};
environment.systemPackages = with pkgs; [
wget
killall
eza
git
cmatrix
lolcat
libvirt
lxqt.lxqt-policykit
lm_sensors
unzip
unrar
libnotify
v4l-utils
ydotool
duf
ncdu
wl-clipboard
pciutils
ffmpeg
socat
cowsay
ripgrep
lshw
bat
pkg-config
meson
hyprpicker
ninja
brightnessctl
virt-viewer
swappy
appimage-run
networkmanagerapplet
yad
inxi
playerctl
nh
nixfmt-rfc-style
discord
libvirt
swww
grim
slurp
file-roller
swaynotificationcenter
imv
mpv
gimp
pavucontrol
tree
greetd.tuigreet
librewolf
protonup
plex-media-player
plexamp
bitwarden-desktop
vlc
nixd
ungoogled-chromium
slack
alejandra
tutanota-desktop
ookla-speedtest
rustdesk
bun
docker
docker-compose
docker-slim
sl
nodejs
kdePackages.kdenlive
galculator
obs-studio
thefuck
cifs-utils
libreoffice
bastet
nsnake
exiftool
python3
figlet
fortune
wtf
pipes
cava
wineWowPackages.waylandFull # wine64
lazydocker
lazygit
lutris
(vscode-with-extensions.override {
vscode = vscodium;
vscodeExtensions = with vscode-extensions;
[
batisteo.vscode-django
bradlc.vscode-tailwindcss
christian-kohler.npm-intellisense
christian-kohler.path-intellisense
continue.continue
davidanson.vscode-markdownlint
dbaeumer.vscode-eslint
donjayamanne.githistory
esbenp.prettier-vscode
ethansk.restore-terminals
formulahendry.auto-close-tag
formulahendry.auto-rename-tag
grapecity.gc-excelviewer
gruntfuggly.todo-tree
hediet.vscode-drawio
jnoortheen.nix-ide
mechatroner.rainbow-csv
ms-azuretools.vscode-docker
ms-python.debugpy
ms-python.flake8
ms-python.python
ms-python.vscode-pylance
njpwerner.autodocstring
octref.vetur
oderwat.indent-rainbow
shd101wyy.markdown-preview-enhanced
streetsidesoftware.code-spell-checker
supermaven.supermaven
tomoki1207.pdf
visualstudioexptteam.intellicode-api-usage-examples
visualstudioexptteam.vscodeintellicode
vscode-icons-team.vscode-icons
vue.volar
wholroyd.jinja
yoavbls.pretty-ts-errors
]
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "goto-alias";
publisher = "antfu";
version = "0.2.1";
hash = "sha256-BJBJVG/zW2BW6K0UqQ4EE12VVIxW3g+z5CecZXRPIrM=";
}
{
name = "vite";
publisher = "antfu";
version = "0.2.5";
hash = "sha256-F3uaqoaLXLE7M8OPzNIIUSraTBeRMwtjxrbgQyMIyZE=";
}
{
name = "django-html";
publisher = "bibhasdn";
version = "1.3.0";
hash = "sha256-7xVJVcjmwl6917lqkTa0KFwMLkAvHkNT2wVML14gVCk=";
}
{
name = "django";
publisher = "bigonesystems";
version = "1.0.2";
hash = "sha256-UBmvaCiNQ84qpAObDWyFL18TVFBn0z/6SBDKWeAIzTc=";
}
{
name = "align-imports";
publisher = "danielcanada";
version = "0.1.0";
hash = "sha256-Aj87mxOGer24O24/4/bGQqgLpgoBvfwOCKQyJ8NLplU=";
}
{
name = "python-environment-manager";
publisher = "donjayamanne";
version = "1.2.7";
hash = "sha256-w3csu6rJm/Z6invC/TR7tx6Aq5DD77VM62nem8/QMlg=";
}
{
name = "python-extension-pack";
publisher = "donjayamanne";
version = "1.7.0";
hash = "sha256-ewOw6nMVzNSYddLcCBGKVNvllztFwhEtncE2RFeFcOc=";
}
{
name = "one-dark-pro-monokai-darker";
publisher = "eserozvataf";
version = "1.1.0";
hash = "sha256-jUjBiy0CD7jw2WBMvM3h8bEC2ySEuj7532dC3v9lpyI=";
}
{
name = "imports-sorter";
publisher = "glhrmoura";
version = "0.1.6";
hash = "sha256-M+SWEJAwn8wPJJ+abi2mN0ziK7P6Sjt0iRAKSyTWvkg=";
}
{
name = "bootstrap-intellisense";
publisher = "hossaini";
version = "2.0.2";
hash = "sha256-io6mPkF19EYo1tVTnd87EWX1mH9zAz0Zzks6v5XN3UE=";
}
{
name = "tab-indent-space-align";
publisher = "j-zeppenfeld";
version = "0.0.3";
hash = "sha256-+WEdYJOVWW7YumfzLkvZmrnpUiC85oLsG1BKMwL1NHc=";
}
{
name = "bun-lockb";
publisher = "jaaxxx";
version = "0.0.7";
hash = "sha256-CkdH/luVTFycRn4Td6ovFnEQep+tVEIXsyUjhfJwfN4=";
}
{
name = "search-node-modules";
publisher = "jasonnutter";
version = "1.3.0";
hash = "sha256-X2CkCVF46McnXDlASlRHKixlAzR+hU4ys8A8JsbpfYI=";
}
{
name = "polacode-2019";
publisher = "jeff-hykin";
version = "0.6.1";
hash = "sha256-SbfsD28gaVHAmJskUuc1Q8kA47jrVa3OO5Ur7ULk3jI=";
}
{
name = "vsc-python-indent";
publisher = "kevinrose";
version = "1.19.0";
hash = "sha256-gX0L416RXIQ9S4kFguEJJ7u4GSo7WbpifXmL/mWCU08=";
}
{
name = "json-to-ts";
publisher = "mariusalchimavicius";
version = "1.8.0";
hash = "sha256-WoSycVtUAkVXv7BDuh+jFbnaU1IdVLvVjOYuIuUp79M=";
}
{
name = "inline-fold";
publisher = "moalamri";
version = "0.2.6";
hash = "sha256-VPEp4gtXH787iK0RxjfciIZO1cjkYacjNELzjzcs/FI=";
}
{
name = "vscode-language-pack-pl";
publisher = "ms-ceintl";
version = "1.97.2025020509";
hash = "sha256-D2x745VgarYs6vRo6Eiyx7Zy4FHmFfF01xddbWlLmjM=";
}
{
name = "mdc";
publisher = "nuxt";
version = "0.2.0";
hash = "sha256-M/29ZDg1sva9msGgRe6xqpCYDpW6X/BqKxmiJhzeVXQ=";
}
{
name = "nuxt-vscode-extentions";
publisher = "nuxtr";
version = "0.0.7";
hash = "sha256-LMShrm9fQHr0M8yXHSziq4NZWfK+n1azc5bjiM972O0=";
}
{
name = "nuxtr-vscode";
publisher = "nuxtr";
version = "0.2.16";
hash = "sha256-DVoq8zdlJ2ch8PCG34f1PRkILym9XdclUHQ9s2B5OME=";
}
{
name = "bun-vscode";
publisher = "oven";
version = "0.0.26";
hash = "sha256-klMkKAorWJj2o015FWbQQfpmYe4JM0UOM+WVh+YPtI4=";
}
{
name = "csv-to-table";
publisher = "phplasma";
version = "1.4.1";
hash = "sha256-npe7cQ4lAZr8HCyQSJmVsCDUJcOhGhL6y1QtUtqUY50=";
}
{
name = "nuxt-snippets";
publisher = "praburangki";
version = "1.8.0";
hash = "sha256-qrWrrDO/Ie/mdygw18C0mrPzNQzZLsd+fapUyTVhc14=";
}
{
name = "bash-debug";
publisher = "rogalmic";
version = "0.3.9";
hash = "sha256-f8FUZCvz/PonqQP9RCNbyQLZPnN5Oce0Eezm/hD19Fg=";
}
{
name = "vs-code-prettier-eslint";
publisher = "rvest";
version = "6.0.0";
hash = "sha256-PogNeKhIlcGxUKrW5gHvFhNluUelWDGHCdg5K+xGXJY=";
}
{
name = "vscode-preview-docs";
publisher = "selemondev";
version = "0.1.7";
hash = "sha256-Q9bEIb2m6cqHtdVjOaNivfYvbc5/VVdabM2NVTwBOFA=";
}
{
name = "svg-preview";
publisher = "simonsiefke";
version = "2.8.3";
hash = "sha256-hIVe1MmkyuHoDa56ZQUsSAGMlKWABoQ0FBOfgZZDbCw=";
}
{
name = "autoimport";
publisher = "steoates";
version = "1.5.4";
hash = "sha256-7iIwJJsoNbtTopc+BQ+195aSCLqdNAaGtMoxShyhBWY=";
}
{
name = "code-spell-checker-polish";
publisher = "streetsidesoftware";
version = "2.1.3";
hash = "sha256-MZeTvK9dO4Kj6hK+afJPWGmnKBtlLrrnoqtUd5s2te0=";
}
{
name = "vscode-pets";
publisher = "tonybaloney";
version = "1.30.0";
hash = "sha256-RxOA6xQ29JuB0NzEqMDkF9W1U+AsvgAOzGbtIUw0WyM=";
}
{
name = "explorer";
publisher = "vitest";
version = "1.12.1";
hash = "sha256-WG2/MWxU/XhSOjXuBoyszpD/HFb8mfrt525povSEES4=";
}
];
})
];
fonts = {
packages = with pkgs; [
noto-fonts-emoji
noto-fonts-cjk-sans
font-awesome
# Commenting Symbola out to fix install this will need to be fixed or an alternative found.
# symbola
material-icons
];
};
environment.variables = {
ZANEYOS_VERSION = "2.2";
ZANEYOS = "true";
};
# Extra Portal Configuration
xdg.portal = {
enable = true;
xdgOpenUsePortal = true;
wlr.enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal
];
configPackages = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
pkgs.xdg-desktop-portal
];
};
# Services to start
services = {
xserver = {
enable = false;
xkb = {
layout = "${keyboardLayout}";
variant = "";
};
};
resolved = {
enable = true;
dnssec = "true";
domains = ["~."]; # "use as default interface for all requests"
# (see man resolved.conf)
# let Avahi handle mDNS publication
extraConfig = ''
DNSOverTLS=opportunistic
MulticastDNS=resolve
'';
llmnr = "true";
};
greetd = {
enable = true;
vt = 3;
settings = {
default_session = {
# Wayland Desktop Manager is installed only for user ryan via home-manager!
user = username;
# .wayland-session is a script generated by home-manager, which links to the current wayland compositor(sway/hyprland or others).
# with such a vendor-no-locking script, we can switch to another wayland compositor without modifying greetd's config here.
# command = "$HOME/.wayland-session"; # start a wayland session directly without a login manager
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
};
};
};
smartd = {
enable = false;
autodetect = true;
};
libinput.enable = true;
fstrim.enable = true;
gvfs.enable = true;
openssh.enable = true;
flatpak.enable = false;
printing = {
enable = true;
drivers = [
# pkgs.hplipWithPlugin
];
};
# auto-cpufreq.enable = true;
gnome.gnome-keyring.enable = true;
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
ipp-usb.enable = true;
syncthing = {
enable = false;
user = "${username}";
dataDir = "/home/${username}";
configDir = "/home/${username}/.config/syncthing";
};
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
pulseaudio = {
enable = false;
extraConfig = "load-module module-combine-sink";
};
rpcbind.enable = false;
nfs.server.enable = false;
# ollama = {
# enable = true;
# package = pkgs.ollama;
# # acceleration = "rocm";
# # environmentVariables = {
# # HCC_AMDGPU_TARGET = "gfx1036";
# # };
# # rocmOverrideGfx = "10.3.6";
# loadModels = [
# # "deepseek-r1:1.5b"
# # "deepseek-r1:7b"
# ];
# };
# open-webui = {
# enable = true;
# package = pkgs.open-webui;
# };
};
systemd.services.flatpak-repo = {
path = [pkgs.flatpak];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
};
hardware = {
sane = {
enable = true;
extraBackends = [pkgs.sane-airscan];
disabledDefaultBackends = ["escl"];
};
logitech = {
wireless = {
enable = false;
enableGraphical = false;
};
};
bluetooth = {
enable = true;
powerOnBoot = true;
};
graphics = {
enable = true;
enable32Bit = true;
};
};
services.blueman.enable = true;
# Security / Polkit
security = {
rtkit.enable = true;
polkit = {
enable = true;
extraConfig = ''
polkit.addRule(function(action, subject) {
if (
subject.isInGroup("users")
&& (
action.id == "org.freedesktop.login1.reboot" ||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
action.id == "org.freedesktop.login1.power-off" ||
action.id == "org.freedesktop.login1.power-off-multiple-sessions"
)
)
{
return polkit.Result.YES;
}
})
'';
};
pam.services.swaylock = {
text = ''
auth include login
'';
};
sudo = {
enable = true;
extraConfig = ''
Defaults pwfeedback
'';
};
};
# Optimization settings and garbage collection automation
nix = {
settings = {
auto-optimise-store = true;
experimental-features = [
"nix-command"
"flakes"
];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
};
# Virtualization / Containers
virtualisation = {
libvirtd.enable = true;
docker = {
enable = true;
package = pkgs.docker;
};
# podman = {
# enable = true;
# dockerCompat = true;
# defaultNetwork.settings.dns_enabled = true;
# };
};
# fileSystems."/mnt/Garand-Library" = {
# device = "//192.168.1.156/Garand-Library";
# fsType = "cifs";
# options = [
# "rw" # Odczyt i zapis
# "uid=1000" # UID użytkownika montującego (np. 1000 to często UID pierwszego użytkownika)
# "gid=100" # GID grupy użytkownika montującego
# "file_mode=0775" # Uprawnienia dla plików
# "dir_mode=0775" # Uprawnienia dla katalogów
# "credentials=/etc/smb-credentials"
# ];
# };
# services.openvpn.servers = {
# RO-P2P = {
# config = ''
# config /home/garand_plg/Documents/RO-ovpn-tcp.ovpn
# '';
# updateResolvConf = true;
# };
# };
console.keyMap = "${keyboardLayout}";
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default # This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions # settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave # on your system were taken. Its perfectly fine and recommended to leave

View File

@@ -0,0 +1,38 @@
{
config,
pkgs,
...
}: {
boot = {
# Kernel
kernelPackages = pkgs.linuxPackages_zen;
# This is for OBS Virtual Cam Support
kernelModules = ["v4l2loopback"];
extraModulePackages = [config.boot.kernelPackages.v4l2loopback];
# Needed For Some Steam Games
kernel.sysctl = {
"vm.max_map_count" = 2147483642;
};
# Bootloader.
loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
initrd.systemd.dbus.enable = true;
# Make /tmp a tmpfs
tmp = {
useTmpfs = false;
tmpfsSize = "30%";
};
# Appimage Support
binfmt.registrations.appimage = {
wrapInterpreterInShell = false;
interpreter = "${pkgs.appimage-run}/bin/appimage-run";
recognitionType = "magic";
offset = 0;
mask = ''\xff\xff\xff\xff\x00\x00\x00\x00\xff\xff\xff'';
magicOrExtension = ''\x7fELF....AI\x02'';
};
plymouth.enable = true;
};
}

View File

@@ -0,0 +1,15 @@
{...}: {
# Extra Module Options
drivers = {
amdgpu.enable = true;
nvidia.enable = false;
nvidia-prime = {
enable = false;
intelBusID = "";
nvidiaBusID = "";
};
intel.enable = false;
};
vm.guest-services.enable = false;
local.hardware-clock.enable = false;
}

View File

@@ -0,0 +1,23 @@
{pkgs, ...}: {
hardware = {
sane = {
enable = true;
extraBackends = [pkgs.sane-airscan];
disabledDefaultBackends = ["escl"];
};
logitech = {
wireless = {
enable = false;
enableGraphical = false;
};
};
bluetooth = {
enable = true;
powerOnBoot = true;
};
graphics = {
enable = true;
enable32Bit = true;
};
};
}

View File

@@ -0,0 +1,19 @@
{...}: {
# Set your time zone.
time.timeZone = "Europe/Warsaw";
i18n = {
defaultLocale = "pl_PL.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "pl_PL.UTF-8";
LC_IDENTIFICATION = "pl_PL.UTF-8";
LC_MEASUREMENT = "pl_PL.UTF-8";
LC_MONETARY = "pl_PL.UTF-8";
LC_NAME = "pl_PL.UTF-8";
LC_NUMERIC = "pl_PL.UTF-8";
LC_PAPER = "pl_PL.UTF-8";
LC_TELEPHONE = "pl_PL.UTF-8";
LC_TIME = "pl_PL.UTF-8";
};
};
}

View File

@@ -0,0 +1,19 @@
{
host,
options,
...
}: {
# Enable networking
networking = {
nameservers = ["194.242.2.4" "217.12.221.61" "2a07:e340::4"];
networkmanager.enable = true;
hostName = host;
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
};
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
}

View File

@@ -0,0 +1,59 @@
{
inputs,
pkgs,
...
}: {
# Optimization settings and garbage collection automation
nix = {
settings = {
auto-optimise-store = true;
experimental-features = [
"nix-command"
"flakes"
];
substituters = ["https://hyprland.cachix.org"];
trusted-public-keys = ["hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="];
};
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 7d";
};
nixPath = ["nixpkgs=${inputs.nixpkgs}"];
};
nixpkgs.config = {
allowUnfree = true;
pulseaudio = true;
};
# Extra Portal Configuration
xdg.portal = {
enable = true;
xdgOpenUsePortal = true;
wlr.enable = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
config = {
common = {
default = [
"gtk"
"hyprland"
];
};
};
configPackages = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
};
environment = {
variables = {
ZANEYOS_VERSION = "2.2";
ZANEYOS = "true";
};
};
}

View File

@@ -0,0 +1,18 @@
# Klienty
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
# rustdesk
nextcloud-client
plexamp
bitwarden-desktop
tutanota-desktop
discord
slack
ungoogled-chromium
docker-client
anki-bin
onlyoffice-bin
freetube
mattermost-desktop
];
}

View File

@@ -0,0 +1,246 @@
{pkgs, ...}: {
environment = {
systemPackages = with pkgs; [
(vscode-with-extensions.override {
vscode = vscodium;
vscodeExtensions = with vscode-extensions;
[
batisteo.vscode-django
bradlc.vscode-tailwindcss
christian-kohler.npm-intellisense
christian-kohler.path-intellisense
continue.continue
davidanson.vscode-markdownlint
dbaeumer.vscode-eslint
donjayamanne.githistory
esbenp.prettier-vscode
ethansk.restore-terminals
formulahendry.auto-close-tag
formulahendry.auto-rename-tag
gruntfuggly.todo-tree
jnoortheen.nix-ide
mechatroner.rainbow-csv
ms-azuretools.vscode-docker
njpwerner.autodocstring
octref.vetur
oderwat.indent-rainbow
shd101wyy.markdown-preview-enhanced
streetsidesoftware.code-spell-checker
supermaven.supermaven
tomoki1207.pdf
visualstudioexptteam.intellicode-api-usage-examples
visualstudioexptteam.vscodeintellicode
vscode-icons-team.vscode-icons
vue.volar
wholroyd.jinja
yoavbls.pretty-ts-errors
tamasfe.even-better-toml
ms-ceintl.vscode-language-pack-pl
rust-lang.rust-analyzer
fill-labs.dependi
usernamehw.errorlens
bierner.docs-view
stkb.rewrap
ms-vscode.live-server
vadimcn.vscode-lldb
batisteo.vscode-django
vitaliymaz.vscode-svg-previewer
]
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
{
name = "goto-alias";
publisher = "antfu";
version = "0.2.1";
hash = "sha256-BJBJVG/zW2BW6K0UqQ4EE12VVIxW3g+z5CecZXRPIrM=";
}
{
name = "vite";
publisher = "antfu";
version = "0.2.5";
hash = "sha256-F3uaqoaLXLE7M8OPzNIIUSraTBeRMwtjxrbgQyMIyZE=";
}
{
name = "django-html";
publisher = "bibhasdn";
version = "1.3.0";
hash = "sha256-7xVJVcjmwl6917lqkTa0KFwMLkAvHkNT2wVML14gVCk=";
}
{
name = "one-dark-pro-monokai-darker";
publisher = "eserozvataf";
version = "1.1.0";
hash = "sha256-jUjBiy0CD7jw2WBMvM3h8bEC2ySEuj7532dC3v9lpyI=";
}
{
name = "bootstrap-intellisense";
publisher = "hossaini";
version = "3.0.2";
hash = "sha256-stZfbh42HncdRzFZ9ShumZ9Tuery9RF9c8rk3TD3P2g=";
}
{
name = "tab-indent-space-align";
publisher = "j-zeppenfeld";
version = "0.0.3";
hash = "sha256-+WEdYJOVWW7YumfzLkvZmrnpUiC85oLsG1BKMwL1NHc=";
}
{
name = "bun-lockb";
publisher = "jaaxxx";
version = "0.0.7";
hash = "sha256-CkdH/luVTFycRn4Td6ovFnEQep+tVEIXsyUjhfJwfN4=";
}
{
name = "search-node-modules";
publisher = "jasonnutter";
version = "1.3.0";
hash = "sha256-X2CkCVF46McnXDlASlRHKixlAzR+hU4ys8A8JsbpfYI=";
}
{
name = "polacode-2019";
publisher = "jeff-hykin";
version = "0.6.1";
hash = "sha256-SbfsD28gaVHAmJskUuc1Q8kA47jrVa3OO5Ur7ULk3jI=";
}
{
name = "vsc-python-indent";
publisher = "kevinrose";
version = "1.21.0";
hash = "sha256-SvJhVG8sofzV0PebZG4IIORX3AcfmErDQ00tRF9fk/4=";
}
{
name = "json-to-ts";
publisher = "mariusalchimavicius";
version = "1.8.0";
hash = "sha256-WoSycVtUAkVXv7BDuh+jFbnaU1IdVLvVjOYuIuUp79M=";
}
{
name = "inline-fold-new";
publisher = "ctf0";
version = "0.0.2";
hash = "sha256-DpXTBYN1Ohh3ZvvpUtas0G99fZcimsp1NL7mpIC07yk=";
}
{
name = "mdc";
publisher = "nuxt";
version = "0.3.1";
hash = "sha256-YJ+7gzDjA8kzxBwGLpEmfx0erJdgAntWc2OrK2zp9DM=";
}
{
name = "nuxtr-vscode";
publisher = "nuxtr";
version = "0.2.16";
hash = "sha256-DVoq8zdlJ2ch8PCG34f1PRkILym9XdclUHQ9s2B5OME=";
}
{
name = "bun-vscode";
publisher = "oven";
version = "0.0.28";
hash = "sha256-WlGqqKbfrV0gqCCdVo/UFF+Gnxhq0TNJ4LuHwFaFYXA=";
}
{
name = "csv-to-table";
publisher = "phplasma";
version = "1.4.1";
hash = "sha256-npe7cQ4lAZr8HCyQSJmVsCDUJcOhGhL6y1QtUtqUY50=";
}
{
name = "nuxt-snippets";
publisher = "praburangki";
version = "1.8.0";
hash = "sha256-qrWrrDO/Ie/mdygw18C0mrPzNQzZLsd+fapUyTVhc14=";
}
{
name = "bash-debug";
publisher = "rogalmic";
version = "0.3.9";
hash = "sha256-f8FUZCvz/PonqQP9RCNbyQLZPnN5Oce0Eezm/hD19Fg=";
}
{
name = "vs-code-prettier-eslint";
publisher = "rvest";
version = "6.0.0";
hash = "sha256-PogNeKhIlcGxUKrW5gHvFhNluUelWDGHCdg5K+xGXJY=";
}
{
name = "vscode-preview-docs";
publisher = "selemondev";
version = "0.1.7";
hash = "sha256-Q9bEIb2m6cqHtdVjOaNivfYvbc5/VVdabM2NVTwBOFA=";
}
{
name = "autoimport";
publisher = "steoates";
version = "1.5.4";
hash = "sha256-7iIwJJsoNbtTopc+BQ+195aSCLqdNAaGtMoxShyhBWY=";
}
{
name = "code-spell-checker-polish";
publisher = "streetsidesoftware";
version = "2.1.3";
hash = "sha256-MZeTvK9dO4Kj6hK+afJPWGmnKBtlLrrnoqtUd5s2te0=";
}
{
name = "vscode-pets";
publisher = "tonybaloney";
version = "1.30.0";
hash = "sha256-RxOA6xQ29JuB0NzEqMDkF9W1U+AsvgAOzGbtIUw0WyM=";
}
{
name = "explorer";
publisher = "vitest";
version = "1.17.0";
hash = "sha256-7OePMFsWIyrPkAW/+SRiOoowluLMEszEjWmBsW0LPpc=";
}
{
name = "prettify-json";
publisher = "mohsen1";
version = "0.0.3";
hash = "sha256-lvds+lFDzt1s6RikhrnAKJipRHU+Dk85ZO49d1sA8uo=";
}
{
name = "uv-toolkit";
publisher = "the0807";
version = "0.0.2";
hash = "sha256-OXHUwynWm4RqJYjcv5qXt5DyjFDxtNjZFNpnd22gUgg=";
}
{
name = "kylin-python";
publisher = "kylinideteam";
version = "0.4.2";
hash = "sha256-LhOsIvECrxLCnRjUVffS4G4fFsdP70iP/twoNoto354=";
}
{
name = "rust-flash-snippets";
publisher = "lorenzopirro";
version = "3.1.1";
hash = "sha256-L8x/OqbrsKDmyphzV3CDpoZ27rTnPS0U1YGv9KakW+U=";
}
{
name = "rustowl-vscode";
publisher = "cordx56";
version = "0.3.4";
hash = "sha256-sM4CxQfdtDkZg5B7gxw66k7ZpIfHQFORIukHRpg0+S8=";
}
{
name = "vscode-coverage-gutters";
publisher = "ryanluker";
version = "2.13.0";
hash = "sha256-qgPKGikqNIeZkKfd0P0keAdxRl9XNzvEJKQy58eaUZk=";
}
{
name = "vscode-change-case";
publisher = "hjdarnel";
version = "1.4.0";
hash = "sha256-6LS4MrG16054DQkPmr7BQJeekpEtcL2NtRe0Ckfq2w4=";
}
{
name = "vscode-bevy-inspector";
publisher = "splo";
version = "0.3.0";
hash = "sha256-f0FAgQ0wm3FYPz5qpMHWHnTf3un0xw+5gcyBG7PYM2E=";
}
];
})
];
};
}

View File

@@ -0,0 +1,40 @@
# Fundamentalne programy dla systemu
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
wget
killall
eza
git
libnotify
v4l-utils
ydotool
duf
ncdu
wl-clipboard
pciutils
ffmpeg
socat
ripgrep
lshw
bat
pkg-config
meson
ninja
brightnessctl
swappy
appimage-run
networkmanagerapplet
yad
inxi
playerctl
nh
nixfmt-rfc-style
file-roller
tree
nixd
alejandra
docker
docker-compose
cifs-utils
];
}

View File

@@ -0,0 +1,14 @@
# Narzędzia do gier
{
pkgs,
inputs,
system,
...
}: {
environment.systemPackages = with pkgs; [
wineWowPackages.waylandFull # wine64
lutris
space-cadet-pinball
inputs.prismlauncher-cracked.packages.${system}.default
];
}

View File

@@ -0,0 +1,16 @@
# Programy multimedialne
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
swww
grim
slurp
swaynotificationcenter
imv
mpv
gimp
pavucontrol
vlc
kdePackages.kdenlive
obs-studio
];
}

View File

@@ -0,0 +1,18 @@
# Narzędzia systemowe
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
lm_sensors
unzip
unrar
hyprpicker
virt-viewer
libvirt
greetd.tuigreet
galculator
lazydocker
# lazygit
docker-slim
dex
exercism
];
}

View File

@@ -0,0 +1,14 @@
# Aplikacje terminalowe
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
gambit-chess
tty-solitaire
cmatrix
cowsay
sl
fortune
ookla-speedtest
neohtop
toot
];
}

View File

@@ -0,0 +1,123 @@
{pkgs, ...}: {
programs = {
starship = {
enable = true;
settings = {
add_newline = false;
buf = {
symbol = " ";
};
c = {
symbol = " ";
};
directory = {
read_only = " 󰌾";
};
docker_context = {
symbol = " ";
};
fossil_branch = {
symbol = " ";
};
git_branch = {
symbol = " ";
};
golang = {
symbol = " ";
};
hg_branch = {
symbol = " ";
};
hostname = {
ssh_symbol = " ";
};
lua = {
symbol = " ";
};
memory_usage = {
symbol = "󰍛 ";
};
meson = {
symbol = "󰔷 ";
};
nim = {
symbol = "󰆥 ";
};
nix_shell = {
symbol = " ";
};
nodejs = {
symbol = " ";
};
ocaml = {
symbol = " ";
};
package = {
symbol = "󰏗 ";
};
python = {
symbol = " ";
};
rust = {
symbol = " ";
};
swift = {
symbol = " ";
};
zig = {
symbol = " ";
};
};
};
hyprland = {
enable = true;
withUWSM = true;
portalPackage = pkgs.xdg-desktop-portal-hyprland;
};
dconf.enable = true;
seahorse.enable = true;
fuse.userAllowOther = true;
mtr.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
virt-manager.enable = true;
steam = {
enable = true;
gamescopeSession.enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
extraCompatPackages = with pkgs; [
proton-ge-bin
];
};
gamescope = {
enable = true;
capSysNice = true;
};
gamemode.enable = true;
auto-cpufreq = {
enable = true;
settings = {
charger = {
governor = "performance";
turbo = "auto";
};
battery = {
governor = "powersave";
turbo = "auto";
};
};
};
thunar = {
enable = true;
plugins = with pkgs.xfce; [
thunar-archive-plugin
thunar-volman
];
};
kdeconnect.enable = true;
};
}

View File

@@ -0,0 +1,40 @@
{...}: {
# Security / Polkit
security = {
rtkit.enable = true;
polkit = {
enable = true;
extraConfig = ''
polkit.addRule(function(action, subject) {
if (
subject.isInGroup("users")
&& (
action.id == "org.freedesktop.login1.reboot" ||
action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
action.id == "org.freedesktop.login1.power-off" ||
action.id == "org.freedesktop.login1.power-off-multiple-sessions"
)
)
{
return polkit.Result.YES;
}
})
'';
};
pam.services.swaylock = {
text = ''
auth include login
'';
};
sudo = {
enable = true;
extraConfig = ''
Defaults pwfeedback
'';
};
};
users = {
mutableUsers = true;
};
}

View File

@@ -0,0 +1,106 @@
{
pkgs,
username,
...
}: let
inherit (import ../variables.nix) keyboardLayout;
in {
# Services to start
services = {
blueman.enable = true;
xserver = {
enable = false;
xkb = {
layout = "${keyboardLayout}";
variant = "";
};
};
resolved = {
enable = true;
dnssec = "true";
domains = ["~."]; # "use as default interface for all requests"
# (see man resolved.conf)
# let Avahi handle mDNS publication
extraConfig = ''
DNSOverTLS=opportunistic
MulticastDNS=resolve
'';
llmnr = "true";
};
greetd = {
enable = true;
settings = {
default_session = {
# Wayland Desktop Manager is installed only for user ryan via home-manager!
user = username;
# .wayland-session is a script generated by home-manager, which links to the current wayland compositor(sway/hyprland or others).
# with such a vendor-no-locking script, we can switch to another wayland compositor without modifying greetd's config here.
# command = "$HOME/.wayland-session"; # start a wayland session directly without a login manager
command = "${pkgs.tuigreet}/bin/tuigreet --time --cmd Hyprland"; # start Hyprland with a TUI login manager
};
};
};
smartd = {
enable = false;
autodetect = true;
};
libinput = {
enable = true;
mouse = {
accelProfile = "flat";
};
touchpad = {
accelProfile = "flat";
};
};
fstrim.enable = true;
gvfs.enable = true;
tumbler.enable = true;
openssh.enable = true;
flatpak.enable = false;
printing = {
enable = true;
# drivers = with pkgs; [
# # hplipWithPlugin
# ];
};
gnome = {
evolution-data-server.enable = true;
gnome-online-accounts.enable = true;
gnome-keyring.enable = true;
};
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
ipp-usb.enable = true;
syncthing = {
enable = false;
user = "${username}";
dataDir = "/home/${username}";
configDir = "/home/${username}/.config/syncthing";
};
pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
pulseaudio = {
enable = false;
extraConfig = "load-module module-combine-sink";
};
rpcbind.enable = false;
nfs.server.enable = false;
};
console.keyMap = "${keyboardLayout}";
systemd.services.flatpak-repo = {
path = [pkgs.flatpak];
script = ''
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
'';
};
}

View File

@@ -0,0 +1,63 @@
{pkgs, ...}: {
# Styling Options
stylix = {
enable = true;
image = ../../../config/wallpapers/attack-on-titan-mikasa-ackerman.jpg;
# base16Scheme = {
# base00 = "232136";
# base01 = "2a273f";
# base02 = "393552";
# base03 = "6e6a86";
# base04 = "908caa";
# base05 = "e0def4";
# base06 = "e0def4";
# base07 = "56526e";
# base08 = "eb6f92";
# base09 = "f6c177";
# base0A = "ea9a97";
# base0B = "3e8fb0";
# base0C = "9ccfd8";
# base0D = "c4a7e7";
# base0E = "f6c177";
# base0F = "56526e";
# };
polarity = "dark";
opacity.terminal = 0.8;
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 24;
};
fonts = {
monospace = {
package = pkgs.nerd-fonts.fira-mono;
name = "FiraCode Nerd Fonts Mono";
};
sansSerif = {
package = pkgs.nerd-fonts.fira-code;
name = "FiraCode Nerd Fonts";
};
serif = {
package = pkgs.nerd-fonts.fira-code;
name = "FiraCode Nerd Fonts";
};
sizes = {
applications = 12;
terminal = 15;
desktop = 11;
popups = 12;
};
};
};
fonts = {
packages = with pkgs; [
noto-fonts-emoji
noto-fonts-cjk-sans
font-awesome
# Commenting Symbola out to fix install this will need to be fixed or an alternative found.
# symbola
material-icons
];
};
}

View File

@@ -0,0 +1,10 @@
{pkgs, ...}: {
# Virtualization / Containers
virtualisation = {
libvirtd.enable = true;
docker = {
enable = true;
package = pkgs.docker;
};
};
}

View File

@@ -1,17 +1,4 @@
{ {...}: {
pkgs,
lib,
username,
host,
...
}: let
inherit (import ./variables.nix) gitUsername gitEmail;
in {
# Home Manager Settings
home.username = "${username}";
home.homeDirectory = "/home/${username}";
home.stateVersion = "23.11";
# Import Program Configurations # Import Program Configurations
imports = [ imports = [
../../config/emoji.nix ../../config/emoji.nix
@@ -24,242 +11,12 @@ in {
../../config/waybar.nix ../../config/waybar.nix
../../config/wlogout.nix ../../config/wlogout.nix
../../config/fastfetch ../../config/fastfetch
./home/home.nix
./home/misc.nix
./home/programs.nix
./home/programs.librewolf.nix
./home/services.nix
./home/styles.nix
]; ];
# Place Files Inside Home Directory
home.file = {
"Pictures/Wallpapers".source = ../../config/wallpapers;
"Pictures/Wallpapers".recursive = true;
".config/wlogout/icons".source = ../../config/wlogout;
".config/wlogout/icons".recursive = true;
".face.icon".source = ../../config/face.jpg;
".config/face.jpg".source = ../../config/face.jpg;
".config/swappy/config".text = ''
[Default]
save_dir=/home/${username}/Pictures/Screenshots
save_filename_format=swappy-%Y%m%d-%H%M%S.png
show_panel=false
line_size=5
text_size=20
text_font=Ubuntu
paint_mode=brush
early_exit=true
fill_shape=false
'';
};
# Install & Configure Git
programs.git = {
enable = true;
userName = "${gitUsername}";
userEmail = "${gitEmail}";
};
# Create XDG Dirs
xdg = {
userDirs = {
enable = true;
createDirectories = true;
};
};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
# Styling Options
stylix = {
targets = {
waybar = {
enable = false;
};
rofi = {
enable = false;
};
hyprland = {
enable = false;
};
};
};
gtk = {
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
qt = {
enable = true;
style.name = lib.mkDefault "adwaita-dark";
platformTheme.name = lib.mkDefault "gtk3";
};
# Scripts
home.packages = [
(import ../../scripts/emopicker9000.nix {inherit pkgs;})
(import ../../scripts/task-waybar.nix {inherit pkgs;})
(import ../../scripts/squirtle.nix {inherit pkgs;})
(import ../../scripts/nvidia-offload.nix {inherit pkgs;})
(import ../../scripts/wallsetter.nix {
inherit pkgs;
inherit username;
})
(import ../../scripts/web-search.nix {inherit pkgs;})
(import ../../scripts/rofi-launcher.nix {inherit pkgs;})
(import ../../scripts/screenshootin.nix {inherit pkgs;})
(import ../../scripts/list-hypr-bindings.nix {
inherit pkgs;
inherit host;
})
];
services = {
hypridle = {
settings = {
general = {
after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false;
lock_cmd = "hyprlock";
};
listener = [
{
timeout = 900;
on-timeout = "hyprlock";
}
{
timeout = 1200;
on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on";
}
];
};
};
};
programs = {
gh.enable = true;
btop = {
enable = true;
};
kitty = {
enable = true;
package = pkgs.kitty;
settings = {
scrollback_lines = 2000;
wheel_scroll_min_lines = 1;
window_padding_width = 4;
confirm_os_window_close = 0;
};
extraConfig = ''
tab_bar_style fade
tab_fade 1
active_tab_font_style bold
inactive_tab_font_style bold
'';
};
starship = {
enable = true;
package = pkgs.starship;
};
bash = {
enable = true;
enableCompletion = true;
profileExtra = ''
#if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
# exec Hyprland
#fi
'';
initExtra = ''
fastfetch
if [ -f $HOME/.bashrc-personal ]; then
source $HOME/.bashrc-personal
fi
fc
'';
shellAliases = {
os-sw = "sudo nixos-rebuild switch --flake ~/zaneyos";
os-bt = "sudo nixos-rebuild boot --flake ~/zaneyos";
os-ts = "sudo nixos-rebuild test --flake ~/zaneyos";
os-up = "sudo nix flake update";
os-upg = "sudo nix flake update && sudo nixos-rebuild switch --flake ~/zaneyos";
os-up-np = "sudo nix flake update --update-input nixpkgs";
os-up-hm = "sudo nix flake update --update-input home-manager";
os-up-sx = "sudo nix flake update --update-input stylix";
os-up-af = "sudo nix flake update --update-input auto-cpufreq";
fr = "nh os switch --hostname ${host} /home/${username}/zaneyos";
fu = "nh os switch --hostname ${host} --update /home/${username}/zaneyos";
hypr-cli = "hyprctl clients";
zu = "sh <(curl -L https://gitlab.com/Zaney/zaneyos/-/raw/main/install-zaneyos.sh)";
ncg = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
n = "nano";
f = "fuck";
cat = "bat";
st = "speedtest";
ls = "eza --icons";
ll = "eza -lh --icons --grid --group-directories-first";
la = "eza -lah --icons --grid --group-directories-first";
ssh-server = "ssh garand_plg@192.168.1.156 -p 556 -i ~/.ssh/hp-t640-homeserver";
fc = "fortune | cowsay";
terminal = "cat /home/garand_plg/Documents/terminal.txt";
e-terminal = "nano /home/garand_plg/Documents/terminal.txt";
mkgidf = "git diff > git-diff.txt";
".." = "cd ..";
kys = "shutdown now";
};
};
home-manager.enable = true;
hyprlock = {
enable = true;
settings = {
general = {
disable_loading_bar = true;
grace = 10;
hide_cursor = true;
no_fade_in = false;
};
background = lib.mkDefault [
{
path = "/home/${username}/Pictures/Wallpapers/attack-on-titan-mikasa-ackerman.jpg";
blur_passes = 3;
blur_size = 8;
}
];
image = [
{
path = "/home/${username}/.config/face.jpg";
size = 150;
border_size = 4;
border_color = "rgb(0C96F9)";
rounding = -1; # Negative means circle
position = "0, 200";
halign = "center";
valign = "center";
}
];
input-field = lib.mkDefault [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
font_color = "rgb(CFE6F4)";
inner_color = "rgb(657DC2)";
outer_color = "rgb(0D0E15)";
outline_thickness = 5;
placeholder_text = "Password...";
shadow_passes = 2;
}
];
};
};
};
} }

View File

@@ -0,0 +1,64 @@
{
pkgs,
username,
host,
...
}: let
dexApps = import ../../../scripts/dex-apps.nix {inherit pkgs;};
in {
# Home Manager Settings
home = {
username = "${username}";
homeDirectory = "/home/${username}";
stateVersion = "23.11";
# Place Files Inside Home Directory
file = {
"Pictures/Wallpapers".source = ../../../config/wallpapers;
"Pictures/Wallpapers".recursive = true;
".config/wlogout/icons".source = ../../../config/wlogout;
".config/wlogout/icons".recursive = true;
".face.icon".source = ../../../config/face.jpg;
".config/face.jpg".source = ../../../config/face.jpg;
".config/swappy/config".text = ''
[Default]
save_dir=/home/${username}/Pictures/Screenshots
save_filename_format=swappy-%Y%m%d-%H%M%S.png
show_panel=false
line_size=5
text_size=20
text_font=Ubuntu
paint_mode=brush
early_exit=true
fill_shape=false
'';
};
# Scripts
packages = [
(import ../../../scripts/emopicker9000.nix {inherit pkgs;})
(import ../../../scripts/task-waybar.nix {inherit pkgs;})
(import ../../../scripts/squirtle.nix {inherit pkgs;})
(import ../../../scripts/nvidia-offload.nix {inherit pkgs;})
(import ../../../scripts/wallsetter.nix {
inherit pkgs;
inherit username;
})
(import ../../../scripts/web-search.nix {inherit pkgs;})
(import ../../../scripts/rofi-launcher.nix {inherit pkgs;})
(import ../../../scripts/screenshootin.nix {inherit pkgs;})
(import ../../../scripts/list-hypr-bindings.nix {
inherit pkgs;
inherit host;
})
dexApps.dex-messenger
dexApps.dex-instagram
dexApps.dex-chatgpt
dexApps.dex-portainer
dexApps.dex-claude
dexApps.dex-beszel
dexApps.dex-mastodon
dexApps.dex-nextcloud
dexApps.dex-dailydev
];
};
}

View File

@@ -0,0 +1,37 @@
{pkgs, ...}: {
# Create XDG Dirs
xdg = {
enable = true;
userDirs = {
enable = true;
createDirectories = true;
};
portal = {
enable = true;
xdgOpenUsePortal = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
config = {
common = {
default = [
"gtk"
"hyprland"
];
};
};
configPackages = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
];
};
};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
}

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,144 @@
{
pkgs,
lib,
username,
host,
...
}: let
inherit (import ../variables.nix) gitUsername gitEmail;
in {
programs = {
home-manager.enable = true;
git = {
enable = true;
userName = "${gitUsername}";
userEmail = "${gitEmail}";
extraConfig = {
credential.helper = "cache --timeout=3600";
};
};
gh.enable = true;
kitty = {
enable = true;
package = pkgs.kitty;
settings = {
scrollback_lines = 2000;
wheel_scroll_min_lines = 1;
window_padding_width = 4;
confirm_os_window_close = 0;
};
extraConfig = ''
tab_bar_style fade
tab_fade 1
active_tab_font_style bold
inactive_tab_font_style bold
'';
};
starship = {
enable = true;
package = pkgs.starship;
};
bash = {
enable = true;
enableCompletion = true;
profileExtra = ''
#if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ]; then
# exec Hyprland
#fi
'';
initExtra = ''
fastfetch
if [ -f $HOME/.bashrc-personal ]; then
source $HOME/.bashrc-personal
fi
'';
shellAliases = {
os-sw = "sudo nixos-rebuild switch --flake ~/zaneyos";
os-bt = "sudo nixos-rebuild boot --flake ~/zaneyos";
os-ts = "sudo nixos-rebuild test --flake ~/zaneyos";
os-up = "sudo nix flake update";
os-upg = "sudo nix flake update && sudo nixos-rebuild switch --flake ~/zaneyos";
os-up-np = "sudo nix flake update --update-input nixpkgs";
fr = "nh os switch --hostname ${host} /home/${username}/zaneyos";
fu = "nh os switch --hostname ${host} --update /home/${username}/zaneyos";
hypr-cli = "hyprctl clients";
ncg = "nix-collect-garbage --delete-old && sudo nix-collect-garbage -d && sudo /run/current-system/bin/switch-to-configuration boot";
n = "nano";
cat = "bat";
ookla = "speedtest";
ls = "eza --icons";
ll = "eza -lh --icons --grid --group-directories-first";
la = "eza -lah --icons --grid --group-directories-first";
ssh-server = "ssh garand_plg@192.168.1.156 -p 556 -i ~/.ssh/hp-t640-homeserver";
fc = "fortune | cowsay";
mkgidf = "git add --intent-to-add . && git diff > git-diff.txt";
".." = "cd ..";
kys = "shutdown now";
pasjans = "ttysolitaire -p 10 --no-background-color";
};
};
hyprlock = {
enable = true;
settings = {
general = {
disable_loading_bar = true;
grace = 10;
hide_cursor = true;
no_fade_in = false;
};
background = lib.mkForce [
{
path = "/home/${username}/Pictures/Wallpapers/attack-on-titan-mikasa-ackerman.jpg";
blur_passes = 3;
blur_size = 8;
}
];
image = [
{
path = "/home/${username}/.config/face.jpg";
size = 150;
border_size = 4;
border_color = "rgb(0C96F9)";
rounding = -1; # Negative means circle
position = "0, 200";
halign = "center";
valign = "center";
}
];
input-field = lib.mkDefault [
{
size = "200, 50";
position = "0, -80";
monitor = "";
dots_center = true;
fade_on_empty = false;
font_color = "rgb(CFE6F4)";
inner_color = "rgb(657DC2)";
outer_color = "rgb(0D0E15)";
outline_thickness = 5;
placeholder_text = "Password...";
shadow_passes = 2;
}
];
};
};
ssh = {
enable = true;
matchBlocks = {
"hp-t640-homeserver" = {
hostname = "192.168.1.156";
user = "garand_plg";
port = 556;
identityFile = "~/.ssh/hp-t640-homeserver";
};
};
};
};
}

View File

@@ -0,0 +1,24 @@
{...}: {
services = {
hypridle = {
settings = {
general = {
after_sleep_cmd = "hyprctl dispatch dpms on";
ignore_dbus_inhibit = false;
lock_cmd = "hyprlock";
};
listener = [
{
timeout = 900;
on-timeout = "hyprlock";
}
{
timeout = 1200;
on-timeout = "hyprctl dispatch dpms off";
on-resume = "hyprctl dispatch dpms on";
}
];
};
};
};
}

View File

@@ -0,0 +1,41 @@
{
pkgs,
lib,
host,
...
}: {
# Styling Options
stylix = {
targets = {
librewolf.profileNames = ["${host}"];
waybar = {
enable = false;
};
rofi = {
enable = false;
};
hyprland = {
enable = false;
};
};
};
gtk = {
iconTheme = {
name = "Papirus-Dark";
package = pkgs.papirus-icon-theme;
};
gtk3.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
gtk4.extraConfig = {
gtk-application-prefer-dark-theme = 1;
};
};
qt = {
enable = true;
style.name = lib.mkDefault "adwaita-dark";
platformTheme.name = lib.mkDefault "gtk3";
};
}

View File

@@ -18,6 +18,7 @@ in {
"lp" "lp"
"docker" "docker"
"audio" "audio"
"gamemode"
]; ];
shell = pkgs.bash; shell = pkgs.bash;
ignoreShellProgramCheck = true; ignoreShellProgramCheck = true;

View File

@@ -1,16 +1,12 @@
{ {
# Git Configuration ( For Pulling Software Repos )
gitUsername = "GarandPLG"; gitUsername = "GarandPLG";
gitEmail = "garandplg@garandplg.com"; gitEmail = "garandplg@garandplg.com";
# Hyprland Settings
extraMonitorSettings = ""; extraMonitorSettings = "";
# Waybar Settings
clock24h = true; clock24h = true;
# Program Options browser = "librewolf";
browser = "librewolf"; # Set Default Browser (google-chrome-stable for google-chrome) terminal = "kitty";
terminal = "kitty"; # Set Default System Terminal
keyboardLayout = "pl"; keyboardLayout = "pl";
} }

46
scripts/dex-apps.nix Normal file
View File

@@ -0,0 +1,46 @@
{pkgs}: {
dex-messenger = pkgs.writeShellScriptBin "dex-messenger" ''
#!/usr/bin/env bash
dex ~/.local/share/applications/chrome-bbdeiblfgdokhlblpgeaokenkfknecgl-Default.desktop
'';
dex-instagram = pkgs.writeShellScriptBin "dex-instagram" ''
#!/usr/bin/env bash
dex ~/.local/share/applications/chrome-akpamiohjfcnimfljfndmaldlcfphjmp-Default.desktop
'';
dex-chatgpt = pkgs.writeShellScriptBin "dex-chatgpt" ''
#!/usr/bin/env bash
dex ~/.local/share/applications/chrome-cadlkienfkclaiaibeoongdcgmdikeeg-Default.desktop
'';
dex-portainer = pkgs.writeShellScriptBin "dex-portainer" ''
#!/usr/bin/env bash
dex ~/.local/share/applications/chrome-dbipeoijaciefjfbfdkpfncmlbfinpge-Default.desktop
'';
dex-claude = pkgs.writeShellScriptBin "dex-claude" ''
#!/usr/bin/env bash
dex ~/.local/share/applications/chrome-fmpnliohjhemenmnlpbfagaolkdacoja-Default.desktop
'';
dex-beszel = pkgs.writeShellScriptBin "dex-beszel" ''
#!/usr/bin/env bash
dex ~/.local/share/applications/chrome-gppdefkeejighoejcenjnohhijfbcbkj-Default.desktop
'';
dex-mastodon = pkgs.writeShellScriptBin "dex-mastodon" ''
#!/usr/bin/env bash
dex ~/.local/share/applications/chrome-mcpclnpikkcgnjfknenfalelmlaccfcj-Default.desktop
'';
dex-nextcloud = pkgs.writeShellScriptBin "dex-nextcloud" ''
#!/usr/bin/env bash
dex ~/.local/share/applications/chrome-nibpilkookahlimkjopijpmhgllidlok-Default.desktop
'';
dex-dailydev = pkgs.writeShellScriptBin "dex-dailydev" ''
#!/usr/bin/env bash
dex ~/.local/share/applications/chrome-ppepjbbmpdbanediafpgploonglppmlk-Default.desktop
'';
}

View File

@@ -18,31 +18,13 @@ in
--timeout=90 \ --timeout=90 \
--timeout-indicator=right \ --timeout-indicator=right \
" = Windows/Super/CAPS LOCK" "Klawisz modyfikatora, używany do skrótów klawiszowych" "Nie wykonuje niczego samodzielnie." \ " = Windows/Super/CAPS LOCK" "Klawisz modyfikatora, używany do skrótów klawiszowych" "Nie wykonuje niczego samodzielnie." \
" + ENTER" "Otwórz terminal" "${terminal}" \
" + SHIFT + ENTER" "Uruchom launcher aplikacji" "rofi" \
" + V" "Uruchom Visual Studio Codium" "codium" \
" + ALT + W" "Zmień tapetę" "wallsetter" \
" + Q" "Zamknij aktywne okno" "killactive" \ " + Q" "Zamknij aktywne okno" "killactive" \
" + SHIFT + W" "Szukaj w internecie" "web-search" \ " + Esc" "Wyjdź z Hyprland" "exit" \
" + SHIFT + N" "Przeładuj stylizację SwayNC" "swaync-client -rs" \
" + W" "Uruchom przeglądarkę internetową" "${browser}" \
" + E" "Uruchom selektor emotikon" "emopicker9000" \
" + S" "Zrób zrzut ekranu" "screenshootin" \
" + SHIFT + S" "Uruchom Slack" "slack" \
" + D" "Uruchom Discord" "discord" \
" + O" "Uruchom OBS" "obs" \
" + G" "Uruchom GIMP" "gimp" \
" + SHIFT + G" "Uruchom Godot4" "godot4" \
" + C" "Uruchom selektor kolorów" "hyprpicker -a" \
" + T" "Otwórz nowe okno menedżera plików" "thunar" \
" + SHIFT + T" "Uruchom Tutanota" "tutanota-desktop" \
" + M" "Uruchom Plexamp" "Plexamp" \
" + SHIFT + M" "Uruchom Messengera" "chrome-bbdeiblfgdokhlblpgeaokenkfknecgl-Default" \
" + P" "Pseudo kafelkowanie" "pseudo" \ " + P" "Pseudo kafelkowanie" "pseudo" \
" + SHIFT + I" "Przełącz kierunek podziału" "togglesplit" \ " + SHIFT + I" "Przełącz kierunek podziału" "togglesplit" \
" + F" "Przełącz tryb pełnoekranowy" "fullscreen" \ " + F" "Przełącz tryb pełnoekranowy" "fullscreen" \
" + SHIFT + F" "Przełącz tryb pływający" "fullscreen" \ " + SHIFT + F" "Przełącz tryb pływający" "togglefloating" \
" + SHIFT + C" "Wyjdź z Hyprland" "exit" \ "ALT + TAB" "Zmień fokus na następne okno i przenieś je na wierzch" "cyclenext & bringactivetotop" \
" + Lewo" "Przenieś fokus na okno po lewej" "movefocus,l" \ " + Lewo" "Przenieś fokus na okno po lewej" "movefocus,l" \
" + Prawo" "Przenieś fokus na okno po prawej" "movefocus,r" \ " + Prawo" "Przenieś fokus na okno po prawej" "movefocus,r" \
" + Góra" "Przenieś fokus na okno u góry" "movefocus,u" \ " + Góra" "Przenieś fokus na okno u góry" "movefocus,u" \
@@ -51,10 +33,6 @@ in
" + SHIFT + Prawo" "Przenieś aktywne okno w prawo" "movewindow,r" \ " + SHIFT + Prawo" "Przenieś aktywne okno w prawo" "movewindow,r" \
" + SHIFT + Góra" "Przenieś aktywne okno do góry" "movewindow,u" \ " + SHIFT + Góra" "Przenieś aktywne okno do góry" "movewindow,u" \
" + SHIFT + Dół" "Przenieś aktywne okno do dołu" "movewindow,d" \ " + SHIFT + Dół" "Przenieś aktywne okno do dołu" "movewindow,d" \
" + H" "Przenieś fokus na okno po lewej" "movefocus,l" \
" + L" "Przenieś fokus na okno po prawej" "movefocus,r" \
" + K" "Przenieś fokus na okno u góry" "movefocus,u" \
" + J" "Przenieś fokus na okno u dołu" "movefocus,d" \
" + SHIFT + H" "Przenieś aktywne okno w lewo" "movewindow,l" \ " + SHIFT + H" "Przenieś aktywne okno w lewo" "movewindow,l" \
" + SHIFT + L" "Przenieś aktywne okno w prawo" "movewindow,r" \ " + SHIFT + L" "Przenieś aktywne okno w prawo" "movewindow,r" \
" + SHIFT + K" "Przenieś aktywne okno do góry" "movewindow,u" \ " + SHIFT + K" "Przenieś aktywne okno do góry" "movewindow,u" \
@@ -69,7 +47,40 @@ in
" + Kliknięcie myszą w górę" "Przenieś się do poprzedniej przestrzeni roboczej" "workspace,e-1" \ " + Kliknięcie myszą w górę" "Przenieś się do poprzedniej przestrzeni roboczej" "workspace,e-1" \
" + Lewy przycisk myszy" "Przenieś/Przeciągnij okno" "movewindow" \ " + Lewy przycisk myszy" "Przenieś/Przeciągnij okno" "movewindow" \
" + Prawy przycisk myszy" "Zmień rozmiar okna" "resizewindow" \ " + Prawy przycisk myszy" "Zmień rozmiar okna" "resizewindow" \
"ALT + TAB" "Zmień fokus na następne okno i przenieś je na wierzch" "cyclenext & bringactivetotop" \ " + ENTER" "Otwórz terminal" "${terminal}" \
" + SHIFT + ENTER" "Uruchom launcher aplikacji" "rofi-launcher" \
" + ALT + W" "Zmień tapetę" "wallsetter" \
" + SHIFT + S" "Zrób zrzut ekranu" "screenshootin" \
" + E" "Uruchom selektor emotikon" "emopicker9000" \
" + SHIFT + P" "Uruchom selektor kolorów" "hyprpicker -a" \
" + SHIFT + W" "Szukaj w internecie" "web-search" \
" + SHIFT + K" "Uruchom kalkulator" "galculator" \
" + B" "Uruchom monitorowanie zasobów" "NeoHtop" \
" + SHIFT + B" "Uruchom manager Bluethooth" "blueman-manager" \
" + T" "Otwórz nowe okno menedżera plików" "thunar" \
" + W" "Uruchom przeglądarkę internetową" "${browser}" \
" + S" "Uruchom Slack" "slack" \
" + D" "Uruchom Discord" "discord" \
" + C" "Uruchom Chromium" "chromium" \
" + SHIFT + C" "Uruchom Claude" "dex-claude" \
" + SHIFT + G" "Uruchom ChatGPT" "dex-chatgpt" \
" + SHIFT + M" "Uruchom Messengera" "dex-messenger" \
" + SHIFT + T" "Uruchom Tutanota" "tutanota-desktop" \
" + I" "Uruchom Instagram" "dex-instagram" \
" + R" "Uruchom Portainer" "dex-portainer" \
" + U" "Uruchom Mastodon" "dex-mastodon" \
" + Y" "Uruchom FreeTube" "freetube" \
" + SHIFT + Y" "Uruchom Daily.dev" "dex-dailydev" \
" + V" "Uruchom Visual Studio Codium" "codium" \
" + O" "Uruchom ONLYOFFICE" "onlyoffice-desktopeditors" \
" + SHIFT + O" "Uruchom OBS" "obs" \
" + G" "Uruchom GIMP" "gimp3" \
" + N" "Uruchom klienta nextcloud" "dex-nextcloud" \
" + SHIFT + N" "Uruchom synchronizację nextcloud" "nextcloud" \
" + L" "Uruchom Lutris" "lutris" \
" + A" "Uruchom Anki" "anki" \
" + M" "Uruchom Plexamp" "plexamp" \
" + Z" "Uruchom Beszel (monitorowanie serwerów)" "dex-beszel" \
"+" "Zwiększ głośność" "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" \ "+" "Zwiększ głośność" "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" \
"-" "Zmniejsz głośność" "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" \ "-" "Zmniejsz głośność" "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" \
"x" "Włącz/wyłącz wyciszenie" "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" \ "x" "Włącz/wyłącz wyciszenie" "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle" \

View File

@@ -1,43 +1,43 @@
{pkgs}: {pkgs}:
pkgs.writeShellScriptBin "web-search" '' pkgs.writeShellScriptBin "web-search" ''
declare -A URLS declare -A URLS
URLS=( URLS=(
["🌎 Search"]="https://search.garandplg.com/search?q=" ["🌎 Search"]="https://search.garandplg.com/search?q="
[" Unstable Packages"]="https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query=" [" Unstable Packages"]="https://search.nixos.org/packages?channel=unstable&from=0&size=50&sort=relevance&type=packages&query="
["🎞 YouTube"]="https://www.youtube.com/results?search_query=" ["🎞 YouTube"]="https://www.youtube.com/results?search_query="
[" NixOS Wiki"]="https://nixos.wiki/index.php?search=" [" NixOS Wiki"]="https://nixos.wiki/index.php?search="
["🔎 Wikipedia"]="https://pl.wikipedia.org/w/index.php?ns0=1&search=" ["🔎 Wikipedia"]="https://pl.wikipedia.org/w/index.php?ns0=1&search="
["👨💻 StackOverflow"]="https://stackoverflow.com/search?q=" ["👨💻 StackOverflow"]="https://stackoverflow.com/search?q="
) )
# List for rofi # List for rofi
gen_list() { gen_list() {
for i in "''${!URLS[@]}" for i in "''${!URLS[@]}"
do do
echo "$i" echo "$i"
done done
} }
main() { main() {
# Pass the list to rofi # Pass the list to rofi
platform=$( (gen_list) | ${pkgs.wofi}/bin/wofi -dmenu ) platform=$( (gen_list) | ${pkgs.wofi}/bin/wofi -dmenu )
if [[ -n "$platform" ]]; then if [[ -n "$platform" ]]; then
query=$( (echo ) | ${pkgs.wofi}/bin/wofi -dmenu ) query=$( (echo ) | ${pkgs.wofi}/bin/wofi -dmenu )
if [[ -n "$query" ]]; then if [[ -n "$query" ]]; then
url=''${URLS[$platform]}$query url=''${URLS[$platform]}$query
xdg-open "$url" xdg-open "$url"
else else
exit exit
fi fi
else else
exit exit
fi fi
} }
main main
exit 0 exit 0
'' ''