From 32dfc8772afe0a985735b73012add184303a3b36 Mon Sep 17 00:00:00 2001 From: installer Date: Thu, 14 Aug 2025 13:41:54 +0200 Subject: [PATCH] =?UTF-8?q?aktualizacja=20domy=C5=9Blnego=20hosta?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- hosts/default/config.nix | 592 +----------------- hosts/default/config/boot.nix | 38 ++ hosts/default/config/drivers.nix | 15 + hosts/default/config/hardware.nix | 23 + hosts/default/config/localization.nix | 19 + hosts/default/config/networking.nix | 19 + hosts/default/config/nixpkgs.nix | 59 ++ hosts/default/config/nixpkgs/clients.nix | 18 + hosts/default/config/nixpkgs/codium.nix | 14 + hosts/default/config/nixpkgs/fundamentals.nix | 40 ++ hosts/default/config/nixpkgs/gaming.nix | 14 + hosts/default/config/nixpkgs/multimedia.nix | 16 + hosts/default/config/nixpkgs/tools.nix | 18 + hosts/default/config/nixpkgs/tty.nix | 14 + hosts/default/config/programs.nix | 123 ++++ hosts/default/config/security.nix | 40 ++ hosts/default/config/services.nix | 106 ++++ hosts/default/config/stylix.nix | 63 ++ hosts/default/config/virtualization.nix | 10 + hosts/default/hardware.nix | 51 +- hosts/default/home.nix | 253 +------- hosts/default/home/home.nix | 64 ++ hosts/default/home/misc.nix | 37 ++ hosts/default/home/programs.librewolf.nix | 311 +++++++++ hosts/default/home/programs.nix | 132 ++++ hosts/default/home/services.nix | 24 + hosts/default/home/styles.nix | 41 ++ hosts/default/users.nix | 4 +- hosts/default/variables.nix | 12 +- hosts/garand-laptop/config/networking.nix | 2 +- 30 files changed, 1326 insertions(+), 846 deletions(-) create mode 100644 hosts/default/config/boot.nix create mode 100644 hosts/default/config/drivers.nix create mode 100644 hosts/default/config/hardware.nix create mode 100644 hosts/default/config/localization.nix create mode 100644 hosts/default/config/networking.nix create mode 100644 hosts/default/config/nixpkgs.nix create mode 100644 hosts/default/config/nixpkgs/clients.nix create mode 100644 hosts/default/config/nixpkgs/codium.nix create mode 100644 hosts/default/config/nixpkgs/fundamentals.nix create mode 100644 hosts/default/config/nixpkgs/gaming.nix create mode 100644 hosts/default/config/nixpkgs/multimedia.nix create mode 100644 hosts/default/config/nixpkgs/tools.nix create mode 100644 hosts/default/config/nixpkgs/tty.nix create mode 100644 hosts/default/config/programs.nix create mode 100644 hosts/default/config/security.nix create mode 100644 hosts/default/config/services.nix create mode 100644 hosts/default/config/stylix.nix create mode 100644 hosts/default/config/virtualization.nix create mode 100644 hosts/default/home/home.nix create mode 100644 hosts/default/home/misc.nix create mode 100644 hosts/default/home/programs.librewolf.nix create mode 100644 hosts/default/home/programs.nix create mode 100644 hosts/default/home/services.nix create mode 100644 hosts/default/home/styles.nix diff --git a/hosts/default/config.nix b/hosts/default/config.nix index 38c3048..af516ea 100644 --- a/hosts/default/config.nix +++ b/hosts/default/config.nix @@ -1,17 +1,29 @@ -{ - 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/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/nvidia-drivers.nix ../../modules/nvidia-prime-drivers.nix @@ -20,564 +32,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 - 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 # settings for stateful data, like file locations and database versions # on your system were taken. It‘s perfectly fine and recommended to leave diff --git a/hosts/default/config/boot.nix b/hosts/default/config/boot.nix new file mode 100644 index 0000000..8ad8ea2 --- /dev/null +++ b/hosts/default/config/boot.nix @@ -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; + }; +} diff --git a/hosts/default/config/drivers.nix b/hosts/default/config/drivers.nix new file mode 100644 index 0000000..e4a14db --- /dev/null +++ b/hosts/default/config/drivers.nix @@ -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; +} diff --git a/hosts/default/config/hardware.nix b/hosts/default/config/hardware.nix new file mode 100644 index 0000000..97d3948 --- /dev/null +++ b/hosts/default/config/hardware.nix @@ -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; + }; + }; +} diff --git a/hosts/default/config/localization.nix b/hosts/default/config/localization.nix new file mode 100644 index 0000000..1ee5730 --- /dev/null +++ b/hosts/default/config/localization.nix @@ -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"; + }; + }; +} diff --git a/hosts/default/config/networking.nix b/hosts/default/config/networking.nix new file mode 100644 index 0000000..1fe70ae --- /dev/null +++ b/hosts/default/config/networking.nix @@ -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; +} diff --git a/hosts/default/config/nixpkgs.nix b/hosts/default/config/nixpkgs.nix new file mode 100644 index 0000000..23bed37 --- /dev/null +++ b/hosts/default/config/nixpkgs.nix @@ -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"; + }; + }; +} diff --git a/hosts/default/config/nixpkgs/clients.nix b/hosts/default/config/nixpkgs/clients.nix new file mode 100644 index 0000000..e2f5a80 --- /dev/null +++ b/hosts/default/config/nixpkgs/clients.nix @@ -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 + ]; +} diff --git a/hosts/default/config/nixpkgs/codium.nix b/hosts/default/config/nixpkgs/codium.nix new file mode 100644 index 0000000..56b4f32 --- /dev/null +++ b/hosts/default/config/nixpkgs/codium.nix @@ -0,0 +1,14 @@ +{pkgs, ...}: { + environment = { + systemPackages = with pkgs; [ + (vscode-with-extensions.override { + vscode = vscodium; + vscodeExtensions = with vscode-extensions; + [ + ] + ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ + ]; + }) + ]; + }; +} diff --git a/hosts/default/config/nixpkgs/fundamentals.nix b/hosts/default/config/nixpkgs/fundamentals.nix new file mode 100644 index 0000000..af3dd1f --- /dev/null +++ b/hosts/default/config/nixpkgs/fundamentals.nix @@ -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 + ]; +} diff --git a/hosts/default/config/nixpkgs/gaming.nix b/hosts/default/config/nixpkgs/gaming.nix new file mode 100644 index 0000000..075bec4 --- /dev/null +++ b/hosts/default/config/nixpkgs/gaming.nix @@ -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 + ]; +} diff --git a/hosts/default/config/nixpkgs/multimedia.nix b/hosts/default/config/nixpkgs/multimedia.nix new file mode 100644 index 0000000..22d62f9 --- /dev/null +++ b/hosts/default/config/nixpkgs/multimedia.nix @@ -0,0 +1,16 @@ +# Programy multimedialne +{pkgs, ...}: { + environment.systemPackages = with pkgs; [ + swww + grim + slurp + swaynotificationcenter + imv + mpv + gimp + pavucontrol + vlc + kdePackages.kdenlive + obs-studio + ]; +} diff --git a/hosts/default/config/nixpkgs/tools.nix b/hosts/default/config/nixpkgs/tools.nix new file mode 100644 index 0000000..27ca570 --- /dev/null +++ b/hosts/default/config/nixpkgs/tools.nix @@ -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 + ]; +} diff --git a/hosts/default/config/nixpkgs/tty.nix b/hosts/default/config/nixpkgs/tty.nix new file mode 100644 index 0000000..dd4edd6 --- /dev/null +++ b/hosts/default/config/nixpkgs/tty.nix @@ -0,0 +1,14 @@ +# Aplikacje terminalowe +{pkgs, ...}: { + environment.systemPackages = with pkgs; [ + gambit-chess + tty-solitaire + cmatrix + cowsay + sl + fortune + ookla-speedtest + neohtop + toot + ]; +} diff --git a/hosts/default/config/programs.nix b/hosts/default/config/programs.nix new file mode 100644 index 0000000..6141dff --- /dev/null +++ b/hosts/default/config/programs.nix @@ -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; + }; +} diff --git a/hosts/default/config/security.nix b/hosts/default/config/security.nix new file mode 100644 index 0000000..c87dce1 --- /dev/null +++ b/hosts/default/config/security.nix @@ -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; + }; +} diff --git a/hosts/default/config/services.nix b/hosts/default/config/services.nix new file mode 100644 index 0000000..67bd8e8 --- /dev/null +++ b/hosts/default/config/services.nix @@ -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 + ''; + }; +} diff --git a/hosts/default/config/stylix.nix b/hosts/default/config/stylix.nix new file mode 100644 index 0000000..ca2aeed --- /dev/null +++ b/hosts/default/config/stylix.nix @@ -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 + ]; + }; +} diff --git a/hosts/default/config/virtualization.nix b/hosts/default/config/virtualization.nix new file mode 100644 index 0000000..d7da299 --- /dev/null +++ b/hosts/default/config/virtualization.nix @@ -0,0 +1,10 @@ +{pkgs, ...}: { + # Virtualization / Containers + virtualisation = { + libvirtd.enable = true; + docker = { + enable = true; + package = pkgs.docker; + }; + }; +} diff --git a/hosts/default/hardware.nix b/hosts/default/hardware.nix index de1c72e..970637e 100644 --- a/hosts/default/hardware.nix +++ b/hosts/default/hardware.nix @@ -1,38 +1,47 @@ # Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. -{ config, lib, pkgs, modulesPath, ... }: - { - imports = - [ (modulesPath + "/installer/scan/not-detected.nix") - ]; + config, + lib, + pkgs, + modulesPath, + ... +}: { + imports = [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "nvme" "usbhid" "sd_mod" ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; + boot.initrd.availableKernelModules = ["nvme" "xhci_pci"]; + boot.initrd.kernelModules = []; + boot.kernelModules = ["kvm-amd"]; + boot.extraModulePackages = []; - fileSystems."/" = - { device = "/dev/disk/by-uuid/c537152e-ea4f-4bb7-b453-088612e0024a"; - fsType = "ext4"; - }; + fileSystems."/" = { + device = "/dev/disk/by-uuid/a96dc5a2-e2bf-4725-a7be-6b9d2b020fa6"; + fsType = "ext4"; + }; - fileSystems."/boot" = - { device = "/dev/disk/by-uuid/DA7B-269C"; - fsType = "vfat"; - options = [ "fmask=0022" "dmask=0022" ]; - }; + boot.initrd.luks.devices."luks-9b24a6b5-14e7-4e50-bd1d-c1af7382027c".device = "/dev/disk/by-uuid/9b24a6b5-14e7-4e50-bd1d-c1af7382027c"; - 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 # (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 # with explicit per-interface declarations with `networking.interfaces..useDHCP`. 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"; - hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; + hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; } diff --git a/hosts/default/home.nix b/hosts/default/home.nix index a6290b2..afe6469 100644 --- a/hosts/default/home.nix +++ b/hosts/default/home.nix @@ -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,236 +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 = "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; - } - ]; - }; - }; - }; } diff --git a/hosts/default/home/home.nix b/hosts/default/home/home.nix new file mode 100644 index 0000000..52f6f4f --- /dev/null +++ b/hosts/default/home/home.nix @@ -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 + ]; + }; +} diff --git a/hosts/default/home/misc.nix b/hosts/default/home/misc.nix new file mode 100644 index 0000000..1d63b5f --- /dev/null +++ b/hosts/default/home/misc.nix @@ -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"]; + }; + }; +} diff --git a/hosts/default/home/programs.librewolf.nix b/hosts/default/home/programs.librewolf.nix new file mode 100644 index 0000000..b059b35 --- /dev/null +++ b/hosts/default/home/programs.librewolf.nix @@ -0,0 +1,311 @@ +{ + pkgs, + lib, + inputs, + system, + host, + ... +}: { + programs = { + librewolf = { + enable = true; + package = pkgs.librewolf; + # nativeMessagingHosts = [pkgs.firefoxpwa]; + languagePacks = ["pl" "en-US"]; + profiles = { + "${host}" = { + id = 0; + isDefault = true; + name = "${host}"; + settings = lib.mkDefault { + # Preferences (about:config) + "general.useragent.locale" = "pl"; + "intl.locale.requested" = "pl,en-US"; + "intl.accept_languages" = "pl,en-US"; + + "extensions.autoDisableScopes" = 0; + + "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"; + + "layout.css.prefers-color-scheme.content-override" = 0; + "layout.css.font-visibility" = 1; + + "browser.tabs.insertRelatedAfterCurrent" = false; + "browser.sessionstore.resume_from_crash" = true; + "browser.sessionstore.resume_session_once" = true; + "browser.toolbars.bookmarks.visibility" = "never"; + + "sidebar.main.tools" = "history,bookmarks"; + "sidebar.revamp" = true; + "sidebar.verticalTabs" = true; + + "browser.eme.ui.enabled" = true; + "media.eme.enabled" = true; + + "privacy.donottrackheader.enabled" = true; + "privacy.clearOnShutdown.history" = true; + + "network.trr.mode" = 3; + "network.trr.uri" = "https://dns.mullvad.net/dns-query"; + }; + search = { + default = "garand's-search"; + privateDefault = "garand's-search"; + force = true; + engines = { + "garand's-search" = { + definedAliases = ["@g"]; + urls = [{template = "https://search.garandplg.com/search?q={searchTerms}";}]; + suggestUrl = "https://search.garandplg.com/autocompleter?q={searchTerms}"; + }; + "youtube" = { + definedAliases = ["@yt"]; + urls = [ + { + template = "https://www.youtube.com/results"; + params = [ + { + name = "search_query"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + "wikipedia-pl" = { + definedAliases = ["@w"]; + urls = [ + { + template = "https://pl.wikipedia.org/w/index.php"; + params = [ + { + name = "search"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + "stackoverflow" = { + definedAliases = ["@so"]; + urls = [ + { + template = "https://stackoverflow.com/search"; + params = [ + { + name = "q"; + value = "{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}"; + } + ]; + } + ]; + }; + "nix-wiki" = { + definedAliases = ["@nw"]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + urls = [ + { + template = "https://wiki.nixos.org/w/index.php"; + params = [ + { + name = "search"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + "home-manager-option" = { + definedAliases = ["@hmo"]; + icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + urls = [ + { + template = "https://home-manager-options.extranix.com/release=master"; + params = [ + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + "eneba" = { + definedAliases = ["@en"]; + icon = "https://static.eneba.games/branding/v2/logoFull.svg"; + urls = [ + { + template = "https://www.eneba.com/pl/store/all"; + params = [ + { + name = "text"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + "kinguin" = { + definedAliases = ["@ki"]; + icon = "https://static.kinguin.net/media/images/other/kinguin-mobile-logo.svg"; + urls = [ + { + template = "https://www.kinguin.net/listing?active=1&hideUnavailable=0&type=kinguin"; + params = [ + { + name = "phrase"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + "instant-gaming" = { + definedAliases = ["@ig"]; + icon = "https://asset.brandfetch.io/idCbLj4uOg/idGS61T0FV.jpeg"; + urls = [ + { + template = "https://www.instant-gaming.com/pl/search/"; + params = [ + { + name = "q"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + "morele" = { + definedAliases = ["@mo"]; + icon = "https://www.morele.net/static/img/shop/logo/image-logo-morele.svg"; + urls = [ + { + template = "https://www.morele.net/wyszukiwarka/"; + params = [ + { + name = "q"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + "x-kom" = { + definedAliases = ["@xk"]; + icon = "https://assets.x-kom.pl/public-spa/xkom/75062cb4b48a8510.svg"; + urls = [ + { + template = "https://www.x-kom.pl/szukaj"; + params = [ + { + name = "q"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + "komputronik" = { + definedAliases = ["@kp"]; + icon = "https://front.komputronik.pl/front-static/komputronik.Ceqagame-a.svg"; + urls = [ + { + template = "https://www.komputronik.pl/search/category/1"; + params = [ + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + "allegro" = { + definedAliases = ["@al"]; + icon = ""; + urls = [ + { + template = "https://allegro.pl/listing"; + params = [ + { + name = "string"; + value = "{searchTerms}"; + } + ]; + } + ]; + }; + "google".metaData.hidden = true; + "bing".metaData.hidden = true; + "wikipedia".metaData.hidden = true; + }; + }; + extensions = { + # about:debugging#/runtime/this-firefox Przydatne do wyszukiwania ID rozszerzenia + # force = true; + packages = with inputs.firefox-addons.packages.${system}; [ + bitwarden + floccus + ublock-origin + sponsorblock + darkreader + flagfox + hoppscotch + return-youtube-dislikes + sponsorblock + # pwas-for-firefox + mtab + # MTAB_SAVE_FORMAT_JTIyJTdCJTVDJTIyb3B0aW9ucyU1QyUyMiUzQSU3QiU1QyUyMnNob3dPcHRpb25zQnV0dG9uJTVDJTIyJTNBdHJ1ZSU3RCUyQyU1QyUyMnVzZXIlNUMlMjIlM0ElN0IlNUMlMjJuYW1lJTVDJTIyJTNBJTVDJTIyR2FyYW5kX1BMRyU1QyUyMiU3RCUyQyU1QyUyMnRpdGxlJTVDJTIyJTNBJTdCJTVDJTIyZGVmYXVsdFRpdGxlJTVDJTIyJTNBJTVDJTIyTm93YSUyMHphayVDNSU4MmFka2ElNUMlMjIlMkMlNUMlMjJkeW5hbWljJTVDJTIyJTNBJTdCJTVDJTIyZW5hYmxlZCU1QyUyMiUzQXRydWUlN0QlMkMlNUMlMjJmYXZpY29uVHlwZSU1QyUyMiUzQSU1QyUyMmN1c3RvbSU1QyUyMiU3RCUyQyU1QyUyMm1lc3NhZ2UlNUMlMjIlM0ElN0IlNUMlMjJlbmFibGVkJTVDJTIyJTNBZmFsc2UlMkMlNUMlMjJmb250JTVDJTIyJTNBJTdCJTVDJTIydHlwZSU1QyUyMiUzQSU1QyUyMmRlZmF1bHQlNUMlMjIlMkMlNUMlMjJjdXN0b20lNUMlMjIlM0ElNUMlMjIlNUMlMjIlN0QlMkMlNUMlMjJ0ZXh0Q29sb3IlNUMlMjIlM0ElNUMlMjIlMjNmZmZmZmYlNUMlMjIlMkMlNUMlMjJ0ZXh0U2l6ZSU1QyUyMiUzQTMuNzUlMkMlNUMlMjJ0eXBlJTVDJTIyJTNBJTVDJTIydGltZS0yNCU1QyUyMiUyQyU1QyUyMmN1c3RvbVRleHQlNUMlMjIlM0ElNUMlMjJ5b3VyJTIwY3VzdG9tJTIwdGV4dCU1QyUyMiUyQyU1QyUyMndlYXRoZXIlNUMlMjIlM0ElN0IlNUMlMjJ1bml0c1R5cGUlNUMlMjIlM0ElNUMlMjJmJTVDJTIyJTdEJTdEJTJDJTVDJTIyd2FsbHBhcGVyJTVDJTIyJTNBJTdCJTVDJTIydHlwZSU1QyUyMiUzQSU1QyUyMmZpbGVVcGxvYWQlNUMlMjIlMkMlNUMlMjJlbmFibGVkJTVDJTIyJTNBdHJ1ZSUyQyU1QyUyMnVybCU1QyUyMiUzQSU1QyUyMi4lMkZ3YWxscGFwZXJzJTJGYmctMS5wbmclNUMlMjIlMkMlNUMlMjJyZXNpemUlNUMlMjIlM0ElN0IlNUMlMjJ3JTVDJTIyJTNBMTkyMCUyQyU1QyUyMmglNUMlMjIlM0ExMDgwJTdEJTdEJTJDJTVDJTIydWklNUMlMjIlM0ElN0IlNUMlMjJzdHlsZSU1QyUyMiUzQSU1QyUyMmdsYXNzJTVDJTIyJTJDJTVDJTIyZ2xhc3NDb2xvciU1QyUyMiUzQSU1QyUyMiUyM2ZmZmZmZjIwJTVDJTIyJTJDJTVDJTIyYmx1clN0cmVuZ3RoJTVDJTIyJTNBJTVDJTIyMzJweCU1QyUyMiUyQyU1QyUyMmZvcmVncm91bmRDb2xvciU1QyUyMiUzQSU1QyUyMiUyMzI2MjYyNiU1QyUyMiUyQyU1QyUyMmJhY2tncm91bmRDb2xvciU1QyUyMiUzQSU1QyUyMiUyMzE3MTcxNyU1QyUyMiUyQyU1QyUyMmhpZ2hsaWdodENvbG9yJTVDJTIyJTNBJTVDJTIyJTIzZmZmZmZmMjAlNUMlMjIlMkMlNUMlMjJjb3JuZXJTdHlsZSU1QyUyMiUzQSU1QyUyMnJvdW5kJTVDJTIyJTJDJTVDJTIyY3VzdG9tQ1NTJTVDJTIyJTNBJTVDJTIyJTJGKiUyMGlucHV0JTIwY3VzdG9tJTIwY3NzLi4uJTIwKiUyRiU1QyUyMiU3RCUyQyU1QyUyMmFuaW1hdGlvbnMlNUMlMjIlM0ElN0IlNUMlMjJlbmFibGVkJTVDJTIyJTNBdHJ1ZSUyQyU1QyUyMmJvb2ttYXJrVGltaW5nJTVDJTIyJTNBJTVDJTIybGVmdCU1QyUyMiUyQyU1QyUyMmluaXRpYWxUeXBlJTVDJTIyJTNBJTVDJTIyYW5pbWF0ZS1kb3duLWZhbGwlNUMlMjIlMkMlNUMlMjJzZWFyY2hUeXBlJTVDJTIyJTNBJTVDJTIyYW5pbWF0ZS1wYWdlLXNocmluayU1QyUyMiUyQyU1QyUyMmJvb2ttYXJrVHlwZSU1QyUyMiUzQSU1QyUyMmFuaW1hdGUtcGFnZS11cCU1QyUyMiU3RCUyQyU1QyUyMnNlYXJjaCU1QyUyMiUzQSU3QiU1QyUyMmVuYWJsZWQlNUMlMjIlM0F0cnVlJTJDJTVDJTIyZm9udCU1QyUyMiUzQSU3QiU1QyUyMnR5cGUlNUMlMjIlM0ElNUMlMjJkZWZhdWx0JTVDJTIyJTJDJTVDJTIyY3VzdG9tJTVDJTIyJTNBJTVDJTIyJTVDJTIyJTdEJTJDJTVDJTIydGV4dENvbG9yJTVDJTIyJTNBJTVDJTIyJTIzMDAwMDAwJTVDJTIyJTJDJTVDJTIycGxhY2Vob2xkZXJUZXh0JTVDJTIyJTNBJTVDJTIyU3p1a2FqLi4uJTVDJTIyJTJDJTVDJTIyYm9va21hcmtQbGFjZWhvbGRlclRleHQlNUMlMjIlM0ElNUMlMjJaYWslQzUlODIlQzQlODVka2kuLi4lNUMlMjIlMkMlNUMlMjJwbGFjZWhvbGRlclRleHRDb2xvciU1QyUyMiUzQSU1QyUyMiUyMzAxMDEwMCU1QyUyMiUyQyU1QyUyMnNlYXJjaEljb25Db2xvciU1QyUyMiUzQSU1QyUyMiUyMzE0YjhhNiU1QyUyMiUyQyU1QyUyMmJvb2ttYXJrSWNvbkNvbG9yJTVDJTIyJTNBJTVDJTIyJTIzM2I4MmY2JTVDJTIyJTJDJTVDJTIyc2VsZWN0SWNvbkNvbG9yJTVDJTIyJTNBJTVDJTIyJTIzZjU5ZTBiJTVDJTIyJTJDJTVDJTIyZW5naW5lJTVDJTIyJTNBJTVDJTIyZHVja2R1Y2tnbyU1QyUyMiUyQyU1QyUyMnVzZUN1c3RvbUVuZ2luZSU1QyUyMiUzQXRydWUlMkMlNUMlMjJjdXN0b21FbmdpbmVVUkwlNUMlMjIlM0ElNUMlMjJodHRwcyUzQSUyRiUyRnNlYXJjaC5nYXJhbmRwbGcuY29tJTJGc2VhcmNoJTNGcSUzRCU3QiU3RCU1QyUyMiUyQyU1QyUyMmZvY3VzZWRCb3JkZXJDb2xvciU1QyUyMiUzQSU1QyUyMiUyMzBlYTVlOSU1QyUyMiUyQyU1QyUyMmFzc2lzdCU1QyUyMiUzQSU3QiU1QyUyMmRhdGUlNUMlMjIlM0F0cnVlJTJDJTVDJTIybWF0aCU1QyUyMiUzQXRydWUlMkMlNUMlMjJkZWZpbml0aW9ucyU1QyUyMiUzQXRydWUlMkMlNUMlMjJjb252ZXJzaW9ucyU1QyUyMiUzQXRydWUlN0QlN0QlMkMlNUMlMjJob3RrZXlzJTVDJTIyJTNBJTdCJTVDJTIyZW5hYmxlZCU1QyUyMiUzQWZhbHNlJTJDJTVDJTIyYWN0aXZhdGlvbktleSU1QyUyMiUzQSU1QyUyMiUyMCU1QyUyMiUyQyU1QyUyMmNsb3NlUGFnZUtleSU1QyUyMiUzQSU1QyUyMnglNUMlMjIlMkMlNUMlMjJzZWFyY2hCb29rbWFya3NLZXklNUMlMjIlM0ElNUMlMjJiJTVDJTIyJTdEJTJDJTVDJTIyYm9va21hcmtzJTVDJTIyJTNBJTdCJTVDJTIydHlwZSU1QyUyMiUzQSU1QyUyMmRlZmF1bHQtYmxvY2t5JTVDJTIyJTJDJTVDJTIybnVtYmVyS2V5cyU1QyUyMiUzQWZhbHNlJTJDJTVDJTIydXNlckRlZmluZWRDb2xzJTVDJTIyJTNBbnVsbCUyQyU1QyUyMmxpbmVPcmllbnRhdGlvbiU1QyUyMiUzQSU1QyUyMnRvcCU1QyUyMiUyQyU1QyUyMnVzZXJEZWZpbmVkJTVDJTIyJTNBJTVCJTdCJTVDJTIydHlwZSU1QyUyMiUzQSU1QyUyMmJvb2ttYXJrJTVDJTIyJTJDJTVDJTIybmFtZSU1QyUyMiUzQSU1QyUyMmdpdGh1YiU1QyUyMiUyQyU1QyUyMnVybCU1QyUyMiUzQSU1QyUyMmh0dHBzJTNBJTJGJTJGZ2l0aHViLmNvbSU1QyUyMiUyQyU1QyUyMmNvbG9yJTVDJTIyJTNBJTVDJTIyJTIzNjM2NmYxJTVDJTIyJTJDJTVDJTIyaWNvblR5cGUlNUMlMjIlM0ElNUMlMjJyaS1naXRodWItZmlsbCU1QyUyMiUyQyU1QyUyMmljb25Db2xvciU1QyUyMiUzQSU1QyUyMiUyM2ZmZmZmZiU1QyUyMiUyQyU1QyUyMmZpbGwlNUMlMjIlM0ElNUMlMjIlNUMlMjIlN0QlMkMlN0IlNUMlMjJ0eXBlJTVDJTIyJTNBJTVDJTIyYm9va21hcmslNUMlMjIlMkMlNUMlMjJuYW1lJTVDJTIyJTNBJTVDJTIyeW91dHViZSU1QyUyMiUyQyU1QyUyMnVybCU1QyUyMiUzQSU1QyUyMmh0dHBzJTNBJTJGJTJGeW91dHViZS5jb20lNUMlMjIlMkMlNUMlMjJjb2xvciU1QyUyMiUzQSU1QyUyMiUyM2Y0M2Y1ZSU1QyUyMiUyQyU1QyUyMmljb25UeXBlJTVDJTIyJTNBJTVDJTIycmkteW91dHViZS1maWxsJTVDJTIyJTJDJTVDJTIyaWNvbkNvbG9yJTVDJTIyJTNBJTVDJTIyJTIzZmZmZmZmJTVDJTIyJTJDJTVDJTIyZmlsbCU1QyUyMiUzQSU1QyUyMiU1QyUyMiU3RCUyQyU3QiU1QyUyMnR5cGUlNUMlMjIlM0ElNUMlMjJib29rbWFyayU1QyUyMiUyQyU1QyUyMm5hbWUlNUMlMjIlM0ElNUMlMjJyZWRkaXQlNUMlMjIlMkMlNUMlMjJ1cmwlNUMlMjIlM0ElNUMlMjJodHRwcyUzQSUyRiUyRnd3dy5yZWRkaXQuY29tJTVDJTIyJTJDJTVDJTIyY29sb3IlNUMlMjIlM0ElNUMlMjIlMjNmOTczMTYlNUMlMjIlMkMlNUMlMjJpY29uVHlwZSU1QyUyMiUzQSU1QyUyMnJpLXJlZGRpdC1maWxsJTVDJTIyJTJDJTVDJTIyaWNvbkNvbG9yJTVDJTIyJTNBJTVDJTIyJTIzZmZmZmZmJTVDJTIyJTJDJTVDJTIyZmlsbCU1QyUyMiUzQSU1QyUyMiU1QyUyMiU3RCUyQyU3QiU1QyUyMnR5cGUlNUMlMjIlM0ElNUMlMjJib29rbWFyayU1QyUyMiUyQyU1QyUyMm5hbWUlNUMlMjIlM0ElNUMlMjJsb2NhbGhvc3QlNUMlMjIlMkMlNUMlMjJ1cmwlNUMlMjIlM0ElNUMlMjJodHRwJTNBJTJGJTJGbG9jYWxob3N0JTNBMzAwMCU1QyUyMiUyQyU1QyUyMmNvbG9yJTVDJTIyJTNBJTVDJTIyJTIzMTRiOGE2JTVDJTIyJTJDJTVDJTIyaWNvblR5cGUlNUMlMjIlM0ElNUMlMjJyaS1nbG9iYWwtZmlsbCU1QyUyMiUyQyU1QyUyMmljb25Db2xvciU1QyUyMiUzQSU1QyUyMiUyM2ZmZmZmZiU1QyUyMiUyQyU1QyUyMmZpbGwlNUMlMjIlM0ElNUMlMjIlNUMlMjIlN0QlNUQlMkMlNUMlMjJkZWZhdWx0QmxvY2t5Q29scyU1QyUyMiUzQTUlMkMlNUMlMjJkZWZhdWx0QmxvY2t5Q29sb3JUeXBlJTVDJTIyJTNBJTVDJTIycmFuZG9tJTVDJTIyJTJDJTVDJTIyZGVmYXVsdEJsb2NreUNvbG9yJTVDJTIyJTNBJTVDJTIyJTIzZmZmZmZmJTVDJTIyJTJDJTVDJTIyZGVmYXVsdEZhdmljb25Tb3VyY2UlNUMlMjIlM0ElNUMlMjJkdWNrZHVja2dvJTVDJTIyJTJDJTVDJTIyc2hvd0Jvb2ttYXJrTmFtZXMlNUMlMjIlM0F0cnVlJTJDJTVDJTIyYm9va21hcmtzTG9jYXRpb25GaXJlZm94JTVDJTIyJTNBJTVDJTIydG9vbGJhciU1QyUyMiU3RCUyQyU1QyUyMmV4dHJhcyU1QyUyMiUzQSU3QiU1QyUyMnNub3clNUMlMjIlM0ElN0IlNUMlMjJlbmFibGVkJTVDJTIyJTNBJTVDJTIyb2ZmJTVDJTIyJTdEJTdEJTdEJTIy + ]; + }; + # bookmarks = { + # force = true; + # settings = []; + # }; + }; + }; + settings = { + # LibreWolf settings + "network.http.referer.XOriginPolicy" = 2; + "privacy.resistFingerprinting.letterboxing" = true; + "privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" = true; + }; + policies = { + # Policies (about:policies#documentation) + }; + }; + }; +} diff --git a/hosts/default/home/programs.nix b/hosts/default/home/programs.nix new file mode 100644 index 0000000..4ff0e9c --- /dev/null +++ b/hosts/default/home/programs.nix @@ -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; + } + ]; + }; + }; + }; +} diff --git a/hosts/default/home/services.nix b/hosts/default/home/services.nix new file mode 100644 index 0000000..9b7f072 --- /dev/null +++ b/hosts/default/home/services.nix @@ -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"; + } + ]; + }; + }; + }; +} diff --git a/hosts/default/home/styles.nix b/hosts/default/home/styles.nix new file mode 100644 index 0000000..dc8397f --- /dev/null +++ b/hosts/default/home/styles.nix @@ -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"; + }; +} diff --git a/hosts/default/users.nix b/hosts/default/users.nix index ecbee9b..47f14b1 100644 --- a/hosts/default/users.nix +++ b/hosts/default/users.nix @@ -18,11 +18,11 @@ in { "lp" "docker" "audio" + "gamemode" ]; shell = pkgs.bash; ignoreShellProgramCheck = true; - # packages = with pkgs; [ - # ]; + # packages = with pkgs; []; }; # "newuser" = { # homeMode = "755"; diff --git a/hosts/default/variables.nix b/hosts/default/variables.nix index 718e077..47cbd90 100644 --- a/hosts/default/variables.nix +++ b/hosts/default/variables.nix @@ -1,16 +1,12 @@ { - # Git Configuration ( For Pulling Software Repos ) - gitUsername = "GarandPLG"; - gitEmail = "garandplg@garandplg.com"; + gitUsername = ""; + gitEmail = ""; - # Hyprland Settings extraMonitorSettings = ""; - # Waybar Settings clock24h = true; - # Program Options - browser = "librewolf"; # Set Default Browser (google-chrome-stable for google-chrome) - terminal = "kitty"; # Set Default System Terminal + browser = "librewolf"; + terminal = "kitty"; keyboardLayout = "pl"; } diff --git a/hosts/garand-laptop/config/networking.nix b/hosts/garand-laptop/config/networking.nix index c61959e..1fe70ae 100644 --- a/hosts/garand-laptop/config/networking.nix +++ b/hosts/garand-laptop/config/networking.nix @@ -5,7 +5,7 @@ }: { # Enable 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; hostName = host; timeServers = options.networking.timeServers.default ++ ["pool.ntp.org"];