8 Commits

Author SHA1 Message Date
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
21 changed files with 1274 additions and 1094 deletions

35
flake.lock generated
View File

@@ -228,11 +228,11 @@
]
},
"locked": {
"lastModified": 1739287084,
"narHash": "sha256-CtRNJsqsXIArJV+AKWZVBMO8PD1FQB69br+WMtTJEgI=",
"lastModified": 1739470101,
"narHash": "sha256-NxNe32VB4XI/xIXrsKmIfrcgtEx5r/5s52pL3CpEcA4=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "8f351726c5841d86854e7fa6003ea472352f5208",
"rev": "5031c6d2978109336637977c165f82aa49fa16a7",
"type": "github"
},
"original": {
@@ -244,11 +244,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1739020877,
"narHash": "sha256-mIvECo/NNdJJ/bXjNqIh8yeoSjVLAuDuTUzAo7dzs8Y=",
"lastModified": 1739214665,
"narHash": "sha256-26L8VAu3/1YRxS8MHgBOyOM8xALdo6N0I04PgorE7UM=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a79cfe0ebd24952b580b1cf08cd906354996d547",
"rev": "64e75cd44acf21c7933d61d7721e812eac1b5a0a",
"type": "github"
},
"original": {
@@ -286,15 +286,16 @@
"systems": "systems",
"tinted-foot": "tinted-foot",
"tinted-kitty": "tinted-kitty",
"tinted-schemes": "tinted-schemes",
"tinted-tmux": "tinted-tmux",
"tinted-zed": "tinted-zed"
},
"locked": {
"lastModified": 1739215427,
"narHash": "sha256-1yIsiPwwxXal7+wkWogjPhsM5BjRlK61lAHQtlX8s04=",
"lastModified": 1739375014,
"narHash": "sha256-0fNbvZ1Dod4rDIfwGnC7CzJ3wRFSF1v5AvNCmNkVgXo=",
"owner": "danth",
"repo": "stylix",
"rev": "4af2686c1c62176d0ce28c4d55e813ae5ed52b6f",
"rev": "e86de61bb8f5f2b6459d0be3e3291ad16db4b777",
"type": "github"
},
"original": {
@@ -352,6 +353,22 @@
"type": "github"
}
},
"tinted-schemes": {
"flake": false,
"locked": {
"lastModified": 1737565458,
"narHash": "sha256-y+9cvOA6BLKT0WfebDsyUpUa/YxKow9hTjBp6HpQv68=",
"owner": "tinted-theming",
"repo": "schemes",
"rev": "ae31625ba47aeaa4bf6a98cf11a8d4886f9463d9",
"type": "github"
},
"original": {
"owner": "tinted-theming",
"repo": "schemes",
"type": "github"
}
},
"tinted-tmux": {
"flake": false,
"locked": {

View File

@@ -1,17 +1,21 @@
{
inputs,
config,
pkgs,
host,
username,
options,
...
}: let
inherit (import ./variables.nix) keyboardLayout;
in {
{...}: {
imports = [
./hardware.nix
./users.nix
./config/boot.nix
./config/drivers.nix
./config/hardware.nix
./config/localization.nix
./config/networking.nix
./config/nixpkgs.nix
./config/nixpkgs.codium.nix
./config/programs.nix
./config/security.nix
./config/services.nix
./config/stylix.nix
./config/virtualization.nix
../../modules/amd-drivers.nix
../../modules/nvidia-drivers.nix
../../modules/nvidia-prime-drivers.nix
@@ -20,829 +24,6 @@ in {
../../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
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave

View File

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

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 = ["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"];
};
# 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,241 @@
{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
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=";
}
];
})
];
};
}

View File

@@ -0,0 +1,144 @@
{
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
];
configPackages = [
pkgs.xdg-desktop-portal-gtk
pkgs.xdg-desktop-portal-hyprland
pkgs.xdg-desktop-portal
];
};
environment = {
variables = {
ZANEYOS_VERSION = "2.2";
ZANEYOS = "true";
};
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
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
gambit-chess
];
};
}

View File

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

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,127 @@
{
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;
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;
mouse = {
accelProfile = "flat";
};
touchpad = {
accelProfile = "flat";
};
};
fstrim.enable = true;
gvfs.enable = true;
openssh.enable = true;
flatpak.enable = false;
printing = {
enable = true;
drivers = [
# pkgs.hplipWithPlugin
];
};
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;
# };
# penvpn.servers = {
# RO-P2P = {
# config = ''
# config /home/garand_plg/Documents/RO-ovpn-tcp.ovpn
# '';
# updateResolvConf = true;
# };
# };
};
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,15 @@
{pkgs, ...}: {
# Virtualization / Containers
virtualisation = {
libvirtd.enable = true;
docker = {
enable = true;
package = pkgs.docker;
};
# podman = {
# enable = true;
# dockerCompat = true;
# defaultNetwork.settings.dns_enabled = true;
# };
};
}

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
imports = [
../../config/emoji.nix
@@ -24,242 +11,12 @@ in {
../../config/waybar.nix
../../config/wlogout.nix
../../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,52 @@
{
pkgs,
username,
host,
...
}: {
# 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;
})
];
};
}

View File

@@ -0,0 +1,16 @@
{...}: {
# Create XDG Dirs
xdg = {
userDirs = {
enable = true;
createDirectories = true;
};
};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
}

View File

@@ -0,0 +1,86 @@
{
pkgs,
host,
...
}: {
programs = {
librewolf = {
enable = true;
languagePacks = ["pl" "en-US"];
profiles = {
"${host}" = {
id = 0;
isDefault = true;
name = "${host}";
settings = {
# Preferences (about:config)
"general.useragent.locale" = "pl";
"browser.sessionstore.resume_from_crash" = true;
"browser.tabs.insertRelatedAfterCurrent" = false;
"layout.css.prefers-color-scheme.content-override" = 0;
"layout.css.font-visibility" = 1;
"font.default.x-western" = "FiraCode Nerd Font";
"font.name.monospace.x-western" = "FiraCode Nerd Font Mono";
"font.name.sans-serif.x-western" = "FiraCode Nerd Font Propo";
"font.name.serif.x-western" = "FiraCode Nerd Font";
"intl.locale.requested" = "pl,en-US";
"intl.accept_languages" = "pl,en-US";
};
search = {
default = "Garand's Search";
privateDefault = "Garand's Search";
force = true;
engines = {
"Garand's Search" = {
definedAliases = ["@garand"];
urls = [{template = "https://search.garandplg.com/search?q={searchTerms}";}];
};
"Nix Packages" = {
definedAliases = ["@np"];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
urls = [
{
template = "https://search.nixos.org/packages?channel=unstable";
params = [
{
name = "query";
value = "{searchTerms}";
}
];
}
];
};
"Nix Options" = {
definedAliases = ["@no"];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
urls = [
{
template = "https://search.nixos.org/options";
params = [
{
name = "query";
value = "{searchTerms}";
}
];
}
];
};
"Google".metaData.hidden = true;
"Bing".metaData.hidden = true;
"Wikipedia (en)".metaData.hidden = true;
};
};
};
};
settings = {
# LibreWolf settings
"network.http.referer.XOriginPolicy" = 2;
"privacy.resistFingerprinting.letterboxing" = true;
"privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" = true;
};
policies = {
# Policies (about:policies#documentation)
};
};
};
}

View File

@@ -0,0 +1,143 @@
{
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;
btop = {
enable = false;
};
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";
};
};
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,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,39 @@
{
pkgs,
lib,
...
}: {
# 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";
};
}