dotfiles/host/home.nix
2024-01-29 19:56:18 -07:00

115 lines
1.9 KiB
Nix

{ pkgs, lib, ... }:
let
terminal = "kitty";
# newm = inputs.newmpkgs.packages.${system}.newm-atha;
packages = [
# Utility
pkgs.bitwarden
pkgs.vimiv-qt
# Visual
pkgs.imagemagick
pkgs.kate
pkgs.helix
pkgs.howl
#Games
pkgs.prismlauncher-qt5
# Env
pkgs.eww-wayland
pkgs.socat
pkgs.jq
];
nonFreePackages = [
"discord"
];
in {
custom.colors = import ../themes/colors/base16-monokai.nix;
custom.wallpaper = ../wallpapers/blip-blip-blip-blip.jpg;
home = {
sessionVariables = {
EDITOR = "kate";
BROWSER = "qutebrowser";
TERMINAL = "kitty";
TERM = "kitty";
FILEMANAGER = "kitty lf";
# Tell Electron apps it's wayland
NIXOS_OZONE_WL = 1;
};
sessionPath = [
"$HOME/.local/bin"
];
stateVersion = "23.11";
};
# Add packages
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) nonFreePackages;
home.packages =
map (name: pkgs.${name}) nonFreePackages
++ packages;
xdg.mimeApps = {
enable = true;
};
# Directories
xdg.userDirs = {
createDirectories = false;
download = "$HOME/downloads";
music = "$HOME/music";
};
# Openers
xdg.mimeApps.defaultApplications = {
"inode/directory" = [
# "lf.desktop"
"kitty-open.desktop"
];
};
# Standard programs
programs.bat = {
enable = true;
config = {
paging = "never";
};
};
# lf
programs.lf = {
enable = true;
commands = {
q = "quit"; # Why didn't they do this btw
};
keybindings = {
"<enter>" = "$$OPENER $f";
};
};
xdg.desktopEntries.lf = {
name = "LF";
genericName = "File browser";
exec = "lf %U";
terminal = true;
mimeType = [ "inode/directory" ];
};
# Take over my xsession
xsession.enable = true;
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}