Compare commits
9 commits
f4b8fc79f9
...
45d3059954
| Author | SHA1 | Date | |
|---|---|---|---|
| 45d3059954 | |||
| 09faf47135 | |||
| 9e641f6253 | |||
| 3af910aa81 | |||
| b6eaa2213d | |||
| 93ca3df9d5 | |||
| 701387cb75 | |||
| 8cfd5d59e3 | |||
| 65daa5589d |
8 changed files with 100 additions and 20 deletions
|
|
@ -94,6 +94,9 @@ in {
|
||||||
installRunic = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
installRunic = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||||
run ${pkgs.julia-bin}/bin/julia --project=@runic --startup-file=no -e 'using Pkg; Pkg.add(name="Runic", version="${runic_version}")'
|
run ${pkgs.julia-bin}/bin/julia --project=@runic --startup-file=no -e 'using Pkg; Pkg.add(name="Runic", version="${runic_version}")'
|
||||||
'';
|
'';
|
||||||
|
installJuliaFormatter = lib.hm.dag.entryAfter [ "writeBoundary" ] ''
|
||||||
|
run ${pkgs.julia-bin}/bin/julia --project=@JuliaFormatter --startup-file=no -e 'using Pkg; Pkg.add(name="JuliaFormatter", version="2.1.6")'
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
programs = {
|
programs = {
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,6 @@
|
||||||
quarto
|
quarto
|
||||||
roboto-slab
|
roboto-slab
|
||||||
shellcheck
|
shellcheck
|
||||||
sqlitebrowser
|
|
||||||
tex-fmt
|
tex-fmt
|
||||||
woodpecker-cli
|
woodpecker-cli
|
||||||
(texlive.combine { inherit (texlive) scheme-basic latex-bin latexmk; })
|
(texlive.combine { inherit (texlive) scheme-basic latex-bin latexmk; })
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ in {
|
||||||
imports = [ ./../programs/plasma.nix ];
|
imports = [ ./../programs/plasma.nix ];
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
packages = with pkgs; [ kwalletcli custom-pkgs.sc4pac ];
|
packages = with pkgs; [ kwalletcli sqlitebrowser custom-pkgs.sc4pac ];
|
||||||
sessionVariables = { ZED_WINDOW_DECORATIONS = "server"; };
|
sessionVariables = { ZED_WINDOW_DECORATIONS = "server"; };
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
|
|
|
||||||
|
|
@ -75,7 +75,7 @@
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
search = {
|
search = {
|
||||||
default = "Milliron X Search";
|
default = "Kagi";
|
||||||
privateDefault = "Milliron X Search";
|
privateDefault = "Milliron X Search";
|
||||||
force = true;
|
force = true;
|
||||||
engines = {
|
engines = {
|
||||||
|
|
@ -108,6 +108,41 @@
|
||||||
updateInterval = 7 * 24 * 60 * 60 * 1000;
|
updateInterval = 7 * 24 * 60 * 60 * 1000;
|
||||||
definedAliases = [ "@pxt" ];
|
definedAliases = [ "@pxt" ];
|
||||||
};
|
};
|
||||||
|
"Kagi" = {
|
||||||
|
urls = [
|
||||||
|
{
|
||||||
|
rels = [ "results" ];
|
||||||
|
type = "text/html";
|
||||||
|
method = "GET";
|
||||||
|
template = "https://kagi.com/search?q={searchTerms}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
rels = [ "suggestions" ];
|
||||||
|
type = "application/x-suggestions+json";
|
||||||
|
method = "GET";
|
||||||
|
template =
|
||||||
|
"https://kagisuggest.com/api/autosuggest?q={searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
icon = "https://kagi.com/favicon.ico";
|
||||||
|
updateInterval = 24 * 60 * 60 * 1000; # every day
|
||||||
|
definedAliases = [ "@kg" ];
|
||||||
|
};
|
||||||
|
# Based on which bangs I use, I should also add (in no particular order):
|
||||||
|
# - Dockerhub
|
||||||
|
# - WineHQ
|
||||||
|
# - nixpkgs
|
||||||
|
# - YouTube
|
||||||
|
# - IMDB
|
||||||
|
# - Flathub
|
||||||
|
# - USPS/UPS/DHL/FedEx
|
||||||
|
# - PubMed
|
||||||
|
# - Cabi Abstracts?
|
||||||
|
# - Conda
|
||||||
|
# - Marginalia
|
||||||
|
# - AlternativeTo
|
||||||
|
# - Wikipedia
|
||||||
|
# - Google Scholar
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
settings = {
|
settings = {
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,6 @@
|
||||||
extensions = [
|
extensions = [
|
||||||
"basher"
|
"basher"
|
||||||
"clojure"
|
"clojure"
|
||||||
"cspell"
|
|
||||||
"dockerfile"
|
"dockerfile"
|
||||||
"earthfile"
|
"earthfile"
|
||||||
"git-firefly"
|
"git-firefly"
|
||||||
|
|
@ -19,27 +18,12 @@
|
||||||
];
|
];
|
||||||
userSettings = {
|
userSettings = {
|
||||||
agent = {
|
agent = {
|
||||||
|
use_modifier_to_send = true;
|
||||||
default_model = {
|
default_model = {
|
||||||
provider = "copilot_chat";
|
provider = "copilot_chat";
|
||||||
model = "gpt-4.1";
|
model = "gpt-4.1";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
auto_install_extensions = {
|
|
||||||
basher = true;
|
|
||||||
clojure = true;
|
|
||||||
cspell = true;
|
|
||||||
dockerfile = true;
|
|
||||||
earthfile = true;
|
|
||||||
git-firefly = true;
|
|
||||||
html = true;
|
|
||||||
julia = true;
|
|
||||||
latex = true;
|
|
||||||
macos-classic = true;
|
|
||||||
nix = true;
|
|
||||||
r = true;
|
|
||||||
toml = true;
|
|
||||||
xml = true;
|
|
||||||
};
|
|
||||||
buffer_font_family = "FiraCode Nerd Font";
|
buffer_font_family = "FiraCode Nerd Font";
|
||||||
buffer_font_size = 11;
|
buffer_font_size = 11;
|
||||||
features = { edit_prediction_provider = "zed"; };
|
features = { edit_prediction_provider = "zed"; };
|
||||||
|
|
@ -49,6 +33,8 @@
|
||||||
external = {
|
external = {
|
||||||
command = "julia";
|
command = "julia";
|
||||||
arguments = [
|
arguments = [
|
||||||
|
"--project=@JuliaFormatter"
|
||||||
|
"--startup-file=no"
|
||||||
"-e"
|
"-e"
|
||||||
"using JuliaFormatter; print(format_text(String(read(stdin))));"
|
"using JuliaFormatter; print(format_text(String(read(stdin))));"
|
||||||
];
|
];
|
||||||
|
|
|
||||||
|
|
@ -19,4 +19,5 @@ in {
|
||||||
++ [ bosephus-host ];
|
++ [ bosephus-host ];
|
||||||
"secrets/pihole.age".publicKeys = system-administrators ++ [ bosephus-host ];
|
"secrets/pihole.age".publicKeys = system-administrators ++ [ bosephus-host ];
|
||||||
"secrets/ansible-vault-password.age".publicKeys = system-administrators;
|
"secrets/ansible-vault-password.age".publicKeys = system-administrators;
|
||||||
|
"secrets/darwin-policies-json.age".publicKeys = system-administrators;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
14
secrets/darwin-policies-json.age
Normal file
14
secrets/darwin-policies-json.age
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
age-encryption.org/v1
|
||||||
|
-> ssh-ed25519 bN6E9A pP/KN1DuadjXdcmn88HMfbPx3fJtfVPsk6thr0nkdCM
|
||||||
|
81yMhheSMDQAl0c40l99kE8LgpGFFaO0oM/i04sfYe8
|
||||||
|
-> ssh-ed25519 1g/xww /Kp3JUItkd3sWvOD6Te6OqynKnHCE3N4EKC6IVBZzRc
|
||||||
|
CNWaNgLMNXpLzx9jNZR5sToouRCJxNDife+dTMhw/mc
|
||||||
|
-> ssh-ed25519 +kBihw qRIX7qPG2+/gsfvEJBp1tAS71fAXeQ42RBk7EjaWdUM
|
||||||
|
gjlHOUzMZuWZKLLdn/vTDjhDzKul7J0tzvCFwE/eRWE
|
||||||
|
-> ssh-ed25519 dbKeHw BIkHWULlDEbu+/6pKVhbQccfgGQZy05V5ZrsmOxuilI
|
||||||
|
G/B1TLuaIi4dnlyp1bo0wCjyBJcfOvv2ecuWLo7Cgl0
|
||||||
|
--- t4O2Yxqi3K+siT5JhDW55lHPw2uQ05Y6rcDOPzXbAIY
|
||||||
|
bdò
0ÀS®Üa^O<>ö>Í&Ã42/xÅZÿ/£–ÏÒó(ã¿”3K
|
||||||
|
lº|p-WÁ,[Ö0¿½ê"Œ¥'<¨÷úi
|
||||||
|
¥ò\¶Ž «)Vo€¼©_ox†¿£/‚ÿ–ß&‰WlžÀ.4òx<§ÜŠ<C39C>ñcåb5´X,{ú»?Îñ=¾—™&ÔÈ›&"q±éî°ÅÑ?{ZÆUo>ºB~A›žì.ÅõòE»ˆË<CB86>òÂÆÏÏÔG©žøt
|
||||||
|
]¸qÁ':—Æ(Ñ<>õ=Wê W8°$E(í!
|
||||||
|
|
@ -33,6 +33,46 @@
|
||||||
system.keyboard.enableKeyMapping = true;
|
system.keyboard.enableKeyMapping = true;
|
||||||
system.primaryUser = "millironx";
|
system.primaryUser = "millironx";
|
||||||
|
|
||||||
|
# nix-darwin doesn't provide a nice injection point for running activation
|
||||||
|
# scripts like home-manager does. In other words, we can't add an arbitrary
|
||||||
|
# number of activation scripts with well-defined entry points into the system
|
||||||
|
# activation process. Instead, we can rely on these three obscure and
|
||||||
|
# discouraged activation points to bootstrap stuff:
|
||||||
|
# https://github.com/nix-darwin/nix-darwin/blob/e04a388232d9a6ba56967ce5b53a8a6f713cdfcf/modules/system/activation-scripts.nix#L152-L156
|
||||||
|
# In this case, we are using the postActivation section (since it runs after
|
||||||
|
# homebrew) to unquarantine any casks that might have updated and are now
|
||||||
|
# in quarantine again.
|
||||||
|
system.activationScripts.postActivation.text = ''
|
||||||
|
echo unquarantining Homebrew casks...
|
||||||
|
PATH="/opt/homebrew/bin:${
|
||||||
|
pkgs.lib.makeBinPath [ pkgs.jq pkgs.gnugrep ]
|
||||||
|
}:/usr/bin:$PATH" \
|
||||||
|
sudo \
|
||||||
|
--preserve-env=PATH \
|
||||||
|
--user=${config.system.primaryUser} \
|
||||||
|
--set-home \
|
||||||
|
brew info \
|
||||||
|
--casks \
|
||||||
|
--installed \
|
||||||
|
--json=v2 \
|
||||||
|
| jq \
|
||||||
|
--raw-output0 \
|
||||||
|
'.casks[]
|
||||||
|
| select(.artifacts[] | type == "object" and has("app"))
|
||||||
|
| "\(.artifacts[]?.app | first // empty)"' \
|
||||||
|
| xargs \
|
||||||
|
--null \
|
||||||
|
-I{} \
|
||||||
|
sh -c 'xattr "$0" | \
|
||||||
|
grep \
|
||||||
|
--quiet \
|
||||||
|
com.apple.quarantine \
|
||||||
|
&& echo "$0" \
|
||||||
|
&& xattr -vrd com.apple.quarantine "$0" \
|
||||||
|
|| true' \
|
||||||
|
/Applications/{}
|
||||||
|
'';
|
||||||
|
|
||||||
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
nix.settings.experimental-features = [ "nix-command" "flakes" ];
|
||||||
nixpkgs.hostPlatform = "aarch64-darwin";
|
nixpkgs.hostPlatform = "aarch64-darwin";
|
||||||
|
|
||||||
|
|
@ -79,12 +119,14 @@
|
||||||
"docker-buildx"
|
"docker-buildx"
|
||||||
"docker-credential-helper"
|
"docker-credential-helper"
|
||||||
"firefoxpwa"
|
"firefoxpwa"
|
||||||
|
"mpv"
|
||||||
"r"
|
"r"
|
||||||
];
|
];
|
||||||
casks = [
|
casks = [
|
||||||
"alt-tab"
|
"alt-tab"
|
||||||
"anki"
|
"anki"
|
||||||
"anythingllm"
|
"anythingllm"
|
||||||
|
"db-browser-for-sqlite"
|
||||||
"firefox"
|
"firefox"
|
||||||
"freetube"
|
"freetube"
|
||||||
"inkscape"
|
"inkscape"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue