aktualizacja domyślnego hosta
This commit is contained in:
38
hosts/default/config/boot.nix
Normal file
38
hosts/default/config/boot.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
15
hosts/default/config/drivers.nix
Normal file
15
hosts/default/config/drivers.nix
Normal 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;
|
||||
}
|
||||
23
hosts/default/config/hardware.nix
Normal file
23
hosts/default/config/hardware.nix
Normal 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;
|
||||
};
|
||||
};
|
||||
}
|
||||
19
hosts/default/config/localization.nix
Normal file
19
hosts/default/config/localization.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
}
|
||||
19
hosts/default/config/networking.nix
Normal file
19
hosts/default/config/networking.nix
Normal 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;
|
||||
}
|
||||
59
hosts/default/config/nixpkgs.nix
Normal file
59
hosts/default/config/nixpkgs.nix
Normal 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";
|
||||
};
|
||||
};
|
||||
}
|
||||
18
hosts/default/config/nixpkgs/clients.nix
Normal file
18
hosts/default/config/nixpkgs/clients.nix
Normal 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
|
||||
];
|
||||
}
|
||||
14
hosts/default/config/nixpkgs/codium.nix
Normal file
14
hosts/default/config/nixpkgs/codium.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{pkgs, ...}: {
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
(vscode-with-extensions.override {
|
||||
vscode = vscodium;
|
||||
vscodeExtensions = with vscode-extensions;
|
||||
[
|
||||
]
|
||||
++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [
|
||||
];
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
40
hosts/default/config/nixpkgs/fundamentals.nix
Normal file
40
hosts/default/config/nixpkgs/fundamentals.nix
Normal 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
|
||||
];
|
||||
}
|
||||
14
hosts/default/config/nixpkgs/gaming.nix
Normal file
14
hosts/default/config/nixpkgs/gaming.nix
Normal 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
|
||||
];
|
||||
}
|
||||
16
hosts/default/config/nixpkgs/multimedia.nix
Normal file
16
hosts/default/config/nixpkgs/multimedia.nix
Normal 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
|
||||
];
|
||||
}
|
||||
18
hosts/default/config/nixpkgs/tools.nix
Normal file
18
hosts/default/config/nixpkgs/tools.nix
Normal 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
|
||||
];
|
||||
}
|
||||
14
hosts/default/config/nixpkgs/tty.nix
Normal file
14
hosts/default/config/nixpkgs/tty.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
# Aplikacje terminalowe
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
gambit-chess
|
||||
tty-solitaire
|
||||
cmatrix
|
||||
cowsay
|
||||
sl
|
||||
fortune
|
||||
ookla-speedtest
|
||||
neohtop
|
||||
toot
|
||||
];
|
||||
}
|
||||
123
hosts/default/config/programs.nix
Normal file
123
hosts/default/config/programs.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
40
hosts/default/config/security.nix
Normal file
40
hosts/default/config/security.nix
Normal 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;
|
||||
};
|
||||
}
|
||||
106
hosts/default/config/services.nix
Normal file
106
hosts/default/config/services.nix
Normal 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
|
||||
'';
|
||||
};
|
||||
}
|
||||
63
hosts/default/config/stylix.nix
Normal file
63
hosts/default/config/stylix.nix
Normal 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
|
||||
];
|
||||
};
|
||||
}
|
||||
10
hosts/default/config/virtualization.nix
Normal file
10
hosts/default/config/virtualization.nix
Normal file
@@ -0,0 +1,10 @@
|
||||
{pkgs, ...}: {
|
||||
# Virtualization / Containers
|
||||
virtualisation = {
|
||||
libvirtd.enable = true;
|
||||
docker = {
|
||||
enable = true;
|
||||
package = pkgs.docker;
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user