diff options
Diffstat (limited to 'nix/modules/home/user.nix')
| -rw-r--r-- | nix/modules/home/user.nix | 183 |
1 files changed, 108 insertions, 75 deletions
diff --git a/nix/modules/home/user.nix b/nix/modules/home/user.nix index fc8c2ae..d378fb6 100644 --- a/nix/modules/home/user.nix +++ b/nix/modules/home/user.nix @@ -2,24 +2,24 @@ { home = { activation.startup-files = lib.hm.dag.entryAfter [ "installPackages" ] '' - if [ ! -d "/home/${config.monorepo.vars.userName}/email/${config.monorepo.vars.internetName}/" ]; then - mkdir -p /home/${config.monorepo.vars.userName}/email/${config.monorepo.vars.internetName}/ - fi + if [ ! -d "/home/${config.monorepo.vars.userName}/email/${config.monorepo.vars.internetName}/" ]; then + mkdir -p /home/${config.monorepo.vars.userName}/email/${config.monorepo.vars.internetName}/ + fi - if [ ! -d "/home/${config.monorepo.vars.userName}/music" ]; then - mkdir -p /home/${config.monorepo.vars.userName}/music - fi + if [ ! -d "/home/${config.monorepo.vars.userName}/music" ]; then + mkdir -p /home/${config.monorepo.vars.userName}/music + fi - if [ ! -d /home/${config.monorepo.vars.userName}/org ]; then - mkdir -p /home/${config.monorepo.vars.userName}/org - fi + if [ ! -d /home/${config.monorepo.vars.userName}/org ]; then + mkdir -p /home/${config.monorepo.vars.userName}/org + fi - if [ ! -d /home/${config.monorepo.vars.userName}/src ]; then - mkdir -p /home/${config.monorepo.vars.userName}/src - fi + if [ ! -d /home/${config.monorepo.vars.userName}/src ]; then + mkdir -p /home/${config.monorepo.vars.userName}/src + fi - touch /home/${config.monorepo.vars.userName}/org/agenda.org - touch /home/${config.monorepo.vars.userName}/org/notes.org + touch /home/${config.monorepo.vars.userName}/org/agenda.org + touch /home/${config.monorepo.vars.userName}/org/notes.org ''; enableNixpkgsReleaseCheck = false; @@ -37,32 +37,61 @@ fzf # passwords - age sops + age + sops # formatting - ghostscript texliveFull pandoc + ghostscript + texliveFull + pandoc # Emacs Deps - graphviz jq + graphviz + jq # Apps # octaveFull - grim swww vim kotatogram-desktop tg qwen-code element-desktop signal-desktop signal-cli thunderbird jami + grim + swww + vim + kotatogram-desktop + tg + qwen-code + element-desktop + signal-desktop + signal-cli + thunderbird + jami # Sound/media - pavucontrol alsa-utils imagemagick ffmpeg helvum + pavucontrol + alsa-utils + imagemagick + ffmpeg + helvum # Net - curl rsync gitFull iamb ungoogled-chromium + curl + rsync + gitFull + iamb + ungoogled-chromium # Tor - torsocks tor-browser + torsocks + tor-browser # For transfering secrets onto new system stow # fonts - nerd-fonts.iosevka noto-fonts noto-fonts-cjk-sans noto-fonts-color-emoji fira-code font-awesome_6 victor-mono + nerd-fonts.iosevka + noto-fonts + noto-fonts-cjk-sans + noto-fonts-color-emoji + fira-code + font-awesome_6 + victor-mono (aspellWithDicts (dicts: with dicts; [ en en-computers en-science ])) @@ -77,60 +106,64 @@ (pkgs.writeShellScriptBin "help" '' -#!/usr/bin/env sh -# Portable, colored, nicely aligned alias list + #!/usr/bin/env sh + # Portable, colored, nicely aligned alias list -# Generate uncolored alias pairs -aliases=$(cat <<'EOF' -${let aliases = config.programs.zsh.shellAliases; - in lib.concatStringsSep "\n" (lib.mapAttrsToList (name: value: - "${name} -> ${value}" - ) aliases)} -EOF - ) + # Generate uncolored alias pairs + aliases=$(cat <<'EOF' + ${let aliases = config.programs.zsh.shellAliases; + in lib.concatStringsSep "\n" (lib.mapAttrsToList (name: value: + "${name} -> ${value}" + ) aliases)} + EOF + ) -# Align and color using awk -echo "$aliases" | awk ' -BEGIN { - GREEN="\033[0;32m"; - YELLOW="\033[0;33m"; - RESET="\033[0m"; - maxlen=0; - } -{ - # Split line on " -> " - split($0, parts, / -> /); - name[NR]=parts[1]; - cmd[NR]=parts[2]; - if(length(parts[1])>maxlen) maxlen=length(parts[1]); -} -END { - for(i=1;i<=NR;i++) { - # printf with fixed width for alias name - printf "%s%-*s%s -> %s%s%s\n", GREEN, maxlen, name[i], RESET, YELLOW, cmd[i], RESET; - } -}' -'') + # Align and color using awk + echo "$aliases" | awk ' + BEGIN { + GREEN="\033[0;32m"; + YELLOW="\033[0;33m"; + RESET="\033[0m"; + maxlen=0; + } + { + # Split line on " -> " + split($0, parts, / -> /); + name[NR]=parts[1]; + cmd[NR]=parts[2]; + if(length(parts[1])>maxlen) maxlen=length(parts[1]); + } + END { + for(i=1;i<=NR;i++) { + # printf with fixed width for alias name + printf "%s%-*s%s -> %s%s%s\n", GREEN, maxlen, name[i], RESET, YELLOW, cmd[i], RESET; + } + }' + '') (writeShellScriptBin "remote-build" '' -#!/bin/bash -nixos-rebuild --sudo --ask-sudo-password --target-host "$1" switch --flake $HOME/monorepo/nix#spontaneity -'' + #!/bin/bash + nixos-rebuild --sudo --ask-sudo-password --target-host "$1" switch --flake $HOME/monorepo/nix#spontaneity + '' ) (writeShellScriptBin "install-vps" '' -#!/bin/bash -nix run github:nix-community/nixos-anywhere -- --generate-hardware-config nixos-generate-config $HOME/monorepo/nix/systems/spontaneity/hardware-configuration.nix --flake $HOME/monorepo/nix#spontaneity --target-host "$1" + #!/bin/bash + nix run github:nix-community/nixos-anywhere -- --generate-hardware-config nixos-generate-config $HOME/monorepo/nix/systems/spontaneity/hardware-configuration.nix --flake $HOME/monorepo/nix#spontaneity --target-host "$1" '') (writeShellScriptBin "secrets" '' -#!/bin/bash -cd "$HOME/secrets" -git pull # repo is over LAN -stow */ # manage secrets with gnu stow -cd "$HOME" + #!/bin/bash + cd "$HOME/secrets" + git pull # repo is over LAN + stow */ # manage secrets with gnu stow + cd "$HOME" '') + (writeShellScriptBin "spontaneity-ci" + '' + #!/bin/bash + nixos-rebuild build-vm --flake $HOME/monorepo/nix#spontaneity && QEMU_OPTS="-serial stdio" ./result/bin/run-spontaneity-vm 2>&1 | tee vm-boot.log'') ] else [ pfetch # net @@ -145,22 +178,22 @@ cd "$HOME" pinentry.package = pkgs.pinentry-emacs; enable = true; extraConfig = '' - allow-emacs-pinentry - allow-loopback-pinentry - ''; + allow-emacs-pinentry + allow-loopback-pinentry + ''; }; }; xdg.mimeApps = { - enable = true; + enable = lib.mkDefault config.monorepo.profiles.graphics.enable; defaultApplications = { "x-scheme-handler/mailto" = "emacsclient-mail.desktop"; - "text/html" = "librewolf.desktop"; - "text/xml" = "librewolf.desktop"; - "application/xhtml+xml" = "librewolf.desktop"; - "x-scheme-handler/http" = "librewolf.desktop"; - "x-scheme-handler/https" = "librewolf.desktop"; - "x-scheme-handler/about" = "librewolf.desktop"; - "x-scheme-handler/unknown" = "librewolf.desktop"; + "text/html" = "librewolf.desktop"; + "text/xml" = "librewolf.desktop"; + "application/xhtml+xml" = "librewolf.desktop"; + "x-scheme-handler/http" = "librewolf.desktop"; + "x-scheme-handler/https" = "librewolf.desktop"; + "x-scheme-handler/about" = "librewolf.desktop"; + "x-scheme-handler/unknown" = "librewolf.desktop"; }; }; |
