mirror of
https://git.lgmrszd.xyz/Lgmrszd/nix-cfg.git
synced 2024-11-29 14:08:43 +01:00
307 lines
6.2 KiB
Nix
307 lines
6.2 KiB
Nix
{ 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";
|
|
})
|
|
|
|
remmina
|
|
# 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
|
|
mumble
|
|
kdePackages.tokodon
|
|
kdePackages.neochat
|
|
# pkgs-unstable.cinny-desktop
|
|
# pkgs-unstable.thunderbird # see programs.thunderbird
|
|
# graphics
|
|
gimp
|
|
krita
|
|
inkscape-with-extensions
|
|
# blockbench
|
|
# 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;
|
|
}
|