nix-conf/home.nix
2024-09-12 17:56:57 -05:00

146 lines
3.2 KiB
Nix

{ config, pkgs, ... }:
let
username = "ahnwuoa";
homeDirectory = "/home/${username}";
mkln = x: config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.local/nixos/${x}";
in
{
home.username = username;
home.homeDirectory = homeDirectory;
home.packages = with pkgs; [
firefox
alacritty
mpv
nsxiv
rofi
sct
maim
xclip
picom
obs-studio
screenkey
safeeyes
libsForQt5.kcalc
libsForQt5.kolourpaint
libsForQt5.filelight
libsForQt5.kate
papirus-icon-theme
pavucontrol
qpwgraph
qbittorrent
xournalpp
gnome.adwaita-icon-theme
lsd
bat
zoxide
fd
ripgrep
fzf
trash-cli
tlrc
micro
speedtest-cli
bluetuith
unixtools.xxd
starship
killall
file
alsa-utils
libnotify
python3
gnumake
coq
coqPackages.coqide
gcc
sqlitebrowser
tmuxPlugins.vim-tmux-navigator
tmuxPlugins.sessionist
wine
winetricks
cage
gdb
pwndbg
(cutter.withPlugins (ps: with ps; [ jsdec rz-ghidra sigdb ]))
pwntools
python311Packages.pwntools
python311Packages.angr
];
xdg.configFile.alacritty.source = mkln "config/alacritty";
xdg.configFile.awesome.source = mkln "config/awesome";
xdg.configFile.bash.source = mkln "config/bash";
xdg.configFile.fcitx5.source = config/fcitx5;
xdg.configFile.fontconfig.source = config/fontconfig;
xdg.configFile.lsd.source = config/lsd;
xdg.configFile.picom.source = config/picom;
xdg.configFile.python.source = config/python;
xdg.configFile.qt5ct.source = config/qt5ct;
xdg.configFile.readline.source = config/readline;
xdg.configFile."starship.toml".source = config/starship.toml;
xdg.configFile.sx.source = mkln "config/sx";
xdg.configFile."tmux/tmux.conf".text = (builtins.readFile config/tmux/tmux.conf) + ''
run ${pkgs.tmuxPlugins.vim-tmux-navigator.rtp}
run ${pkgs.tmuxPlugins.sessionist.rtp}
'';
fonts.fontconfig.enable = false;
qt = {
enable = true;
platformTheme.name = "qtct";
style.name = "breeze";
style.package = pkgs.libsForQt5.breeze-qt5;
};
gtk = {
enable = true;
gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
theme = {
name = "Breeze";
package = pkgs.libsForQt5.breeze-gtk;
};
};
home.pointerCursor = {
name = "breeze_cursors";
package = pkgs.libsForQt5.breeze-qt5;
size = 24;
gtk.enable = true;
};
home.file.".icons/default/index.theme".enable = false;
home.file.".icons/breeze_cursors".enable = false;
xdg.mimeApps.enable = true;
xdg.mimeApps.defaultApplications = let
image = "nsxiv.desktop";
browser = "firefox.desktop";
text = "nvim.desktop";
media = "mpv.desktop";
in {
"image/jpeg" = image;
"image/png" = image;
"image/gif" = media;
"audio/mpeg" = media;
"audio/ogg" = media;
"audio/vorbis" = media;
"audio/x-vorbis+ogg" = media;
"video/mp4" = media;
"video/mpeg" = media;
"text/plain" = text;
"application/xml" = text;
};
xdg.portal = {
enable = true;
configPackages = [ pkgs.libsForQt5.xdg-desktop-portal-kde ];
extraPortals = [ pkgs.libsForQt5.xdg-desktop-portal-kde ];
config.common.default = "kde";
};
home.stateVersion = "24.05";
}