nix-config/home/nixos-common.nix

279 lines
5.9 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: {
kile-wl = super.rustPlatform.buildRustPackage rec {
pname = "kile-wl";
version = "v2-2023-05-19";
src = super.fetchFromGitLab {
owner = "snakedye";
repo = "kile";
rev = "625f91010b920587dbf0ee23113eb8aa51cc6ec3";
sha256 = "sha256-4sfzF2g2kSz+Q55gTCePjM+7kvfrEJ2uLKyy/V+SLF4=";
};
cargoLock = {
lockFile = src + "/Cargo.lock";
outputHashes = {
"kilexpr-0.1.0" =
"sha256-wclffEkPr1rIYdeRTIb1FZhMbX5LhLy8yB0qMEDmx0k=";
};
};
meta = with super.lib; {
description = "A tiling layout generator for river";
homepage = "https://gitlab.com/snakedye/kile";
license = licenses.mit;
platforms =
platforms.linux; # It's meant for river, a wayland compositor
mainProgram = "kile";
};
};
})
# These packages seem to be broken on the unstable channel, so I'm using
# the stable versions for now. Currently this is not happening for any
# package that I use :)
];
# 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.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/nvim/plugin"
".config/syncthing"
".config/tea"
".config/whatsapp-for-linux"
".electrum"
".gnupg"
".hydrogen"
".john"
".kube"
".librewolf"
".local/share/Bisq"
".local/share/Nextcloud"
".local/share/Steam"
".local/share/SuperCollider"
".local/share/TelegramDesktop"
".local/share/nvim"
{
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
# 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";
}