{ config, osConfig, pkgs, ... }: { home.username = "lgm"; home.homeDirectory = "/home/lgm"; imports = [ ./email.nix ]; # https://nixos-and-flakes.thiscute.world/nixos-with-flakes/start-using-home-manager # Packages that should be installed to the user profile. home.packages = with pkgs; [ # TODO categorize later pixelorama helvum kooha mangohud mcstatus autossh godot_4 ffmpeg cheat glxinfo # my scripts # ((import ../scripts/rebuild.nix) {inherit pkgs;}) # outdated wineWowPackages.waylandFull openconnect # file editing onlyoffice-bin # theming kdePackages.qtstyleplugin-kvantum # osConfig.nur.repos.baduhai.koi (catppuccin-gtk.override { variant = "latte"; accents = [ "yellow" ]; }) (catppuccin-kde.override { flavour = [ "macchiato" "latte" ]; accents = [ "yellow" ]; }) (catppuccin-kvantum.override { variant = "Latte"; accent = "Yellow"; }) (catppuccin-kvantum.override { variant = "Macchiato"; accent = "Yellow"; }) # web protonvpn-gui protonvpn-cli # security keepassxc onlykey onlykey-agent kdePackages.plasma-vault gpgme.dev # For mailvelope neofetch kdePackages.yakuake kdePackages.kgpg # for Application Title Bar plasmoid kdePackages.kconfig # messaging (discord.override { withOpenASAR = true; }) vesktop telegram-desktop signal-desktop kdePackages.tokodon kdePackages.neochat # pkgs-unstable.cinny-desktop # pkgs-unstable.thunderbird # see programs.thunderbird # graphics gimp krita inkscape-with-extensions blockbench-electron # games prismlauncher xonotic superTux superTuxKart lutris minetest # dev # Wrap idea-community to add libraries required for Minecraft Moddev (symlinkJoin { name = "idea-community"; paths = [ jetbrains.idea-community ]; buildInputs = [ makeWrapper ]; postBuild = '' wrapProgram $out/bin/idea-community \ --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [libpulseaudio libGL glfw openal stdenv.cc.cc.lib]}" ''; }) packwiz # vscodium # see programs.vscode #nnn # terminal file manager # archives # zip # xz # unzip # p7zip # utils ani-cli yt-dlp mosh appimage-run ncdu # btrfs tools btdu # ncdu but for btrfs compsize ripgrep # recursively searches directories for a regex pattern jq # A lightweight and flexible command-line JSON processor eza # networking tools dnsutils # `dig` + `nslookup` ldns # replacement of `dig`, it provide the command `drill` aria2 socat # replacement of openbsd-netcat nmap # A utility for network discovery and security auditing # etc vlc qbittorrent # misc cowsay # file # which tree # gnused # gnutar # gawk # zstd gnupg sops # nix related nix-output-monitor glow # markdown previewer in terminal btop # replacement of htop/nmon iotop # io monitoring iftop # network monitoring # system call monitoring strace # system call monitoring ltrace # library call monitoring lsof # list open files # system tools file # sysstat lm_sensors # for `sensors` command # ethtool pciutils # lspci usbutils # lsusb # android-tools monero-gui ]; # gnome network manager applet since plasma-nm is not using Secret Service # https://invent.kde.org/plasma/plasma-nm/-/issues/7 services.network-manager-applet.enable = true; # Requires tray.target by default so let's remove it systemd.user.services.network-manager-applet.Unit = { Requires = pkgs.lib.mkOverride 0 [ ]; After = pkgs.lib.mkOverride 0 [ "graphical-session-pre.target" ]; }; # Email stuff programs.thunderbird = { enable = true; package = pkgs.thunderbird; profiles = { lgmrszd = { isDefault = true; withExternalGnupg = true; }; }; }; programs.firefox = { enable = true; }; # --------- services.nextcloud-client = { enable = true; }; programs.java = { enable = true; package = pkgs.jetbrains.jdk; }; programs.git = { enable = true; delta.enable = true; signing = { signByDefault = true; key = "D3067BE844D3FC49535A47B29396B8BA6FBB14DE"; }; userName = "Lgmrszd"; userEmail = "lgmrszd@disroot.org"; extraConfig = { init = { defaultBranch = "main"; }; }; }; programs.pazi = { enable = true; enableFishIntegration = true; }; programs.fzf = { enable = true; enableFishIntegration = true; }; programs.vscode = { enable = true; package = pkgs.vscodium; extensions = with pkgs.vscode-extensions; [ jnoortheen.nix-ide ]; }; programs.obs-studio = { enable = true; plugins = with pkgs.obs-studio-plugins; [ obs-vkcapture obs-pipewire-audio-capture obs-tuna obs-scale-to-sound obs-source-switcher obs-gstreamer input-overlay advanced-scene-switcher ]; }; programs.starship = { enable = true; # custom settings settings = { add_newline = false; aws.disabled = true; gcloud.disabled = true; # line_break.disabled = true; }; }; programs.fish = { enable = true; plugins = [ { name = "forgit"; src = pkgs.fishPlugins.forgit.src; } { name = "fzf"; src = pkgs.fishPlugins.fzf.src; } ]; }; programs.bash = { enable = true; enableCompletion = true; }; # This value determines the home Manager release that your # configuration is compatible with. This helps avoid breakage # when a new home Manager release introduces backwards # incompatible changes. # # You can update home Manager without changing this value. See # the home Manager release notes for a list of state version # changes in each release. home.stateVersion = "23.05"; # Let home Manager install and manage itself. programs.home-manager.enable = true; }