nix-conf/user/home.nix

166 lines
3.9 KiB
Nix
Raw Normal View History

2024-08-23 14:52:05 -04:00
{ config, pkgs, ... }:
let
username = "ahnwuoa";
homeDirectory = "/home/${username}";
2024-10-11 02:00:10 -04:00
mkln = x: config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.local/nixos/user/${x}";
2024-08-23 14:52:05 -04:00
in
{
home.username = username;
home.homeDirectory = homeDirectory;
home.packages = with pkgs; [
2024-09-23 23:26:02 -04:00
(pkgs.symlinkJoin {
name = "firefox";
2024-10-04 20:07:34 -04:00
paths = [ pkgs.stable.firefox ];
2024-09-23 23:26:02 -04:00
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/firefox \
--set HOME "${homeDirectory}/.local/share"
'';
})
2024-08-23 14:52:05 -04:00
alacritty
mpv
nsxiv
rofi
sct
maim
xclip
2024-10-11 00:48:32 -04:00
copyq
2024-09-12 00:01:41 -04:00
picom
obs-studio
screenkey
2024-10-11 01:15:11 -04:00
pkgs.stable.safeeyes
2024-08-23 14:52:05 -04:00
libsForQt5.kcalc
libsForQt5.kolourpaint
libsForQt5.filelight
2024-09-12 00:01:41 -04:00
libsForQt5.kate
2024-08-23 14:52:05 -04:00
papirus-icon-theme
pavucontrol
qpwgraph
2024-09-12 00:01:41 -04:00
qbittorrent
xournalpp
2024-10-04 20:07:34 -04:00
adwaita-icon-theme
2024-08-23 14:52:05 -04:00
lsd
bat
zoxide
fd
ripgrep
fzf
trash-cli
tlrc
speedtest-cli
bluetuith
unixtools.xxd
starship
2024-09-12 00:01:41 -04:00
killall
file
alsa-utils
libnotify
2024-08-23 14:52:05 -04:00
2024-09-23 02:32:46 -04:00
(python311.withPackages (python-pkgs: [
python-pkgs.pwntools
2024-10-04 20:03:49 -04:00
# python-pkgs.angr
python-pkgs.requests
python-pkgs.pyjwt
python-pkgs.flask
2024-09-23 02:32:46 -04:00
]))
2024-08-23 14:52:05 -04:00
gnumake
2024-09-12 00:01:41 -04:00
coq
coqPackages.coqide
gcc
sqlitebrowser
2024-08-23 19:55:31 -04:00
tmuxPlugins.vim-tmux-navigator
tmuxPlugins.sessionist
2024-09-12 00:01:41 -04:00
wine
winetricks
cage
gdb
pwndbg
(cutter.withPlugins (ps: with ps; [ jsdec rz-ghidra sigdb ]))
2024-09-23 02:32:46 -04:00
ghidra-bin
2024-10-04 20:03:49 -04:00
pwninit
patchelf
2024-08-23 14:52:05 -04:00
];
2024-08-23 19:55:31 -04:00
xdg.configFile.alacritty.source = mkln "config/alacritty";
xdg.configFile.awesome.source = mkln "config/awesome";
xdg.configFile.bash.source = mkln "config/bash";
2024-09-08 19:48:03 -04:00
xdg.configFile.fcitx5.source = config/fcitx5;
2024-08-23 19:55:31 -04:00
xdg.configFile.fontconfig.source = config/fontconfig;
2024-10-11 01:50:53 -04:00
xdg.configFile."gdb/gdbinit.py".source = config/gdb/gdbinit.py;
xdg.configFile."gdb/gdbinit".text = ''
source ${pkgs.pwndbg}/share/pwndbg/gdbinit.py
source ~/.config/gdb/gdbinit.py
'';
2024-09-23 23:26:02 -04:00
xdg.configFile.git.source = config/git;
2024-08-23 19:55:31 -04:00
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;
2024-08-23 14:52:05 -04:00
qt = {
enable = true;
platformTheme.name = "qtct";
style.name = "breeze";
style.package = pkgs.libsForQt5.breeze-qt5;
};
2024-08-23 16:57:09 -04:00
gtk = {
enable = true;
gtk2.configLocation = "${config.xdg.configHome}/gtk-2.0/gtkrc";
2024-09-12 00:35:57 -04:00
theme = {
name = "Breeze";
package = pkgs.libsForQt5.breeze-gtk;
};
2024-08-23 16:57:09 -04:00
};
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;
2024-08-23 16:58:18 -04:00
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;
2024-09-12 18:56:57 -04:00
2024-08-23 16:58:18 -04:00
"audio/mpeg" = media;
2024-09-12 18:56:57 -04:00
"audio/ogg" = media;
"audio/vorbis" = media;
"audio/x-vorbis+ogg" = media;
2024-08-23 16:58:18 -04:00
"video/mp4" = media;
"video/mpeg" = media;
2024-09-12 18:56:57 -04:00
2024-08-23 16:58:18 -04:00
"text/plain" = text;
"application/xml" = text;
};
2024-09-11 23:59:08 -04:00
xdg.portal = {
enable = true;
configPackages = [ pkgs.libsForQt5.xdg-desktop-portal-kde ];
extraPortals = [ pkgs.libsForQt5.xdg-desktop-portal-kde ];
config.common.default = "kde";
};
2024-08-23 14:52:05 -04:00
home.stateVersion = "24.05";
}