{ config, inputs, lib, pkgs, ... }: { nixpkgs.config.allowUnfree = true; boot = { kernelPackages = pkgs.linuxPackages_xanmod_latest; extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; kernelModules = [ "v4l2loopback" ]; kernelParams = [ "video=eDP-1:1920x1280@60" ]; }; nix = { settings = { max-jobs = 2; cores = 3; substituters = [ "https://nix-community.cachix.org" "https://nixpkgs-wayland.cachix.org" "https://viperml.cachix.org" ]; trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA=" "viperml.cachix.org-1:qZhKBMTfmcLL+OG6fj/hzsMEedgKvZVFRRAhq7j8Vh8=" ]; }; }; programs = { dconf.enable = true; wireshark = { enable = true; package = pkgs.wireshark; }; kdeconnect.enable = true; noisetorch.enable = true; }; security.sudo.package = pkgs.sudo.override { withInsults = true; }; security.polkit.enable = true; users.users.${config.myOptions.other.system.username} = { extraGroups = [ "video" "wireshark" ]; }; environment.sessionVariables = { CHROME_EXECUTABLE = "${pkgs.ungoogled-chromium}/bin/chromium"; }; hardware = { sensor.iio.enable = true; # ipu6 = { # enable = true; # platform = "ipu6"; # }; opengl = { enable = true; driSupport = true; driSupport32Bit = true; extraPackages = with pkgs; [ mesa libdrm libva vaapiVdpau libvdpau-va-gl ]; extraPackages32 = with pkgs; [ driversi686Linux.mesa driversi686Linux.vaapiVdpau driversi686Linux.libvdpau-va-gl ]; }; }; services = { pcscd.enable = true; udisks2.enable = true; dbus.enable = true; fwupd = { enable = true; }; ratbagd.enable = true; fprintd = { enable = true; tod = { enable = true; driver = pkgs.libfprint-2-tod1-goodix; }; }; smartd.enable = true; }; services.journald = { extraConfig = '' SystemMaxUse=100M ''; }; services.udev = { packages = with pkgs; [ yubikey-personalization ]; }; # this makes usb devices autosuspend #powerManagement.powertop.enable = true; # https://github.com/NixOS/nixpkgs/issues/270809 systemd.services.ModemManager = { enable = lib.mkForce true; path = [ pkgs.libqmi ]; wantedBy = [ "multi-user.target" "network.target" ]; }; networking.networkmanager = { enable = true; ensureProfiles.profiles = { sim = { connection = { id = "sim"; uuid = "91d0e582-a24a-4835-baa9-98709b7793f9"; type = "gsm"; autoconnect = false; permissions = "user:jacek:;"; }; gsm = { apn = "internet"; username = "internet"; password = "internet"; }; ipv4.method = "auto"; ipv6 = { addr-gen-mode = "default"; method = "auto"; }; }; }; }; myOptions = { other.home-manager = { enable = true; enableDirenv = true; }; programs = { starship.enable = true; zsh = { enable = true; extraAliases = { #u = "nh os switch \"/home/jacek/niksos\" -H niks -- --use-remote-sudo"; #us = "NIX_SSHOPTS='-t' nh os switch \"/home/jacek/niksos\" -H chmura -- --use-remote-sudo --target-host chmura"; u = "nixos-rebuild switch --flake \"/home/jacek/niksos#del\" -L --use-remote-sudo"; us = "NIX_SSHOPTS='-t' nixos-rebuild switch --flake \"/home/jacek/niksos#chmura\" -L --use-remote-sudo --target-host chmura"; }; profiling = false; }; zoxide.enable = true; anyrun.enable = true; vesktop.enable = true; btop.enable = true; firefox = { enable = true; defaultSearchEngine = "NotASearx"; searchEngines = { "NotASearx" = { url = "https://search.notashelf.dev/search?q={searchTerms}"; faviconUrl = "https://search.notashelf.dev/favicon.ico"; aliases = [ "!sx" ]; }; "NixOS Packages" = { url = "https://search.nixos.org/packages?channel=unstable&query={searchTerms}"; faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; aliases = [ "!np" ]; }; "NixOS Options" = { url = "https://search.nixos.org/options?channel=unstable&query={searchTerms}"; faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; aliases = [ "!no" ]; }; "NixOS Wiki" = { url = "https://nixos.wiki/index.php?search={searchTerms}"; faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; aliases = [ "!nw" ]; }; "Home Manger Option Search" = { url = "https://mipmip.github.io/home-manager-option-search?query={searchTerms}"; faviconPath = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; aliases = [ "!hm" ]; }; "Arch Wiki" = { url = "https://wiki.archlinux.org/index.php?search={searchTerms}"; faviconUrl = "https://archlinux.org/favicon.ico"; aliases = [ "!aw" ]; }; "Gentoo Wiki" = { url = "https://wiki.gentoo.org/index.php?search={searchTerms}"; faviconUrl = "https://www.gentoo.org/favicon.ico"; aliases = [ "!gw" ]; }; "Debian Wiki" = { url = "https://wiki.debian.org/FrontPage?action=fullsearch&value={searchTerms}"; faviconUrl = "https://www.debian.org/favicon.ico"; aliases = [ "!dw" ]; }; }; }; foot.enable = true; mpv.enable = true; neovim.enable = true; zathura.enable = true; hypr = { land = { enable = true; extraSettings = let inherit (config.myOptions.other.system) username; hmCfg = config.home-manager.users.${username}; inherit (inputs.nixpkgs-wayland.packages.${pkgs.system}) swww; nix_wallpaper = pkgs.fetchurl { url = "https://i.ibb.co/vZ5JF95/nix-Wallpaper.png"; hash = "sha256-BqOBvRFXFrX/QLI70OLAIcpbbiUH/jUMK97yqCfY+mI="; }; poz_layer = ./poz.png; out_dir = "${hmCfg.xdg.dataHome}/hypr"; out_path = "${out_dir}/nix.png"; in { exec-once = [ "${pkgs.rot8}/bin/rot8 --threshold 0.75" "${pkgs.wvkbd}/bin/wvkbd-mobintl --hidden -L 500" "${pkgs.coreutils-full}/bin/mkdir -p ${out_dir}" "${pkgs.imagemagick}/bin/magick ${nix_wallpaper} ${poz_layer} -layers flatten ${out_path}" ]; exec = [ # wait a bit then set the wallpapers "sleep 0.5 && ${swww}/bin/swww img -o eDP-1 ${out_path}" ]; }; }; lock.enable = true; }; helix.enable = false; newsboat.enable = true; quickshell = { enable = true; enabledConfigs = [ "powermenu" "poz" ]; }; }; themes = { cursor = { enable = true; package = pkgs.bibata-cursors; name = "Bibata-Modern-Classic"; size = 24; }; gtk = { enable = true; package = pkgs.catppuccin-gtk; name = "Catppuccin-Mocha-Standard-Green-Dark"; variant = "mocha"; accentColour = "green"; iconTheme = { name = "Papirus-Dark"; package = pkgs.catppuccin-papirus-folders; }; }; qt = { enable = true; package = pkgs.catppuccin-kde; name = "Catppuccin-Mocha-Dark"; variant = "mocha"; accentColour = "green"; }; }; services = { dunst.enable = true; greetd = { enable = true; greeter = "gtkgreet"; launchOptions = [ "Hyprland" "sway" "zsh" "reboot" "shutdown now" ]; }; pipewire.enable = true; syncthing.enable = true; }; }; system.stateVersion = "23.11"; }