dotfiles/home.nix
2025-10-05 21:31:56 +02:00

392 lines
9.7 KiB
Nix

{ colmena, zen-browser, nix-gaming, nixpkgs-unstable, /* suyu, */hyprland-plugins/*, hyprland*/, ... }:
{ pkgs, inputs, ...}:
let
unstable = import nixpkgs-unstable {
system = pkgs.system;
config = {
allowUnfree = true;
};
};
in
{
imports = [
zen-browser.homeModules.beta
];
home = {
stateVersion = "24.05";
packages = with pkgs; [
linuxKernel.packages.linux_6_12.perf
obs-studio
flamegraph
samply
font-awesome
arduino-ide
xorg.libxkbfile
# dioxus-cli
cosmic-files
cosmic-player
cosmic-screenshot
cosmic-applibrary
cosmic-ext-calculator
cosmic-icons
examine
flix
postgresql
upower
usbutils
killall
powertop
pgadmin4-desktopmode
thunderbird-bin
logisim-evolution
typst
typstyle
typstwriter
colmena.defaultPackage.${system}
usbimager
bitwarden-desktop
metasploit
lenovo-legion
burpsuite
zap
kubernetes-helm
# required by quickshell config
unstable.quickshell
wlogout
fuzzel
translate-shell
hyprpicker
hypridle
hyprland-qtutils
hyprwayland-scanner
hyprcursor
material-symbols
cava
cliphist
matugen
swww
kdePackages.fcitx5-with-addons
easyeffects
mpvpaper
uv
hyprshot
libsecret
hyprls
ddcutil
brightnessctl
libqalculate
# cloud things
minikube
nebula
nixpkgs-unstable.legacyPackages.${system}.jet-pilot
k9s
prismlauncher
lf
rawtherapee
syncthingtray
anki-bin
xournalpp
simple-scan
godot_4
#rar
wootility
surrealdb
pico-sdk
elf2uf2-rs
obsidian
betaflight-configurator
home-manager
glxinfo
pciutils
nix-top
grc
onefetch
inter
fira
fira-code
# fira-code-nerdfont
nerd-fonts.fira-code
iosevka
kitty
#rofi-wayland
rofi
discord
vesktop
spotify
spicetify-cli
meslo-lgs-nf
waybar
chromium
#dunst
sccache
swaybg
activitywatch
networkmanagerapplet
kubectl
duf
dust
#jetbrains.webstorm
#jetbrains.clion
jetbrains.datagrip
# jetbrains.rider
jetbrains.idea-ultimate
jre_minimal
datovka
nwg-displays
wireguard-tools
mongodb-compass
unstable.mongodb-tools
#hashcat
tldr
#dunst
grim
slurp
wl-clipboard
nextcloud-client
kdePackages.filelight
kdePackages.kate
kdePackages.ksystemstats
kdePackages.kinfocenter
kdePackages.kirigami-addons
kdePackages.ark
kdePackages.qtdeclarative
kdePackages.dolphin
cachix
playerctl
libcanberra-gtk3 # sound events
qt6ct
nil # nix language server
nix-output-monitor
expect
nh
udev-block-notify
appimage-run
mpv
heroic
heaptrack
#cinny-desktop
gping
gparted
valgrind
caddy
jq
htmlq
fzf
gleam
erlang
terraform
nodejs
corepack
ansible
aria2
qbittorrent
audacity
bettercap
duperemove
ffmpeg
flameshot
ripgrep
iotop
nethogs
john
iperf
mold
nheko
quickemu
qemu
socat
websocat
whois
#wifite2
dig
httpie
inxi
numbat
wireshark
nixfmt-rfc-style
qpwgraph
nixpkgs-unstable.legacyPackages.${system}.zed-editor
nixpkgs-unstable.legacyPackages.${system}.pineflash
unstable.nosql-booster
android-tools
hyperfine
scc
aircrack-ng
strace
ghidra
ffuf
sqlmap
nmap
rustscan
thc-hydra
file
binwalk
p7zip
foremost
gdb
feroxbuster
python312Packages.pypykatz
screen
openvpn
#ghostty
mdbook
nix-tree
nix-du
graphviz
blender
warpinator
awatcher
tigervnc
oh-my-posh
libva-utils
atuin
jc
lsof
carapace
crate2nix
liberation_ttf
noto-fonts-color-emoji
rubik
nerd-fonts.jetbrains-mono
google-fonts
];
pointerCursor = {
gtk.enable = true;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
size = 16;
};
};
gtk = {
enable = true;
theme = {
package = pkgs.orchis-theme;
name = "Orchis";
};
};
services.lorri.enable = true;
wayland.windowManager.hyprland = {
# enable = true;
# package = hyprland.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
# portalPackage = hyprland.packages.${pkgs.stdenv.hostPlatform.system}.xdg-desktop-portal-hyprland;
# plugins = [
# hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprexpo
# hyprland-plugins.packages.${pkgs.stdenv.hostPlatform.system}.hyprtrails
# ];
};
fonts.fontconfig = {
enable = true;
defaultFonts = {
emoji = ["Noto Color Emoji"];
monospace = ["Iosevka" "Iosevka NF" "FiraCode Nerd Font Mono"];
sansSerif = ["Inter"];
serif = ["Noto Serif"];
};
};
programs = {
zen-browser.enable = true;
fish = {
enable = true;
shellInit = ''
source ~/.config/fish/config-old.fish
'';
plugins = with pkgs.fishPlugins; [
{ name = "grc"; src = grc.src; }
{ name = "tide"; src = tide.src; }
];
};
nushell = {
enable = true;
# unstable, perhaps 25.05
# plugins = with pkgs.nushellPlugins; [
# query
# skim
# net
# highlight
# gstat
# formats
# dbus
# units
# ];
# configFile.source = ./.config/nushell/base-config.nu;
configFile.text = ''source base-config.nu'';
};
vscode = {
enable = true;
# package = nixpkgs-unstable.packages.${pkgs.system}.vscode;
# package = unstable.pkgs.vscode;
# extensions = with pkgs.vscode-extensions; [
# ];
};
git = {
enable = true;
userName = "Daniel Bulant";
userEmail = "danbulant@gmail.com";
difftastic.enable = true;
signing = {
signByDefault = true;
key = "/home/dan/.ssh/id_ed25519";
};
extraConfig = {
pull.rebase = false;
pull.ff = "only";
gpg.format = "ssh";
commit.gpgsign = true;
gpg.ssh.allowedSignersFile = "/home/dan/allowed_signers";
};
};
gitui.enable = true;
btop.enable = true;
bat.enable = true;
lsd.enable = true;
fastfetch.enable = true;
direnv.enable = true;
direnv.nix-direnv.enable = true;
};
services.kdeconnect.enable = true;
services.kdeconnect.indicator = true;
services.blueman-applet.enable = true;
services.mpris-proxy.enable = true;
xdg.mimeApps = {
enable = true;
defaultApplications = {
"x-scheme-handler/http"="zen-beta.desktop";
"x-scheme-handler/https"="zen-beta.desktop";
"x-scheme-handler/chrome"="zen-beta.desktop";
"text/html"="zen-beta.desktop";
"application/x-extension-htm"="zen-beta.desktop";
"application/x-extension-html"="zen-beta.desktop";
"application/x-extension-shtml"="zen-beta.desktop";
"application/xhtml+xml"="zen-beta.desktop";
"application/x-extension-xhtml"="zen-beta.desktop";
"application/x-extension-xht"="zen-beta.desktop";
"x-scheme-handler/discord"="vesktop.desktop";
};
};
}