diff --git a/homes/common.nix b/homes/common.nix index 257c3f5..065d307 100644 --- a/homes/common.nix +++ b/homes/common.nix @@ -3,20 +3,20 @@ let conda_init = shell: '' # >>> conda initialize >>> # !! Contents within this block are managed by 'conda init' !! - __conda_setup="$($HOME/miniconda3/bin/conda shell.${shell} 'hook' 2> /dev/null)" + __conda_setup="$(${config.xdg.dataHome}/miniconda3/bin/conda shell.${shell} 'hook' 2> /dev/null)" if [ $? -eq 0 ]; then eval "$__conda_setup" else - if [ -f "$HOME/miniconda3/etc/profile.d/conda.sh" ]; then - . "$HOME/miniconda3/etc/profile.d/conda.sh" + if [ -f "${config.xdg.dataHome}/miniconda3/etc/profile.d/conda.sh" ]; then + . "${config.xdg.dataHome}/miniconda3/etc/profile.d/conda.sh" else - export PATH="$HOME/miniconda3/bin:$PATH" + export PATH="${config.xdg.dataHome}/miniconda3/bin:$PATH" fi fi unset __conda_setup - if [ -f "$HOME/miniconda3/etc/profile.d/mamba.sh" ]; then - . "$HOME/miniconda3/etc/profile.d/mamba.sh" + if [ -f "${config.xdg.dataHome}/miniconda3/etc/profile.d/mamba.sh" ]; then + . "${config.xdg.dataHome}/miniconda3/etc/profile.d/mamba.sh" fi # <<< conda initialize <<< @@ -30,10 +30,7 @@ let in { home = { stateVersion = "23.11"; - file = { - ".p10k.zsh".source = ./../dotfiles/p10k.zsh; - ".local/share/julia/config/startup.jl".source = ./../dotfiles/startup.jl; - }; + file = { ".p10k.zsh".source = ./../dotfiles/p10k.zsh; }; packages = with pkgs; [ act cowsay @@ -58,19 +55,18 @@ in { python3 quarto shellcheck + tex-fmt zulu17 (texlive.combine { inherit (texlive) scheme-basic latex-bin latexmk; }) ]; sessionVariables = { PAGER = "most"; - NXF_HOME = "\${XDG_DATA_HOME:-$HOME/.local/share}/nextflow"; - NXF_CACHE = "\${XDG_CACHE_HOME:-$HOME/.cache}/nextflow"; + NXF_HOME = "${config.xdg.dataHome}/nextflow"; + NXF_CACHE = "${config.xdg.cacheHome}/nextflow"; NXF_CONDA_CACHEDIR = "$NXF_CACHE/conda"; NXF_SINGULARITY_CACHEDIR = "$NXF_CACHE/singularity"; - JULIA_DEPOT_PATH = "\${XDG_DATA_HOME:-$HOME/.local/share}/julia:"; + JULIA_DEPOT_PATH = "${config.xdg.dataHome}/julia:"; JULIA_PKG_USE_CLI_GIT = "true"; - # GPG_TTY = "$(tty)"; - # SSH_AUTH_SOCK = "$(gpgconf --list-dirs agent-ssh-socket)"; }; shellAliases = { cat = "bat"; @@ -200,4 +196,7 @@ in { ''; }; }; + xdg = { + dataFile = { "julia/config/startup.jl".source = ./../dotfiles/startup.jl; }; + }; } diff --git a/homes/desktop.nix b/homes/desktop.nix index ef4e2c3..3051aa0 100644 --- a/homes/desktop.nix +++ b/homes/desktop.nix @@ -1,15 +1,13 @@ { config, lib, pkgs, pkgs-unstable, firefox-addons, buildFirefoxXpiAddon, ... }: let - packages = import ./../pkgs.nix { - inherit pkgs; - inherit pkgs-unstable; - }; firefox-config = import ./../programs/firefox.nix; zed-config = import ./../programs/zed.nix; in { home = { packages = with pkgs; [ + dejavu_fonts kdePackages.qtdeclarative + roboto-slab sqlitebrowser woodpecker-cli (pkgs.nerdfonts.override { @@ -33,8 +31,8 @@ in { enableBashIntegration = true; enableSshSupport = true; enableZshIntegration = true; - defaultCacheTtl = 10800; - maxCacheTtl = 21600; + defaultCacheTtl = 604800; + maxCacheTtl = 604800; verbose = true; }; syncthing = { enable = true; }; diff --git a/homes/linux-desktop.nix b/homes/linux-desktop.nix index b5e1f52..e0788dc 100644 --- a/homes/linux-desktop.nix +++ b/homes/linux-desktop.nix @@ -1,4 +1,9 @@ -{ config, lib, pkgs, pkgs-unstable, ... }: { +{ config, lib, pkgs, pkgs-unstable, ... }: +let + home-manager-repo = "${config.xdg.configHome}/home-manager"; + mkOutOfStoreSymlink = config.lib.file.mkOutOfStoreSymlink; +in { + home = { packages = with pkgs; [ ollama trayscale veracrypt ]; }; programs = { }; services = { @@ -19,4 +24,22 @@ ]; }; }; + xdg = { + configFile = { + "konsolerc".source = + mkOutOfStoreSymlink "${home-manager-repo}/dotfiles/konsolerc"; + "yakuakerc".source = + mkOutOfStoreSymlink "${home-manager-repo}/dotfiles/yakuakerc"; + }; + dataFile = { + "konsole/My Default.profile".source = + mkOutOfStoreSymlink "${home-manager-repo}/dotfiles/MyDefault.profile"; + "kio/servicemenus/kate.desktop".source = ./../dotfiles/kate.desktop; + "kio/servicemenus/vlc.desktop".source = ./../dotfiles/vlc.desktop; + "kio/servicemenus/word-to-pdf.desktop".source = + ./../dotfiles/word-to-pdf.desktop; + "kio/servicemenus/powerpoint-to-pdf.desktop".source = + ./../dotfiles/powerpoint-to-pdf.desktop; + }; + }; } diff --git a/homes/linux.nix b/homes/linux.nix index 8914bac..4d9a701 100644 --- a/homes/linux.nix +++ b/homes/linux.nix @@ -1,20 +1,6 @@ { config, lib, pkgs, pkgs-unstable, ... }: { fonts = { fontconfig = { enable = true; }; }; home = { - file = { - "${config.xdg.configHome}/konsolerc".source = ./../dotfiles/konsolerc; - "${config.xdg.configHome}/yakuakerc".source = ./../dotfiles/yakuakerc; - "${config.xdg.dataHome}/konsole/My Default.profile".source = - ./../dotfiles/MyDefault.profile; - "${config.xdg.dataHome}/kio/servicemenus/kate.desktop".source = - ./../dotfiles/kate.desktop; - "${config.xdg.dataHome}/kio/servicemenus/vlc.desktop".source = - ./../dotfiles/vlc.desktop; - "${config.xdg.dataHome}/kio/servicemenus/word-to-pdf.desktop".source = - ./../dotfiles/word-to-pdf.desktop; - "${config.xdg.dataHome}/kio/servicemenus/powerpoint-to-pdf.desktop".source = - ./../dotfiles/powerpoint-to-pdf.desktop; - }; # A notable exception here: R # R is a very painful program to manage. # Package compatibility between R versions is abysmal, so I need to keep multiple R versions around.inherit diff --git a/programs/zed.nix b/programs/zed.nix index 02c8da9..ea6dec5 100644 --- a/programs/zed.nix +++ b/programs/zed.nix @@ -39,6 +39,14 @@ }; }; }; + LaTeX = { + formatter = { + external = { + command = "tex-fmt"; + arguments = [ "--stdin" ]; + }; + }; + }; Nix = { formatter = { external = { command = "nixfmt"; }; }; }; }; preview_tabs = { enabled = false; };