aktualizacja domyślnego hosta
This commit is contained in:
@@ -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
|
|
||||||
gimp3
|
|
||||||
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. It‘s perfectly fine and recommended to leave
|
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||||||
|
|||||||
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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
64
hosts/default/home/home.nix
Normal file
64
hosts/default/home/home.nix
Normal 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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
37
hosts/default/home/misc.nix
Normal file
37
hosts/default/home/misc.nix
Normal 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"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
311
hosts/default/home/programs.librewolf.nix
Normal file
311
hosts/default/home/programs.librewolf.nix
Normal file
File diff suppressed because one or more lines are too long
132
hosts/default/home/programs.nix
Normal file
132
hosts/default/home/programs.nix
Normal 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;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
24
hosts/default/home/services.nix
Normal file
24
hosts/default/home/services.nix
Normal 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";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
41
hosts/default/home/styles.nix
Normal file
41
hosts/default/home/styles.nix
Normal 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";
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -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";
|
||||||
|
|||||||
@@ -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";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
}: {
|
}: {
|
||||||
# Enable networking
|
# Enable networking
|
||||||
networking = {
|
networking = {
|
||||||
nameservers = ["176.9.1.117" "213.196.191.96" "2a01:4f8:151:34aa::198"];
|
nameservers = ["194.242.2.4" "217.12.221.61" "2a07:e340::4"];
|
||||||
networkmanager.enable = true;
|
networkmanager.enable = true;
|
||||||
hostName = host;
|
hostName = host;
|
||||||
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
|
timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];
|
||||||
|
|||||||
Reference in New Issue
Block a user