Compare commits
12
Commits
1fdb0cdc3e
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
421f42e5f5 | ||
|
|
12f04133c2 | ||
|
|
92fa9b7456 | ||
|
|
8b48e295c6 | ||
|
|
303bf80633 | ||
|
|
de3eb544a8 | ||
|
|
acdb913edb | ||
|
|
41a9a18e0a | ||
|
|
a0b974e71a | ||
|
|
f923fb7717 | ||
|
|
969e5e5dd3 | ||
|
|
3e6a7391df |
@@ -113,20 +113,11 @@ confirm_details
|
|||||||
replace_tokens() {
|
replace_tokens() {
|
||||||
local file="$1"
|
local file="$1"
|
||||||
if [[ $(basename $1) != "apply" ]]; then
|
if [[ $(basename $1) != "apply" ]]; then
|
||||||
if [[ "$OS" == "Darwin" ]]; then
|
|
||||||
# macOS
|
# macOS
|
||||||
LC_ALL=C LANG=C sed -i '' -e "s/%USER%/$USERNAME/g" "$file"
|
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/%EMAIL%/$GIT_EMAIL/g" "$file"
|
||||||
LC_ALL=C LANG=C sed -i '' -e "s/%NAME%/$GIT_NAME/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
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -113,20 +113,10 @@ confirm_details
|
|||||||
replace_tokens() {
|
replace_tokens() {
|
||||||
local file="$1"
|
local file="$1"
|
||||||
if [[ $(basename $1) != "apply" ]]; then
|
if [[ $(basename $1) != "apply" ]]; then
|
||||||
if [[ "$OS" == "Darwin" ]]; then
|
|
||||||
# macOS
|
# macOS
|
||||||
LC_ALL=C LANG=C sed -i '' -e "s/%USER%/$USERNAME/g" "$file"
|
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/%EMAIL%/$GIT_EMAIL/g" "$file"
|
||||||
LC_ALL=C LANG=C sed -i '' -e "s/%NAME%/$GIT_NAME/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
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,23 +2,36 @@
|
|||||||
description = "Starter configuration for macOS with nix-darwin";
|
description = "Starter configuration for macOS with nix-darwin";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs = {
|
nixpkgsAarch64 = {
|
||||||
url = "github:nixos/nixpkgs//nixpkgs-26.05-darwin";
|
url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
||||||
# url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home-manager = {
|
nixpkgsX86 = {
|
||||||
|
url = "github:nixos/nixpkgs//nixpkgs-26.05-darwin";
|
||||||
|
};
|
||||||
|
|
||||||
|
homeManagerAarch64 = {
|
||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgsAarch64";
|
||||||
|
};
|
||||||
|
|
||||||
|
homeManagerX86 = {
|
||||||
|
url = "github:nix-community/home-manager/release-26.05";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgsX86";
|
||||||
};
|
};
|
||||||
|
|
||||||
nixd = {
|
nixd = {
|
||||||
url = "github:nix-community/nixd";
|
url = "github:nix-community/nixd";
|
||||||
};
|
};
|
||||||
|
|
||||||
darwin = {
|
darwinAarch64 = {
|
||||||
# url = "github:nix-darwin/nix-darwin";
|
url = "github:nix-darwin/nix-darwin";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgsAarch64";
|
||||||
|
};
|
||||||
|
|
||||||
|
darwinX86 = {
|
||||||
url = "github:nix-darwin/nix-darwin/nix-darwin-26.05";
|
url = "github:nix-darwin/nix-darwin/nix-darwin-26.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgsX86";
|
||||||
};
|
};
|
||||||
|
|
||||||
brew-src = {
|
brew-src = {
|
||||||
@@ -43,7 +56,7 @@
|
|||||||
|
|
||||||
sops-nix = {
|
sops-nix = {
|
||||||
url = "github:Mic92/sops-nix";
|
url = "github:Mic92/sops-nix";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgsAarch64";
|
||||||
};
|
};
|
||||||
|
|
||||||
nix-vscode-extensions = {
|
nix-vscode-extensions = {
|
||||||
@@ -67,12 +80,15 @@
|
|||||||
outputs =
|
outputs =
|
||||||
{
|
{
|
||||||
self,
|
self,
|
||||||
darwin,
|
darwinAarch64,
|
||||||
|
darwinX86,
|
||||||
nix-homebrew,
|
nix-homebrew,
|
||||||
homebrew-core,
|
homebrew-core,
|
||||||
homebrew-cask,
|
homebrew-cask,
|
||||||
home-manager,
|
homeManagerAarch64,
|
||||||
nixpkgs,
|
homeManagerX86,
|
||||||
|
nixpkgsAarch64,
|
||||||
|
nixpkgsX86,
|
||||||
nixd,
|
nixd,
|
||||||
sops-nix,
|
sops-nix,
|
||||||
nix-vscode-extensions,
|
nix-vscode-extensions,
|
||||||
@@ -82,17 +98,33 @@
|
|||||||
}@inputs:
|
}@inputs:
|
||||||
let
|
let
|
||||||
user = "olaf";
|
user = "olaf";
|
||||||
|
lib = nixpkgsAarch64.lib;
|
||||||
darwinSystems = [
|
darwinSystems = [
|
||||||
"aarch64-darwin"
|
"aarch64-darwin"
|
||||||
"x86_64-darwin"
|
"x86_64-darwin"
|
||||||
];
|
];
|
||||||
|
|
||||||
forAllSystems = f: nixpkgs.lib.genAttrs darwinSystems f;
|
perSystem = {
|
||||||
|
aarch64-darwin = {
|
||||||
|
nixpkgs = nixpkgsAarch64;
|
||||||
|
darwin = darwinAarch64;
|
||||||
|
home-manager = homeManagerAarch64;
|
||||||
|
pkgs = nixpkgsAarch64.legacyPackages.aarch64-darwin;
|
||||||
|
};
|
||||||
|
x86_64-darwin = {
|
||||||
|
nixpkgs = nixpkgsX86;
|
||||||
|
darwin = darwinX86;
|
||||||
|
home-manager = homeManagerX86;
|
||||||
|
pkgs = nixpkgsX86.legacyPackages.x86_64-darwin;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
forAllSystems = f: lib.genAttrs darwinSystems f;
|
||||||
|
|
||||||
devShell =
|
devShell =
|
||||||
system:
|
system:
|
||||||
let
|
let
|
||||||
pkgs = nixpkgs.legacyPackages.${system};
|
pkgs = perSystem.${system}.pkgs;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
default =
|
default =
|
||||||
@@ -125,18 +157,23 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
mkApp = scriptName: system: {
|
mkApp =
|
||||||
type = "app";
|
scriptName: system:
|
||||||
program = "${
|
let
|
||||||
(nixpkgs.legacyPackages.${system}.writeScriptBin scriptName ''
|
pkgs = perSystem.${system}.pkgs;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
type = "app";
|
||||||
|
program = "${
|
||||||
|
(pkgs.writeScriptBin scriptName ''
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
PATH=${nixpkgs.legacyPackages.${system}.git}/bin:$PATH
|
PATH=${pkgs.git}/bin:$PATH
|
||||||
echo "Running ${scriptName} for ${system}"
|
echo "Running ${scriptName} for ${system}"
|
||||||
sudo chmod +x ${self}/apps/${system}/${scriptName}
|
sudo chmod +x ${self}/apps/${system}/${scriptName}
|
||||||
exec ${self}/apps/${system}/${scriptName}
|
exec ${self}/apps/${system}/${scriptName}
|
||||||
'')
|
'')
|
||||||
}/bin/${scriptName}";
|
}/bin/${scriptName}";
|
||||||
};
|
};
|
||||||
|
|
||||||
mkDarwinApps = system: {
|
mkDarwinApps = system: {
|
||||||
"apply" = mkApp "apply" system;
|
"apply" = mkApp "apply" system;
|
||||||
@@ -147,15 +184,23 @@
|
|||||||
in
|
in
|
||||||
{
|
{
|
||||||
devShells = forAllSystems devShell;
|
devShells = forAllSystems devShell;
|
||||||
apps = nixpkgs.lib.genAttrs darwinSystems mkDarwinApps;
|
apps = lib.genAttrs darwinSystems mkDarwinApps;
|
||||||
|
|
||||||
darwinConfigurations = nixpkgs.lib.genAttrs darwinSystems (
|
darwinConfigurations = lib.genAttrs darwinSystems (
|
||||||
system:
|
system:
|
||||||
darwin.lib.darwinSystem {
|
let
|
||||||
|
systemConfig = perSystem.${system};
|
||||||
|
in
|
||||||
|
systemConfig.darwin.lib.darwinSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
specialArgs = inputs // { inherit system; };
|
specialArgs = inputs // {
|
||||||
|
inherit system;
|
||||||
|
nixpkgs = systemConfig.nixpkgs;
|
||||||
|
darwin = systemConfig.darwin;
|
||||||
|
home-manager = systemConfig.home-manager;
|
||||||
|
};
|
||||||
modules = [
|
modules = [
|
||||||
home-manager.darwinModules.home-manager
|
systemConfig.home-manager.darwinModules.home-manager
|
||||||
nix-homebrew.darwinModules.nix-homebrew
|
nix-homebrew.darwinModules.nix-homebrew
|
||||||
{
|
{
|
||||||
nix-homebrew = {
|
nix-homebrew = {
|
||||||
@@ -170,7 +215,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
home-manager.sharedModules =
|
home-manager.sharedModules =
|
||||||
nixpkgs.lib.optionals (system != "x86_64-darwin") [
|
lib.optionals (system != "x86_64-darwin") [
|
||||||
catppuccin.homeModules.catppuccin
|
catppuccin.homeModules.catppuccin
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,7 @@
|
|||||||
:bind-keymap ("C-c p" . projectile-command-map)
|
:bind-keymap ("C-c p" . projectile-command-map)
|
||||||
:defer 5
|
:defer 5
|
||||||
:config
|
:config
|
||||||
(projectile-global-mode))
|
(projectile-mode +1))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ _:
|
|||||||
"inkscape"
|
"inkscape"
|
||||||
"vcv-rack"
|
"vcv-rack"
|
||||||
"affinity"
|
"affinity"
|
||||||
|
|
||||||
|
|
||||||
# Communication Tools
|
# Communication Tools
|
||||||
"adium"
|
"adium"
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
emacsOverlaySha256 = "1abfqnjs3ysmg8k41hwncwzphkcw9884sskmfp2kj24cd9j7kpsz";
|
emacsOverlaySha256 = "1smprpp3zqh04jdv0b7ibc69n025j1bnpp76lnwyvidilf055g2h";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home-manager.backupFileExtension = "nix-backup";
|
home-manager.backupFileExtension = "nix-backup";
|
||||||
|
|||||||
@@ -9,11 +9,32 @@ let
|
|||||||
xdg_configHome = "${config.users.users.${user}.home}/.config";
|
xdg_configHome = "${config.users.users.${user}.home}/.config";
|
||||||
xdg_dataHome = "${config.users.users.${user}.home}/.local/share";
|
xdg_dataHome = "${config.users.users.${user}.home}/.local/share";
|
||||||
xdg_stateHome = "${config.users.users.${user}.home}/.local/state";
|
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
|
in
|
||||||
{
|
{
|
||||||
|
|
||||||
# Shared file definitions moved into the Darwin module set.
|
# 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
|
# Raycast script so that "Run Emacs" is available and uses Emacs daemon
|
||||||
"${xdg_dataHome}/bin/emacsclient" = {
|
"${xdg_dataHome}/bin/emacsclient" = {
|
||||||
executable = true;
|
executable = true;
|
||||||
@@ -39,4 +60,7 @@ in
|
|||||||
fi
|
fi
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
"${inkscapeExtensionsHome}/hatch_fill.inx".source = "${hatchFillSource}/hatch_fill.inx";
|
||||||
|
"${inkscapeExtensionsHome}/hatch_fill.py".source = "${hatchFillSource}/hatch_fill.py";
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,13 +62,12 @@ in
|
|||||||
"Affinity Publisher 2" = 1606941598;
|
"Affinity Publisher 2" = 1606941598;
|
||||||
# "DaisyDisk" = 409907375; # (4.32) # Don't use this, we need the official version that is not sandboxed
|
# "DaisyDisk" = 409907375; # (4.32) # Don't use this, we need the official version that is not sandboxed
|
||||||
"Fantastical - Calendar" = 975937182;
|
"Fantastical - Calendar" = 975937182;
|
||||||
"Fedistar" = 6445863996; # (1.13.1)
|
"Fedistar" = 6445863996; # (1.13.1)
|
||||||
"Home Assistant" = 1099568401; # (2025.7.1)
|
"Home Assistant" = 1099568401; # (2025.7.1)
|
||||||
"Ice Cubes for Mastodon" = 6444915884; # (1.11.3)
|
"Ice Cubes for Mastodon" = 6444915884; # (1.11.3)
|
||||||
"LibreOffice" = 1630474372;
|
#"LibreOffice" = 1630474372;
|
||||||
"Monal - XMPP Chatting " = 1637078500;
|
"Monal - XMPP Chatting " = 1637078500;
|
||||||
"MQTT Explorer" = 1455214828; # (0.3.5)
|
"MQTT Explorer" = 1455214828; # (0.3.5)
|
||||||
"Night Sky" = 475772902; # 475772902
|
|
||||||
"Native SQLite Manager" = 1416282836; # (1.31.0)
|
"Native SQLite Manager" = 1416282836; # (1.31.0)
|
||||||
"Remarkable Desktop" = 1276493162; # (3.19.0)
|
"Remarkable Desktop" = 1276493162; # (3.19.0)
|
||||||
"Slack for Desktop" = 803453959; # (4.45.60)
|
"Slack for Desktop" = 803453959; # (4.45.60)
|
||||||
@@ -76,6 +75,9 @@ in
|
|||||||
"Windows App Installer" = 1295203466; # (1.0.16)
|
"Windows App Installer" = 1295203466; # (1.0.16)
|
||||||
"Wireguard" = 1451685025; # (1.0.16)
|
"Wireguard" = 1451685025; # (1.0.16)
|
||||||
### "1Password: Password Manager" = 1511601750; # (8.11.0) Does not seem to insta
|
### "1Password: Password Manager" = 1511601750; # (8.11.0) Does not seem to insta
|
||||||
|
}
|
||||||
|
// lib.optionalAttrs (system != "x86_64-darwin") {
|
||||||
|
"Night Sky" = 475772902; # 475772902
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -116,8 +118,19 @@ in
|
|||||||
style = "Block";
|
style = "Block";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
env = {
|
||||||
|
TERM = "xterm-256color";
|
||||||
|
};
|
||||||
|
|
||||||
window = {
|
window = {
|
||||||
opacity = 1.0;
|
opacity = 1.0;
|
||||||
|
dynamic_padding = true;
|
||||||
|
decorations = "full";
|
||||||
|
title = "Terminal";
|
||||||
|
class = {
|
||||||
|
instance = "Alacritty";
|
||||||
|
general = "Alacritty";
|
||||||
|
};
|
||||||
padding = {
|
padding = {
|
||||||
x = 24;
|
x = 24;
|
||||||
y = 24;
|
y = 24;
|
||||||
@@ -129,18 +142,7 @@ in
|
|||||||
family = "MesloLGS NF";
|
family = "MesloLGS NF";
|
||||||
style = "Regular";
|
style = "Regular";
|
||||||
};
|
};
|
||||||
size = lib.mkMerge [
|
size = 14;
|
||||||
(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";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
colors = {
|
colors = {
|
||||||
@@ -202,10 +204,7 @@ in
|
|||||||
"vps3.evangineer.net".forwardAgent = true;
|
"vps3.evangineer.net".forwardAgent = true;
|
||||||
"vps2.evangineer.net".forwardAgent = true;
|
"vps2.evangineer.net".forwardAgent = true;
|
||||||
};
|
};
|
||||||
includes = [
|
includes = [ "/Users/${user}/.ssh/config_external" ];
|
||||||
(lib.mkIf pkgs.stdenv.hostPlatform.isLinux "/home/${user}/.ssh/config_external")
|
|
||||||
(lib.mkIf pkgs.stdenv.hostPlatform.isDarwin "/Users/${user}/.ssh/config_external")
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
gpg = {
|
gpg = {
|
||||||
@@ -229,19 +228,19 @@ in
|
|||||||
};
|
};
|
||||||
initContent =
|
initContent =
|
||||||
let
|
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 ''
|
zshConfigEarlyInit = lib.mkOrder 500 ''
|
||||||
if [[ -f /nix/var/nix/profiles/default/etc/profile.d/nix-daemon.sh ]]; then
|
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-daemon.sh
|
||||||
. /nix/var/nix/profiles/default/etc/profile.d/nix.sh
|
. /nix/var/nix/profiles/default/etc/profile.d/nix.sh
|
||||||
fi
|
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
|
# GPGAgent for SSH
|
||||||
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
|
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
|
||||||
|
|
||||||
@@ -283,6 +282,7 @@ in
|
|||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
lib.mkMerge [
|
lib.mkMerge [
|
||||||
|
zshConfigBefore
|
||||||
zshConfigEarlyInit
|
zshConfigEarlyInit
|
||||||
zshConfigLastInit
|
zshConfigLastInit
|
||||||
];
|
];
|
||||||
@@ -579,7 +579,7 @@ in
|
|||||||
{ path = "/Applications/Visual Studio Code.app/"; }
|
{ path = "/Applications/Visual Studio Code.app/"; }
|
||||||
{ path = "/Applications/Home Assistant.app/"; }
|
{ path = "/Applications/Home Assistant.app/"; }
|
||||||
{ path = "/Applications/reMarkable.app/"; }
|
{ path = "/Applications/reMarkable.app/"; }
|
||||||
{ path = "/Applications/LibreOffice.app/"; }
|
{ path = "/run/current-system/Applications/LibreOffice.app/"; }
|
||||||
{ path = "/Applications/Microsoft Word.app/"; }
|
{ path = "/Applications/Microsoft Word.app/"; }
|
||||||
{ path = "/Applications/Microsoft PowerPoint.app/"; }
|
{ path = "/Applications/Microsoft PowerPoint.app/"; }
|
||||||
{ path = "/Applications/Microsoft Teams.app/"; }
|
{ path = "/Applications/Microsoft Teams.app/"; }
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ with pkgs;
|
|||||||
killall
|
killall
|
||||||
minicom
|
minicom
|
||||||
mtr
|
mtr
|
||||||
|
ncurses
|
||||||
ncdu
|
ncdu
|
||||||
nodejs
|
nodejs
|
||||||
|
|
||||||
@@ -86,6 +87,7 @@ with pkgs;
|
|||||||
hunspell
|
hunspell
|
||||||
iftop
|
iftop
|
||||||
inetutils # includes Telnet
|
inetutils # includes Telnet
|
||||||
|
libreoffice-bin
|
||||||
ripgrep
|
ripgrep
|
||||||
tmux
|
tmux
|
||||||
tree
|
tree
|
||||||
@@ -96,7 +98,9 @@ with pkgs;
|
|||||||
uv
|
uv
|
||||||
|
|
||||||
(python3.withPackages (
|
(python3.withPackages (
|
||||||
python-pkgs: with python-pkgs; [
|
python-pkgs:
|
||||||
|
with python-pkgs;
|
||||||
|
[
|
||||||
bidict
|
bidict
|
||||||
blinker
|
blinker
|
||||||
certifi
|
certifi
|
||||||
@@ -106,6 +110,7 @@ with pkgs;
|
|||||||
flask-socketio
|
flask-socketio
|
||||||
h11
|
h11
|
||||||
idna
|
idna
|
||||||
|
intelhex
|
||||||
importlib-metadata
|
importlib-metadata
|
||||||
itsdangerous
|
itsdangerous
|
||||||
jinja2
|
jinja2
|
||||||
@@ -150,8 +155,8 @@ with pkgs;
|
|||||||
xml2rfc
|
xml2rfc
|
||||||
zotero
|
zotero
|
||||||
|
|
||||||
(texlive.combine {
|
(texliveSmall.withPackages (
|
||||||
inherit (texlive)
|
texlivePackages: with texlivePackages; [
|
||||||
apa6
|
apa6
|
||||||
apa7
|
apa7
|
||||||
apacite
|
apacite
|
||||||
@@ -200,8 +205,8 @@ with pkgs;
|
|||||||
xecjk
|
xecjk
|
||||||
xifthen
|
xifthen
|
||||||
xurl
|
xurl
|
||||||
;
|
]
|
||||||
})
|
))
|
||||||
|
|
||||||
dockutil
|
dockutil
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -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 ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user