nix-config/home/nixos-common.nix

261 lines
5.5 KiB
Nix

{ config, inputs, pkgs, stablePkgs, ... }:
{
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 = "latest";
src = super.fetchFromGitLab {
owner = "snakedye";
repo = "kile";
rev = "d5ab8483c4c8bae6b3a704b87ccc26bae21dca07";
sha256 = "sha256-q8jpC2FZ+pj/5bOn7pugka/RlXOfegXelpCn+kRqEdo=";
};
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
(self: super: { helvum = stablePkgs.helvum; })
(self: super: { khal = stablePkgs.khal; })
];
# 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
./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.persistence = {
"/mnt/data/${config.home.homeDirectory}" = {
directories = [
"Audio"
"Calendars"
"Contacts"
"Documents"
"Downloads"
"Images"
"Maildir"
"Monero"
"code"
"misc"
"workspace"
];
allowOther = true;
};
"/mnt/vfs_share/${config.home.homeDirectory}" = {
directories = [ "vfs_share" ];
allowOther = true;
};
"/mnt/persist/${config.home.homeDirectory}" = {
directories = [
".Slic3r"
".abook"
".bitmonero"
".config/Element"
".config/Nextcloud"
".config/Signal"
".config/SuperCollider"
".config/ardour6"
".config/chromium"
".config/kdeconnect"
".config/kicad"
".config/syncthing"
".config/tea"
".config/whatsapp-for-linux"
".electrum"
".gnupg"
".hydrogen"
".john"
".kube"
".librewolf"
".local/share/Bisq"
".local/share/Steam"
".local/share/SuperCollider"
".local/share/TelegramDesktop"
{
directory = ".local/share/containers";
method = "symlink";
}
".local/share/dino"
".local/share/direnv"
".local/share/gopass/stores"
".local/share/keyrings"
".local/share/mpd"
".local/share/tor-browser"
".local/share/webkitgtk"
".local/state/wireplumber"
".local/state/zsh"
".mozilla"
".newsboat"
".password-store"
".platformio"
".vagrant.d"
".vdirsyncer"
".virtualenvs"
".wine"
"Nextcloud"
"configs"
# ".cache"
];
files = [ ".mailsynclastrun" ".ssh/known_hosts" ".lmmsrc.xml" ];
allowOther = true;
};
};
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
docker-compose
drawterm
file
gimp
gnumake
html-tidy
htop
inetutils # telnet
j2cli
john
jq
killall
kubectl
libnotify
libreoffice
lxqt.pcmanfm-qt
mosh
mpv
neofetch
networkmanagerapplet
nextcloud-client
pandoc
podman-compose
pv
ripgrep
sassc
shellcheck
signify
vagrant
unzip
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";
}