{ config, lib, pkgs, inputs, ... }: { imports = [ ./hardware-configuration.nix ../../profiles/graphical.nix ../../mixins/tailscale.nix ../../mixins/cli.nix ../../mixins/greet.nix ../../mixins/sway.nix ../../mixins/pipewire.nix ../../mixins/multimedia.nix ../../mixins/syncthing.nix ../../mixins/firefox # ../../mixins/firefox/absolute-minimum.nix ]; config = { boot = { tmp.cleanOnBoot = true; initrd = { supportedFilesystems = ["btrfs"]; availableKernelModules = ["xhci_pci" "ahci" "nvme" "usb_storage" "sd_mod" "usbhid" "snd_usb_audio"]; }; supportedFilesystems = ["ntfs"]; kernelModules = ["kvm-intel" "snd-seq" "snd-rawmidi" "bridge" "hid_logitech_dj" "hid_logitech_hidpp"]; kernelPackages = lib.mkDefault pkgs.linuxPackages_latest; # extraModulePackages = [ config.boot.kernelPackages.rtl8821ce ]; loader = { systemd-boot = { enable = true; }; efi = { canTouchEfiVariables = true; efiSysMountPoint = "/boot"; }; }; }; time.timeZone = lib.mkDefault "Israel"; zramSwap = { enable = true; algorithm = "zstd"; }; systemd.network.networks."10-wlp1s0" = { matchConfig.Name = "wlp1s0"; networkConfig.DHCP = "yes"; dhcpV4Config = { UseDNS = false; }; dhcpV6Config = { UseDNS = false; }; # apparently this is what i need to disable dhcpv6 dns servers, but this breaks my network #ipv6AcceptRAConfig = { # UseDNS = false; # DHCPv6Client = false; #}; }; # # iwd networking stuffs # networking.networkmanager.enable = lib.mkForce false; #networking.wireless.iwd = { # enable = true; # settings = { # Settings.AutoConnect = true; # }; #}; services.connman = { enable = true; #wifi.backend = "iwd"; }; # fucks up wpa_supplicant security.lockKernelModules = lib.mkForce false; networking.wireless = { dbusControlled = true; userControlled.enable = true; enable = true; }; #networking.wireless.dbusControlled = true; # home-manager.users.tzlil.home.packages = []; #networking.wireless.userControlled.enable = true; #networking.wireless.enable = true; # services.tor = { # enable = true; # openFirewall = true; # client.enable = true; # torsocks.enable = true; # }; environment.persistence."/nix/persist" = { directories = [ "/etc/NetworkManager/system-connections" "/var/lib/docker" ]; users.tzlil = { directories = [".config/SchildiChat" ".local/share/Terraria" ".local/share/Steam"]; }; }; home-manager.users.tzlil = { home.packages = [ pkgs.schildichat-desktop-wayland pkgs.keepassxc pkgs.gtkcord4 pkgs.cmst (pkgs.stdenv.mkDerivation rec { name = "pragmata"; version = "1.0"; src = ./pragmata; installPhase = '' install -D ${src}/Pragmata_Pro_Bold_Italic.otf $out/share/fonts/opentype/Pragmata_Pro_Bold_Italic.otf install -D ${src}/Pragmata_Pro_Bold.otf $out/share/fonts/opentype/Pragmata_Pro_Bold.otf install -D ${src}/Pragmata_Pro_Italic.otf $out/share/fonts/opentype/Pragmata_Pro_Italic.otf install -D ${src}/Pragmata_Pro_Mono_Bold_Italic.otf $out/share/fonts/opentype/Pragmata_Pro_Mono_Bold_Italic.otf install -D ${src}/Pragmata_Pro_Mono_Bold.otf $out/share/fonts/opentype/Pragmata_Pro_Mono_Bold.otf install -D ${src}/Pragmata_Pro_Mono_Italic.otf $out/share/fonts/opentype/Pragmata_Pro_Mono_Italic.otf install -D ${src}/Pragmata_Pro_Mono_Regular.otf $out/share/fonts/opentype/Pragmata_Pro_Mono_Regular.otf install -D ${src}/Pragmata_Pro_Regular.otf $out/share/fonts/opentype/Pragmata_Pro_Regular.otf ''; }) (pkgs.cutter.withPlugins (ps: with ps; [rz-ghidra sigdb])) ]; programs.foot.settings.main.font = "Pragmata Pro Mono:size=20"; # programs.qutebrowser = { # enable = true; # settings.colors.webpage.darkmode.enabled = true; # }; }; programs.steam.enable = true; programs.firejail.wrappedBinaries = { mullvad-browser = { executable = lib.getExe pkgs.mullvad-browser; extraArgs = [ "--env=MOZ_ENABLE_WAYLAND=1" "--env=GTK_THEME=Adwaita:dark" ]; # profile = "${pkgs.firejail}/etc/firejail/firefox.profile"; }; }; # greeter.initialSession = "${pkgs.fish}/bin/fish"; hardware.opengl = { enable = true; extraPackages = with pkgs; [rocm-opencl-icd rocm-opencl-runtime]; driSupport = true; driSupport32Bit = true; }; networking.firewall.allowedTCPPorts = [25565]; services = { power-profiles-daemon.enable = true; thermald.enable = true; tlp = { settings = { CPU_BOOST_ON_AC = 1; CPU_BOOST_ON_BAT = 0; CPU_SCALING_GOVERNOR_ON_AC = "performance"; CPU_SCALING_GOVERNOR_ON_BAT = "powersave"; }; }; acpid.enable = true; }; services.blueman.enable = true; virtualisation.docker.enable = true; virtualisation.docker.storageDriver = "btrfs"; # pragmata # home-manager.users.tzlil.home.packages = [ # ]; }; }