nix-config/home/nixos-common.nix

185 lines
3.7 KiB
Nix

{ config, inputs, pkgs, stablePkgs, ... }:
{
nixpkgs.config = { allowUnfree = true; };
nixpkgs.overlays = [
# (self: super: {
# # use lf fork with support for sixel graphics
# lf = super.lf.overrideAttrs (old: {
# src = super.fetchFromGitHub {
# owner = "horriblename";
# repo = "lf";
# rev = "8997e5b03772d5628ed6a490777048581d978674";
# sha256 = "rJq2Tv3py6HvRI1O2odTdGb1ksdijhO3FcJsPj5dm34=";
# };
# });
# })
(self: super: {
# get latest version of kile-wl for compatibility with river's latest version
kile-wl = super.kile-wl.overrideAttrs (old: rec {
version = "2023-04-13";
src = super.fetchFromGitLab {
owner = "snakedye";
repo = "kile";
rev = "d5b6c1fd0f260e823e08811dae202e9394037c43";
sha256 = "sha256-bWtuLSw4e57YOjdzbY7yobbe4kp67YzG15nhNce3pxA=";
};
cargoDeps = old.cargoDeps.overrideAttrs (_: {
inherit src;
outputHash = "sha256-yXIW1/KHmUS9ubRYI8nAKD2VZaQ+vCyCBhm788pLpwA=";
});
});
})
# I need the stable version of river to keep it compatible with kile
# (self: super: { river = stablePkgs.river; })
# these packages seem to be broken on the unstable channel, so I'm using
# the stable versions for now
];
# Let Home Manager install and manage itself.
# programs.home-manager.enable = true;
# Home Manager needs a bit of information about you and the
# paths it should manage.
home.username = "rilla";
home.homeDirectory = "/home/rilla";
imports = [
./arduino
./barrier
./browsers
./cheat
./dav
./drawterm
./fonts
./git
./gotify
./gpg
./idasen
./lf
./mail
./maker
# ./minidisc
./mpd
./msg
./music
./neovim
#./nsxiv
./pass
./rss
./snapcast
./sound
./ssh
./syncthing
./tmux
./vitetris
./wallets
./wine
./xdg
./zsh
];
home.sessionVariables = {
EDITOR = "${pkgs.neovim}/bin/nvim";
VISUAL = "${pkgs.neovim}/bin/nvim";
BROWSER = "${pkgs.firefox}/bin/firefox";
# OPENER = "todo"; # todo
TERMINAL = "${pkgs.alacritty}/bin/alacritty";
CM_LAUNCHER = "rofi"; # for clipmenu
LEDGER_FILE = "${config.home.homeDirectory}/finance/2021.journal";
};
home.packages = with pkgs; [
# calibre
R
acpi
android-tools
ansible
bind.dnsutils
# pyenv
docker-compose
file
gimp
gnumake
html-tidy
htop
inetutils # telnet
j2cli
john
jq
killall
kubectl
libnotify
libreoffice
lxqt.pcmanfm-qt
mosh
mpv
neofetch
pynitrokey
networkmanagerapplet
nextcloud-client
pandoc
podman-compose
pv
ripgrep
sassc
screen
shellcheck
signify
unzip
vagrant
virt-manager
virtiofsd
wget
];
# services.kdeconnect = {
# enable = true;
# indicator = true;
# };
programs.bat = {
enable = true;
config = { theme = "gruvbox-dark"; };
};
programs.fzf = {
enable = true;
enableZshIntegration = true;
# defaultOptions = [
# "--preview --preview 'bat --color=always --style=header,grid --line-range :300 {}'"
# ];
tmux.enableShellIntegration = true;
};
services.gnome-keyring = {
enable = true;
components = [ "secrets" ];
};
#services.nextcloud-client = {
# enable = true;
# startInBackground = true;
#};
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
"autoconnect" = [ "qemu:///system" ];
"uris" = [ "qemu:///system" ];
};
};
programs.direnv = {
enable = true;
enableZshIntegration = true;
nix-direnv.enable = true;
};
home.stateVersion = "22.11";
}