From 78e1511535bb2beaa425a0a467e419753da13c7e Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" Date: Tue, 22 Apr 2025 11:09:30 -0500 Subject: [PATCH 1/7] Move desktop app configs to linux-desktop.nix --- homes/linux-desktop.nix | 18 +++++++++++++++++- homes/linux.nix | 14 -------------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/homes/linux-desktop.nix b/homes/linux-desktop.nix index b5e1f52..54264f6 100644 --- a/homes/linux-desktop.nix +++ b/homes/linux-desktop.nix @@ -1,5 +1,21 @@ { config, lib, pkgs, pkgs-unstable, ... }: { - home = { packages = with pkgs; [ ollama trayscale veracrypt ]; }; + 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; + }; + packages = with pkgs; [ ollama trayscale veracrypt ]; + }; programs = { }; services = { flatpak = { 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 From 8f3ef40ef9a16dcf6dce92210973c1e0d7bf9628 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" Date: Tue, 22 Apr 2025 11:23:39 -0500 Subject: [PATCH 2/7] Use more idiomatic xdg paths --- homes/linux-desktop.nix | 43 ++++++++++++++++++++++++----------------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/homes/linux-desktop.nix b/homes/linux-desktop.nix index 54264f6..e0788dc 100644 --- a/homes/linux-desktop.nix +++ b/homes/linux-desktop.nix @@ -1,21 +1,10 @@ -{ config, lib, pkgs, pkgs-unstable, ... }: { - 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; - }; - packages = with pkgs; [ ollama trayscale veracrypt ]; - }; +{ 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 = { flatpak = { @@ -35,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; + }; + }; } From 657e2329ea50badf13800b363c5497102b0fba5c Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" Date: Tue, 22 Apr 2025 11:25:09 -0500 Subject: [PATCH 3/7] actually remove excess GPG variables --- homes/common.nix | 2 -- 1 file changed, 2 deletions(-) diff --git a/homes/common.nix b/homes/common.nix index 257c3f5..1ea8c95 100644 --- a/homes/common.nix +++ b/homes/common.nix @@ -69,8 +69,6 @@ in { NXF_SINGULARITY_CACHEDIR = "$NXF_CACHE/singularity"; JULIA_DEPOT_PATH = "\${XDG_DATA_HOME:-$HOME/.local/share}/julia:"; JULIA_PKG_USE_CLI_GIT = "true"; - # GPG_TTY = "$(tty)"; - # SSH_AUTH_SOCK = "$(gpgconf --list-dirs agent-ssh-socket)"; }; shellAliases = { cat = "bat"; From 1471ec353b3574569c2f53b288311e81cc649bda Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" Date: Tue, 22 Apr 2025 11:40:38 -0500 Subject: [PATCH 4/7] More xdg cleanup in the main config --- homes/common.nix | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/homes/common.nix b/homes/common.nix index 1ea8c95..3194fec 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 @@ -63,11 +60,11 @@ in { ]; 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"; }; shellAliases = { @@ -198,4 +195,7 @@ in { ''; }; }; + xdg = { + dataFile = { "julia/config/startup.jl".source = ./../dotfiles/startup.jl; }; + }; } From 044c069b50f8440a8bcf256ce522fbd950ffca76 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" Date: Thu, 24 Apr 2025 09:06:32 -0500 Subject: [PATCH 5/7] Add tex-fmt for formatting Tex files in Zed --- homes/common.nix | 1 + programs/zed.nix | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/homes/common.nix b/homes/common.nix index 3194fec..065d307 100644 --- a/homes/common.nix +++ b/homes/common.nix @@ -55,6 +55,7 @@ in { python3 quarto shellcheck + tex-fmt zulu17 (texlive.combine { inherit (texlive) scheme-basic latex-bin latexmk; }) ]; 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; }; From d95cfe221b968577af23170416d30098a7965568 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" Date: Thu, 24 Apr 2025 09:09:05 -0500 Subject: [PATCH 6/7] Change GPG timeout to one week --- homes/desktop.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/homes/desktop.nix b/homes/desktop.nix index ef4e2c3..c21d694 100644 --- a/homes/desktop.nix +++ b/homes/desktop.nix @@ -33,8 +33,8 @@ in { enableBashIntegration = true; enableSshSupport = true; enableZshIntegration = true; - defaultCacheTtl = 10800; - maxCacheTtl = 21600; + defaultCacheTtl = 604800; + maxCacheTtl = 604800; verbose = true; }; syncthing = { enable = true; }; From 88b75eefc636dabd6f66093a30f5de1be8530a34 Mon Sep 17 00:00:00 2001 From: "Thomas A. Christensen II" Date: Wed, 30 Apr 2025 15:37:58 -0500 Subject: [PATCH 7/7] add slab serif fonts --- homes/desktop.nix | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/homes/desktop.nix b/homes/desktop.nix index c21d694..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 {