aktualizacja domyślnego hosta

This commit is contained in:
installer
2025-08-14 13:41:54 +02:00
parent fb2279a575
commit 32dfc8772a
30 changed files with 1326 additions and 846 deletions

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.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;
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;
};
};
}