{ lib, system, inputs, pkgs, config, ... }: { imports = [ ./modules/greetd ]; system.extraDependencies = with pkgs; [ ungoogled-chromium ]; environment.systemPackages = with pkgs; [ nix-output-monitor ]; environment.sessionVariables.FLAKE = "/home/admin/nixnew"; programs.steam = { enable = true; extraCompatPackages = [ pkgs.proton-ge-bin ]; }; fonts = { enableDefaultPackages = false; packages = (with inputs.stable.legacyPackages.${system}; [ dejavu_fonts nerdfonts noto-fonts noto-fonts-cjk-sans ]) ++ (with pkgs; [ material-symbols font-awesome corefonts vistafonts ]); fontconfig = { defaultFonts = { serif = [ "DejaVu Serif" ]; sansSerif = [ "DejaVu Sans" ]; monospace = [ "JetBrainsMono Nerd Font" ]; }; }; }; programs.ssh = { enableAskPassword = true; askPassword = lib.getExe pkgs.lxqt.lxqt-openssh-askpass; startAgent = true; }; systemd = { # kde polkit agent user.services.polkit-agent = { wants = [ "graphical-session.target" ]; after = [ "graphical-session.target" ]; serviceConfig = { Type = "simple"; ExecStart = "${pkgs.kdePackages.polkit-kde-agent-1}/libexec/polkit-kde-authentication-agent-1"; Restart = "on-failure"; RestartSec = 1; TimeoutStopSec = 10; }; }; }; environment.variables = { XCURSOR_SIZE = "24"; }; programs = { gnupg.agent = { enable = true; pinentryPackage = pkgs.pinentry-qt; }; kdeconnect = { package = pkgs.kdePackages.kdeconnect-kde; enable = true; }; }; services = { syncthing = { enable = true; user = config.main-user; dataDir = "/home/${config.main-user}/.syncthing"; configDir = "/home/${config.main-user}/.config/syncthing"; }; }; networking.firewall = { allowedTCPPorts = [ # syncthing TCP 22000 ]; allowedUDPPorts = [ # syncthing QUIC 22000 # syncthing discovery 21027 ]; }; home-manager.users.${config.main-user} = homeInputs: let homeConfig = homeInputs.config; in { imports = [ ./modules/quickshell ./modules/fcitx5 ./modules/wofi ./modules/dolphin ./modules/firefox ./modules/element.nix ./modules/keepassxc ./dev-support.nix ]; home.packages = with pkgs; [ kwrite krita gimp vlc mpv qimgv kdePackages.filelight kdePackages.kirigami kdePackages.kquickcharts # deps curl cantata logseq lxqt.pavucontrol-qt helvum htop btop speedcrunch libreoffice-qt6 ripgrep fd qbittorrent signal-desktop anki-bin kid3 wireshark mumble freetube jujutsu distrobox xdg-utils light kicad unrar # used by ark libnotify # test with it a lot kdePackages.merkuro kdePackages.akonadi ]; programs = { alacritty = import ./config/alacritty.nix; }; programs = { direnv = { enable = true; nix-direnv.enable = true; }; }; services = { mpd = { enable = true; musicDirectory = "/pool/music"; network.startWhenNeeded = true; extraConfig = '' audio_output { type "pipewire" name "Pipewire" } replaygain "track" replaygain_limit "no" ''; }; }; }; }