{ 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"; }