10 changed files with 89 additions and 83 deletions
+1 -10
View File
@@ -113,20 +113,11 @@ confirm_details
replace_tokens() {
local file="$1"
if [[ $(basename $1) != "apply" ]]; then
if [[ "$OS" == "Darwin" ]]; then
# macOS
LC_ALL=C LANG=C sed -i '' -e "s/%USER%/$USERNAME/g" "$file"
LC_ALL=C LANG=C sed -i '' -e "s/%EMAIL%/$GIT_EMAIL/g" "$file"
LC_ALL=C LANG=C sed -i '' -e "s/%NAME%/$GIT_NAME/g" "$file"
else
# Linux or other
sed -i -e "s/%USER%/$USERNAME/g" "$file"
sed -i -e "s/%EMAIL%/$GIT_EMAIL/g" "$file"
sed -i -e "s/%NAME%/$GIT_NAME/g" "$file"
sed -i -e "s/%INTERFACE%/$PRIMARY_IFACE/g" "$file"
sed -i -e "s/%DISK%/$BOOT_DISK/g" "$file"
sed -i -e "s/%HOST%/$HOST_NAME/g" "$file"
fi
fi
}
-10
View File
@@ -113,20 +113,10 @@ confirm_details
replace_tokens() {
local file="$1"
if [[ $(basename $1) != "apply" ]]; then
if [[ "$OS" == "Darwin" ]]; then
# macOS
LC_ALL=C LANG=C sed -i '' -e "s/%USER%/$USERNAME/g" "$file"
LC_ALL=C LANG=C sed -i '' -e "s/%EMAIL%/$GIT_EMAIL/g" "$file"
LC_ALL=C LANG=C sed -i '' -e "s/%NAME%/$GIT_NAME/g" "$file"
else
# Linux or other
sed -i -e "s/%USER%/$USERNAME/g" "$file"
sed -i -e "s/%EMAIL%/$GIT_EMAIL/g" "$file"
sed -i -e "s/%NAME%/$GIT_NAME/g" "$file"
sed -i -e "s/%INTERFACE%/$PRIMARY_IFACE/g" "$file"
sed -i -e "s/%DISK%/$BOOT_DISK/g" "$file"
sed -i -e "s/%HOST%/$HOST_NAME/g" "$file"
fi
fi
}
+1 -1
View File
@@ -49,7 +49,7 @@
:bind-keymap ("C-c p" . projectile-command-map)
:defer 5
:config
(projectile-global-mode))
(projectile-mode +1))
+1
View File
@@ -15,6 +15,7 @@ _:
"vcv-rack"
"affinity"
# Communication Tools
"adium"
"discord"
+1 -1
View File
@@ -1,7 +1,7 @@
{ config, pkgs, ... }:
let
emacsOverlaySha256 = "0h15850dpx3p2jr5g4nv0gir0w9dgml1mqzc5yq8686y246r33br";
emacsOverlaySha256 = "1smprpp3zqh04jdv0b7ibc69n025j1bnpp76lnwyvidilf055g2h";
in
{
home-manager.backupFileExtension = "nix-backup";
+24
View File
@@ -9,11 +9,32 @@ let
xdg_configHome = "${config.users.users.${user}.home}/.config";
xdg_dataHome = "${config.users.users.${user}.home}/.local/share";
xdg_stateHome = "${config.users.users.${user}.home}/.local/state";
inkscapeExtensionsHome = "${config.users.users.${user}.home}/Library/Application Support/org.inkscape.Inkscape/config/inkscape/extensions";
hatchFillSource = pkgs.fetchzip {
url = "https://gitlab.com/moini_ink/hatch_fill/-/archive/master/hatch_fill-master.tar.gz";
sha256 = "1m3qhvf158dngg7shwd33xhn3bawn9yxw2srv2k8qjn889wjvi82";
};
in
{
# Shared file definitions moved into the Darwin module set.
"${config.users.users.${user}.home}/.gnupg/common.conf" = {
text = ''
# keyboxd configuration collides with gpg keymanager.app
# use-keyboxd
'';
};
"${config.users.users.${user}.home}/.ssh/authorized_keys" = {
text = ''
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAILVdAx+U1xhcJmh1hRaF0CVB0ivIF/U0oIbAWYPwko4iAAAABHNzaDo= Yubikey 35775013
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIIjnJyJUDnia6ZWPRa5iSBKCb+DMGmFtiFa+9gkeiTwQAAAABHNzaDo= Yubikey 36431751
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIFhuPQUHUHchx8wHVCciMi6etzZStkpECbG/r/1imy+kAAAABHNzaDo= Yubikey 36431881
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILCEBZrQ9F3nLhEM9uqdPijut11vhYkdmLtj7gT/zgV3 Key Nov 2024
'';
};
# Raycast script so that "Run Emacs" is available and uses Emacs daemon
"${xdg_dataHome}/bin/emacsclient" = {
executable = true;
@@ -39,4 +60,7 @@ in
fi
'';
};
"${inkscapeExtensionsHome}/hatch_fill.inx".source = "${hatchFillSource}/hatch_fill.inx";
"${inkscapeExtensionsHome}/hatch_fill.py".source = "${hatchFillSource}/hatch_fill.py";
}
+24 -26
View File
@@ -62,10 +62,10 @@ in
"Affinity Publisher 2" = 1606941598;
# "DaisyDisk" = 409907375; # (4.32) # Don't use this, we need the official version that is not sandboxed
"Fantastical - Calendar" = 975937182;
"Fedistar" = 6445863996; # (1.13.1)
"Fedistar" = 6445863996; # (1.13.1)
"Home Assistant" = 1099568401; # (2025.7.1)
"Ice Cubes for Mastodon" = 6444915884; # (1.11.3)
"LibreOffice" = 1630474372;
#"LibreOffice" = 1630474372;
"Monal - XMPP Chatting " = 1637078500;
"MQTT Explorer" = 1455214828; # (0.3.5)
"Native SQLite Manager" = 1416282836; # (1.31.0)
@@ -118,8 +118,19 @@ in
style = "Block";
};
env = {
TERM = "xterm-256color";
};
window = {
opacity = 1.0;
dynamic_padding = true;
decorations = "full";
title = "Terminal";
class = {
instance = "Alacritty";
general = "Alacritty";
};
padding = {
x = 24;
y = 24;
@@ -131,18 +142,7 @@ in
family = "MesloLGS NF";
style = "Regular";
};
size = lib.mkMerge [
(lib.mkIf pkgs.stdenv.hostPlatform.isLinux 10)
(lib.mkIf pkgs.stdenv.hostPlatform.isDarwin 14)
];
};
dynamic_padding = true;
decorations = "full";
title = "Terminal";
class = {
instance = "Alacritty";
general = "Alacritty";
size = 14;
};
colors = {
@@ -204,10 +204,7 @@ in
"vps3.evangineer.net".forwardAgent = true;
"vps2.evangineer.net".forwardAgent = true;
};
includes = [
(lib.mkIf pkgs.stdenv.hostPlatform.isLinux "/home/${user}/.ssh/config_external")
(lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "/Users/${user}/.ssh/config_external")
];
includes = [ "/Users/${user}/.ssh/config_external" ];
};
gpg = {
@@ -231,19 +228,19 @@ in
};
initContent =
let
zshConfigBefore = lib.mkBefore ''
if [[ "$TERM" == "alacritty" ]] && ! infocmp alacritty >/dev/null 2>&1; then
export TERM="xterm-256color"
fi
export TERMINFO_DIRS="$HOME/.nix-profile/share/terminfo:/run/current-system/sw/share/terminfo:/nix/var/nix/profiles/default/share/terminfo:/usr/share/terminfo"
'';
zshConfigEarlyInit = lib.mkOrder 500 ''
if [[ -f /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh ]]; then
. /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh
. /nix/var/nix/profiles/default/etc/profile.d/nix.sh
fi
if [[ "$TERM" == "alacritty" ]]; then
export TERMINFO_DIRS="$HOME/.nix-profile/share/terminfo:/run/current-system/sw/share/terminfo:/nix/var/nix/profiles/default/share/terminfo:/usr/share/terminfo"
if ! infocmp alacritty >/dev/null 2>&1; then
export TERM="xterm-256color"
fi
fi
# GPGAgent for SSH
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
@@ -285,6 +282,7 @@ in
'';
in
lib.mkMerge [
zshConfigBefore
zshConfigEarlyInit
zshConfigLastInit
];
@@ -581,7 +579,7 @@ in
{ path = "/Applications/Visual Studio Code.app/"; }
{ path = "/Applications/Home Assistant.app/"; }
{ path = "/Applications/reMarkable.app/"; }
{ path = "/Applications/LibreOffice.app/"; }
{ path = "/run/current-system/Applications/LibreOffice.app/"; }
{ path = "/Applications/Microsoft Word.app/"; }
{ path = "/Applications/Microsoft PowerPoint.app/"; }
{ path = "/Applications/Microsoft Teams.app/"; }
+10 -5
View File
@@ -35,6 +35,7 @@ with pkgs;
killall
minicom
mtr
ncurses
ncdu
nodejs
@@ -86,6 +87,7 @@ with pkgs;
hunspell
iftop
inetutils # includes Telnet
libreoffice-bin
ripgrep
tmux
tree
@@ -96,7 +98,9 @@ with pkgs;
uv
(python3.withPackages (
python-pkgs: with python-pkgs; [
python-pkgs:
with python-pkgs;
[
bidict
blinker
certifi
@@ -106,6 +110,7 @@ with pkgs;
flask-socketio
h11
idna
intelhex
importlib-metadata
itsdangerous
jinja2
@@ -150,8 +155,8 @@ with pkgs;
xml2rfc
zotero
(texlive.combine {
inherit (texlive)
(texliveSmall.withPackages (
texlivePackages: with texlivePackages; [
apa6
apa7
apacite
@@ -200,8 +205,8 @@ with pkgs;
xecjk
xifthen
xurl
;
})
]
))
dockutil
]
-30
View File
@@ -1,30 +0,0 @@
self: super: with super; {
feather-font = let
version = "1.0";
pname = "feather-font";
in stdenv.mkDerivation {
name = "${pname}-${version}";
src = fetchzip {
url = "https://github.com/dustinlyons/feather-font/archive/refs/tags/${version}.zip";
sha256 = "sha256-Zsz8/qn7XAG6BVp4XdqooEqioFRV7bLH0bQkHZvFbsg=";
};
buildInputs = [ unzip ];
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
mkdir -p $out/share/fonts/truetype
cp $src/feather.ttf $out/share/fonts/truetype/
'';
meta = with lib; {
homepage = "https://www.feathericons.com/";
description = "Set of font icons from the open source collection Feather Icons";
license = licenses.mit;
maintainers = [ maintainers.dlyons ];
platforms = [ platforms.x86_64-linux platforms.x86_64-darwin ];
};
};
}
+27
View File
@@ -0,0 +1,27 @@
# To test if a new Zotero package works without the overlay try
# nix --extra-experimental-features 'nix-command flakes' eval --raw --impure --expr '
# let
# flake = builtins.getFlake (toString ./.);
# pkgs = import flake.inputs.nixpkgsAarch64 {
# system = "aarch64-darwin";
# config.allowUnfree = true;
# };
# in
# pkgs.zotero.version
# '
final: prev:
let
pinnedPkgs = import (builtins.fetchTarball {
# Last nixpkgs Zotero package revision before 10.0.2.
url = "https://github.com/NixOS/nixpkgs/archive/4118d63e017feb54b48e7341e4b6f0ac5348f074.tar.gz";
sha256 = "1w33226pjk7hs9hbzy0ghcvgps0yicm0r2zxnnrzsr26pzvjjm6z";
}) {
system = prev.stdenv.hostPlatform.system;
config = prev.config;
};
in
{
zotero = pinnedPkgs.zotero;
}