{ username, nix-colors, config, pkgs, lib, ... }:
let
nvim-spell-pl-utf8-dict = builtins.fetchurl {
url = "http://ftp.vim.org/vim/runtime/spell/pl.utf-8.spl";
sha256 = "1sg7hnjkvhilvh0sidjw5ciih0vdia9vas8vfrd9vxnk9ij51khl";
};
lux-scheme = builtins.fetchurl {
url = "https://git.jptrzy.xyz/lux-theme/plain/lux-theme.yaml?h=main";
};
nix-colors-lib = nix-colors.lib.contrib { inherit pkgs; };
schemeFromYaml = import ./schemeFromYAML.nix;
in {
imports = [
nix-colors.homeManagerModules.default
./firefox.nix
./addons/alacritty.nix
./addons/xresources.nix
];
colorScheme = schemeFromYaml "lux-scheme" (builtins.readFile lux-scheme);
home.username = "${username}";
home.homeDirectory = "/home/${username}";
home.stateVersion = "22.05"; # Please read the comment before changing.
# Allow Specific Unfree Packages
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
# Add additional package names here
"pureref"
"hplip"
];
home.packages = [
pkgs.picom
pkgs.libnotify
#pkgs.pureref
pkgs.hplipWithPlugin
(import ./sh/screenshot.nix {inherit pkgs; })
(import ./sh/wp.nix {inherit pkgs; })
(import ./sh/colors.nix {inherit pkgs; })
(import ./sh/yt.nix {inherit pkgs; })
(import ./sh/mpv.nix {inherit pkgs; })
(import ./dmenu-bluetooth.nix {
inherit (pkgs) stdenv fetchurl dmenu;
})
];
nixpkgs.config.packageOverrides = pkgs: {
nur = import (builtins.fetchTarball "https://github.com/nix-community/NUR/archive/master.tar.gz") {
inherit pkgs;
};
};
home.file = {
".config/nvim/spell/pl.utf-8.spl".source = nvim-spell-pl-utf8-dict;
".config/sx/sxrc".source = ./sxrc;
".local/share/gnupg/gpg-agent.conf".text = ''
debug-pinentry
debug ipc
verbose
enable-ssh-support
# disable-scdaemon
#pinentry-program /run/current-system/sw/bin/pinentry
pinentry-program /run/current-system/sw/bin/pinentry-gtk-2
'';
};
dconf = {
enable = true;
settings = {
"org/gnome/desktop/interface" = {
color-scheme = "prefer-dark";
};
};
};
gtk = {
enable = true;
font.name = "Neo Comic Mono 12";
theme = {
name = "lux-scheme";
package = nix-colors-lib.gtkThemeFromScheme {
scheme = config.colorScheme;
};
};
iconTheme = {
name = "Adwaita";
package = pkgs.gnome.adwaita-icon-theme;
};
cursorTheme = {
name = "Adwaita";
package = pkgs.gnome.adwaita-icon-theme;
};
};
services = {
dunst.enable = true;
};
programs = {
bash = {
enable = true;
shellAliases = {
nr = "sudo nixos-rebuild switch";
hr = "home-manager switch";
se = "sudoedit";
trans = "${pkgs.sdcv}/bin/sdcv --color";
yta = "yt-dlp -x --audio-format vorbis";
reading = "curl 'http://feed.evangelizo.org/v2/reader.php?lang=PL&type=all' | sed 's#\W+##g;s#
##g;s###g;s###g'";
};
sessionVariables = {
EDITOR = "nvim";
PATH = "$PATH:$HOME/.local/bin";
XDG_DATA_HOME = "$HOME/.local/share";
XDG_CONFIG_HOME = "$HOME/.config";
XDG_STATE_HOME = "$HOME/.local/state";
XDG_CACHE_HOME = "$HOME/.cache";
HISTFILE = "$HOME/.local/state/bash/history";
GNUPGHOME = "$HOME/.local/share/gnupg";
PASSWORD_STORE_DIR = "$HOME/.local/share/pass";
#QT_STYLE_OVERRIDE=adwaita
#QT_QPA_PLATFORMTHEME=gnome
};
profileExtra = ''
if [ -z "$DISPLAY" ] && [ "$XDG_VTNR" -eq 1 ]; then
exec sx
fi
'';
};
git = {
enable = true;
userEmail = "jptrzy@gmail.com";
userName = "Jakub Trzeciak";
signing = {
key = "FC040CC63D2527E3";
signByDefault = true;
};
};
};
}