115 lines
1.9 KiB
Nix
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;
|
|
}
|