{ lib, pkgs, ... }: let qutebrowser_firejail = pkgs.writeShellScriptBin "qutebrowser" '' firejail -- ${lib.getExe pkgs.qutebrowser} "$@" ''; in { imports = [./zsh.nix ./i3status-rust.nix ./sway.nix ./i3.nix ./home_packages.nix ./whatsapp-for-linux.nix]; home.stateVersion = "22.11"; home.username = "akill"; home.homeDirectory = "/home/akill"; xdg.enable = true; xdg.mimeApps = { enable = true; defaultApplications = { "application/pdf" = "sioyek.desktop"; "default-web-browser" = "org.qutebrowser.qutebrowser.desktop"; "text/html" = "org.qutebrowser.qutebrowser.desktop"; "x-scheme-handler/about" = "org.qutebrowser.qutebrowser.desktop"; "x-scheme-handler/http" = "org.qutebrowser.qutebrowser.desktop"; "x-scheme-handler/https" = "org.qutebrowser.qutebrowser.desktop"; "x-scheme-handler/unknown" = "org.qutebrowser.qutebrowser.desktop"; }; }; fonts.fontconfig.enable = true; home.sessionVariables = rec { BROWSER = lib.getExe qutebrowser_firejail; DEFAULT_BROWSER = "${BROWSER}"; EDITOR = "nvim"; _JAVA_AWT_WM_NONREPARENTING = "1"; MOZ_ENABLE_WAYLAND = "1"; NIXOS_OZONE_WL = "1"; QT_WAYLAND_DISABLE_WINDOWDECORATION = "1"; SUDO_EDITOR = "nvim"; WLR_RENDERER = "vulkan"; }; wayland.windowManager.sway = {enable = true;}; programs = { home-manager.enable = true; librewolf = { enable = true; package = pkgs.librewolf-wayland; settings = { "webgl.disable" = true; "middlemouse.paste" = false; }; }; tmux = { enable = true; clock24 = true; keyMode = "vi"; terminal = "screen-256color"; plugins = with pkgs.tmuxPlugins; [sysstat net-speed gruvbox]; }; mpv = { enable = true; config = { slang = "eng,en"; alang = "eng,en"; hwdec = "auto"; vo = "gpu-next"; ao = "pipewire"; script-opts-set = "ytdl_hook-ytdl_path=yt-dlp,sponsorblock-local_database=no,sponsorblock-skip_categories=[sponsor,intro,selfpromo]"; ytdl-format = "bestvideo[height<=?1080]+bestaudio/best"; }; bindings = { WHEEL_UP = "ignore"; WHEEL_DOWN = "ignore"; WHEEL_LEFT = "ignore"; WHEEL_RIGHT = "ignore"; }; }; alacritty = { enable = true; settings = { font = { normal.family = "JetBrainsMono"; italic.family = "JetBrainsMono"; bold.family = "JetBrainsMono"; bold_italic.family = "JetBrainsMono"; size = 14.0; }; selection = { text = "0xcfcfc2"; background = "0x232629"; normal = { black = "0x1c1b19"; red = "0xef2f27"; green = "0x519f50"; yellow = "0xfbb829"; blue = "0x2c78bf"; magenta = "0xe02c6d"; cyan = "0x0aaeb3"; white = "0x918175"; }; bright = { black = "0x2D2C29"; red = "0xf75341"; green = "0x98bc37"; yellow = "0xfed06e"; blue = "0x68A8E4"; magenta = "0xff5c8f"; cyan = "0x53fde9"; white = "0xfce8c3"; }; }; }; }; rofi = { enable = true; theme = "gruvbox-dark"; }; foot = { enable = true; server.enable = true; settings = { main = { font = "JetBrainsMono:size=10"; dpi-aware = "yes"; }; mouse = {hide-when-typing = "yes";}; }; }; qutebrowser = { enable = true; package = qutebrowser_firejail; keyBindings = { normal = { "j" = "scroll-px 0 25"; "k" = "scroll-px 0 -25"; "u" = "undo --window"; ";v" = "hint links spawn mpv {hint-url}"; }; }; settings = { content.notifications.enabled = false; content.pdfjs = true; content.webgl = false; fonts.completion.category = "14pt monospace"; fonts.completion.entry = "14pt monospace"; fonts.contextmenu = "14pt monospace"; fonts.debug_console = "14pt monospace"; fonts.downloads = "14pt monospace"; fonts.hints = "14pt monospace"; fonts.keyhint = "14pt monospace"; fonts.messages.info = "14pt monospace"; fonts.prompts = "14pt monospace"; fonts.statusbar = "14pt monospace"; hints.chars = "1qaz2wsx3edc4rfv5tgb6yhn7ujm8ik9ol0p"; tabs.last_close = "close"; tabs.position = "left"; tabs.show = "multiple"; tabs.tabs_are_windows = true; tabs.width = "12%"; zoom.default = "125%"; }; }; git = { enable = true; userName = "Asmir A"; userEmail = "asmir.abdulahovic@gmail.com"; extraConfig = { pull = {rebase = true;}; credential = {helper = "store";}; }; signing.key = "020C42B7A9ABA3E2"; signing.signByDefault = true; }; obs-studio = { enable = true; plugins = with pkgs.obs-studio-plugins; [obs-vkcapture input-overlay obs-multi-rtmp obs-pipewire-audio-capture wlrobs obs-vaapi]; }; i3status-rust.enable = true; z-lua.enable = true; zsh.enable = true; }; services = { lorri.enable = false; mako.enable = true; cliphist.enable = true; gammastep = { enable = true; latitude = "44.53"; longitude = "18.67"; temperature.day = 5500; temperature.night = 2900; }; gnome-keyring.enable = true; gpg-agent = { enable = true; defaultCacheTtl = 1800; enableSshSupport = true; }; swayidle = let locker = pkgs.writeShellScriptBin "swaylock_fancy" '' TMP_FILE=$(${pkgs.coreutils}/bin/mktemp /tmp/.swaylock_ss_XXXXXX.jpg) ${lib.getExe pkgs.grim} -t ppm - | ${pkgs.imagemagick}/bin/convert - -blur 0x12 "$TMP_FILE" ${lib.getExe pkgs.swaylock} -f -i "$TMP_FILE" ${pkgs.coreutils}/bin/rm "$TMP_FILE" ''; in { enable = true; events = [ { event = "before-sleep"; command = "${locker}/bin/swaylock_fancy"; } { event = "lock"; command = "${locker}/bin/swaylock_fancy"; } { event = "after-resume"; command = "${pkgs.procps}/bin/pkill -USR1 i3status-rs"; } ]; timeouts = [ { timeout = 15 * 60; command = "${locker}/bin/swaylock_fancy"; } ]; }; kanshi = { enable = true; settings = [ { profile.name = "undocked"; profile.outputs = [ { criteria = "eDP-1"; } ]; } { profile.name = "docked"; profile.outputs = [ { criteria = "eDP-1"; } { criteria = "Philips Consumer Electronics Company PHL 272S1 UHB2347026536"; mode = "1920x1080@74.973Hz"; } { criteria = "Philips Consumer Electronics Company PHL 272S1 UHB2347026535"; mode = "1920x1080@74.973Hz"; } ]; } ]; }; }; systemd.user = { services = { /* himalaya = { Unit.Description = "Himalaya new messages notifier"; Service = { ExecStart = "himalaya notify"; Restart = "always"; RestartSec = 10; }; Install = { WantedBy = [ "multi-user.target" ]; }; }; */ }; }; }