├── .gitignore
├── hardware
├── README.md
└── xps.nix
├── pkgs
├── cal-wallpaper
│ ├── source.png
│ └── default.nix
├── neo4j.nix
├── nix-zsh-completions.nix
├── cilium.nix
├── julia
│ ├── generate_sysimage.jl
│ ├── startup.jl
│ ├── fetchgit
│ │ ├── builder.sh
│ │ ├── default.nix
│ │ └── nix-prefetch-git
│ ├── Project.toml
│ ├── gr.nix
│ ├── transcript.jl
│ ├── default.nix
│ ├── common.nix
│ ├── trace.jl
│ └── Manifest.toml
├── xsecurelock.nix
├── git.nix
├── direnv.nix
├── dunst
│ ├── default.nix
│ └── dunstrc.ini
├── rofi.nix
├── lemonbar-xft
│ ├── default.nix
│ └── status.py
├── signal-desktop.nix
├── alacritty.nix
├── mx-puppet-discord
│ └── default.nix
├── foliate.nix
├── zsh
│ ├── prompt.sh
│ └── default.nix
└── vscode.nix
├── README.md
├── theme.nix
├── flake.nix
├── profile.nix
├── flake.lock
├── i3-config.nix
└── configuration.nix
/.gitignore:
--------------------------------------------------------------------------------
1 | result
2 | secrets
3 |
--------------------------------------------------------------------------------
/hardware/README.md:
--------------------------------------------------------------------------------
1 | This is for files generates by `nixos-generate-config`, generally related to filesystems.
--------------------------------------------------------------------------------
/pkgs/cal-wallpaper/source.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/aaronjanse/dotfiles/HEAD/pkgs/cal-wallpaper/source.png
--------------------------------------------------------------------------------
/pkgs/cal-wallpaper/default.nix:
--------------------------------------------------------------------------------
1 | { runCommand, imagemagick, theme }:
2 |
3 | runCommand "call-wallpaper.png" { } ''
4 | ${imagemagick}/bin/convert ${./source.png} -fuzz 16% -fill "${theme.background}" -opaque "#181920" $out
5 | ''
6 |
--------------------------------------------------------------------------------
/pkgs/neo4j.nix:
--------------------------------------------------------------------------------
1 | { neo4j }:
2 | neo4j.overrideAttrs (attrs: {
3 | installPhase = attrs.installPhase + ''
4 | patchShebangs $out/share/neo4j/bin/neo4j-admin
5 | # user will be asked to change password on first login
6 | $out/bin/neo4j-admin set-initial-password neo4j
7 | '';
8 | })
--------------------------------------------------------------------------------
/pkgs/nix-zsh-completions.nix:
--------------------------------------------------------------------------------
1 | { nix-zsh-completions, fetchFromGitHub }:
2 |
3 | nix-zsh-completions.overrideAttrs (attrs: {
4 | src = fetchFromGitHub {
5 | owner = "ma27";
6 | repo = "nix-zsh-completions";
7 | rev = "939c48c182e9d018eaea902b1ee9d00a415dba86";
8 | sha256 = "sha256-3HVYez/wt7EP8+TlhTppm968Wl8x5dXuGU0P+8xNDpo=";
9 | };
10 | })
11 |
--------------------------------------------------------------------------------
/pkgs/cilium.nix:
--------------------------------------------------------------------------------
1 | { lib, fetchFromGitHub, buildGoModule }:
2 | buildGoModule rec {
3 | pname = "cilium";
4 | version = "1.9.1";
5 | vendorSha256 = null;
6 | doCheck = false;
7 | src = fetchFromGitHub {
8 | owner = "cilium";
9 | repo = "cilium";
10 | rev = "v${version}";
11 | sha256 = "sha256-SpGxzwXwOgWrA8hFvBmq2Zrwa+aem7BMzHuYvV6ei+c=";
12 | };
13 | }
14 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | This is a collection of my dotfiles, written in Nix.
2 |
3 | ### Profiles
4 |
5 | I use `nix profile` to manage which packages I have installed. More specifically, I install the `buildEnv` packages in [profile.nix](./profile.nix). To try out the small set of tools I share across my laptop and servers, run:
6 |
7 | ```
8 | nix shell github:aaronjanse/dotfiles#profiles.common
9 | ```
10 |
--------------------------------------------------------------------------------
/pkgs/julia/generate_sysimage.jl:
--------------------------------------------------------------------------------
1 | using Pkg
2 |
3 | Pkg.activate(".")
4 |
5 | using PackageCompiler
6 |
7 | import Pluto, REPL, PEG, Plots, UnicodePlots, REPLComboShell
8 | import InteractiveUtils
9 |
10 | create_sysimage([
11 | :Pluto, :REPL, :PEG, :Plots, :UnicodePlots, :REPLComboShell,
12 | :InteractiveUtils
13 | ], sysimage_path=ARGS[2], precompile_statements_file=ARGS[1],
14 | )
15 |
--------------------------------------------------------------------------------
/pkgs/julia/startup.jl:
--------------------------------------------------------------------------------
1 | using REPLComboShell
2 |
3 | atreplinit() do repl
4 | REPLComboShell.setup_repl(repl, "ajanse")
5 |
6 | delete!(ENV, "JULIA_BINDIR")
7 | delete!(ENV, "JULIA_LOAD_PATH")
8 | delete!(ENV, "JULIA_DEPOT_PATH")
9 | end
10 |
11 | using InteractiveUtils
12 | ENV["EDITOR"] = "kak"
13 | InteractiveUtils.define_editor("kak", wait = true) do cmd, path, line
14 | `$cmd +$line $path`
15 | end
16 |
17 |
--------------------------------------------------------------------------------
/pkgs/xsecurelock.nix:
--------------------------------------------------------------------------------
1 | { xsecurelock, symlinkJoin, makeWrapper }:
2 | symlinkJoin
3 | {
4 | name = "xsecurelock-custom";
5 | paths = [
6 | xsecurelock
7 | ];
8 | buildInputs = [ makeWrapper ];
9 |
10 | # https://github.com/google/xsecurelock/issues/97
11 | postBuild = ''
12 | wrapProgram $out/bin/xsecurelock \
13 | --set XSECURELOCK_PASSWORD_PROMPT time_hex \
14 | --add-flags "--backend glx"
15 | '';
16 | }
17 |
--------------------------------------------------------------------------------
/pkgs/git.nix:
--------------------------------------------------------------------------------
1 | { gitFull, symlinkJoin, makeWrapper }:
2 |
3 | symlinkJoin {
4 | name = "git-custom";
5 | paths = [ gitFull ];
6 | buildInputs = [ makeWrapper ];
7 | postBuild = ''
8 | wrapProgram $out/bin/git \
9 | --set-default GIT_AUTHOR_NAME 'Aaron Janse' \
10 | --set-default GIT_AUTHOR_EMAIL 'aaron@ajanse.me' \
11 | --set-default GIT_COMMITTER_NAME 'Aaron Janse' \
12 | --set-default GIT_COMMITTER_EMAIL 'aaron@ajanse.me'
13 | '';
14 | }
15 |
--------------------------------------------------------------------------------
/pkgs/direnv.nix:
--------------------------------------------------------------------------------
1 | { direnv, nix-direnv, symlinkJoin, writeText, makeWrapper }:
2 |
3 | let config = writeText "alacritty.yaml" ''
4 | source ${nix-direnv}/share/nix-direnv/direnvrc
5 | ''; in
6 | symlinkJoin
7 | {
8 | name = "direnv-custom";
9 | paths = [ direnv ];
10 | buildInputs = [ makeWrapper ];
11 | postBuild = ''
12 | mkdir $out/direnv
13 | cp ${config} $out/direnv/direnvrc
14 | wrapProgram $out/bin/direnv \
15 | --set XDG_CONFIG_HOME $out \
16 | --set DIRENV_LOG_FORMAT "$(printf "\033[1;30m %%s\033[0m")"
17 | '';
18 | }
19 |
--------------------------------------------------------------------------------
/pkgs/julia/fetchgit/builder.sh:
--------------------------------------------------------------------------------
1 | # tested so far with:
2 | # - no revision specified and remote has a HEAD which is used
3 | # - revision specified and remote has a HEAD
4 | # - revision specified and remote without HEAD
5 | source $stdenv/setup
6 |
7 | header "exporting $url (rev $rev) into $out"
8 |
9 | $SHELL $fetcher --builder --url "$url" --out "$out" --rev "$rev" \
10 | ${leaveDotGit:+--leave-dotGit} \
11 | ${deepClone:+--deepClone} \
12 | ${fetchSubmodules:+--fetch-submodules} \
13 | ${branchName:+--branch-name "$branchName"}
14 |
15 | runHook postFetch
16 | stopNest
17 |
--------------------------------------------------------------------------------
/pkgs/dunst/default.nix:
--------------------------------------------------------------------------------
1 | { dunst, symlinkJoin, makeWrapper, fetchFromGitHub }:
2 | symlinkJoin
3 | {
4 | name = "dunst-custom";
5 | paths = [
6 | (dunst.overrideAttrs (attrs: {
7 | src = fetchFromGitHub {
8 | repo = "dunst";
9 | owner = "dunst-project";
10 | rev = "0e6997b6fcb9bb89c961597123945bc0075445c9";
11 | hash = "sha256-SNGrxcQhDflvaN9GWzyA46bVJHpmAWF83ew8zgFxStI=";
12 | };
13 | }))
14 | ];
15 | buildInputs = [ makeWrapper ];
16 | postBuild = ''
17 | wrapProgram $out/bin/dunst --add-flags "-config ${./dunstrc.ini}"
18 | '';
19 | }
20 |
--------------------------------------------------------------------------------
/pkgs/rofi.nix:
--------------------------------------------------------------------------------
1 | { rofi, writeText, theme }:
2 |
3 | rofi.override {
4 | # see https://manpages.ubuntu.com/manpages/bionic/man5/rofi-theme.5.html
5 | theme = writeText "rofi-theme" ''
6 | * {
7 | background-color: ${theme.background};
8 | color: #fafbfc;
9 | font: "Roboto Mono 24";
10 | }
11 | window {
12 | lines: 20;
13 | width: 800px;
14 | padding: 25px;
15 | border: 2px;
16 | border-color: #ffffff;
17 | }
18 | listview {
19 | lines: 15;
20 | }
21 | #element.selected.normal {
22 | color: #bd93f9;
23 | }
24 | #prompt {
25 | enabled: false;
26 | }
27 | '';
28 | }
29 |
--------------------------------------------------------------------------------
/pkgs/lemonbar-xft/default.nix:
--------------------------------------------------------------------------------
1 | { lemonbar-xft, runCommand, python36, fetchFromGitHub, alsaUtils, mullvad-vpn, playerctl, theme }:
2 |
3 | runCommand "lemonbar-custom"
4 | {
5 | LEMONBAR = lemonbar-xft.overrideAttrs (attrs: {
6 | src = fetchFromGitHub {
7 | owner = "freundTech";
8 | repo = "bar";
9 | rev = "2cc9282bdb24458c0954c3f311031116ee305eec";
10 | hash = "sha256-KGntGag5ASm5LOHzyEr8HroVaItK1dIZP8H7FhM5wl8=";
11 | };
12 | });
13 | PYTHON = python36.withPackages (ps: with ps; [ psutil i3ipc ]);
14 | } ''
15 | mkdir -p $out/bin
16 | cat > $out/bin/lemonbar << EOF
17 | export PATH=${alsaUtils}/bin:${mullvad-vpn}/bin:${playerctl}/bin:\$PATH
18 | $PYTHON/bin/python3 -u ${./status.py} | $LEMONBAR/bin/lemonbar \
19 | -f "Overpass Mono:pixelsize=25;0" -f "Font Awesome 5 Free:pixelsize=25;0" \
20 | -f "Font Awesome 5 Free:style=Solid:pixelsize=25;0" -f "Font Awesome 5 Brands:pixelsize=25;0" \
21 | -f "Source Code Pro:pixelsize=25;0" -u 4 -g x60 -B "${theme.background}"
22 | EOF
23 | chmod +x $out/bin/lemonbar
24 | ''
25 |
--------------------------------------------------------------------------------
/theme.nix:
--------------------------------------------------------------------------------
1 | rec {
2 | # text color
3 | foreground = "#f8f8f2";
4 | # darker background for wallpaper, terminal, etc
5 | background = "#1d1f23";
6 | # background for primary editing areas in text editors etc
7 | backgroundSecondary = "#21252b";
8 |
9 | normal = {
10 | black = "#555555";
11 | blue = "#bd93f9";
12 | cyan = "#8be9fd";
13 | green = "#50fa7b";
14 | magenta = "#ff79c6";
15 | red = "#ff5555";
16 | white = "#f8f8f2";
17 | yellow = "#f1fa8c";
18 | };
19 | bright = {
20 | black = "#555555";
21 | blue = "#bd93f9";
22 | cyan = "#8be9fd";
23 | green = "#50fa7b";
24 | magenta = "#ff79c6";
25 | red = "#ff5555";
26 | white = "#ffffff";
27 | yellow = "#f1fa8c";
28 | };
29 |
30 | colors16 = map (builtins.replaceStrings [ "#" ] [ "" ]) [
31 | background
32 | normal.red
33 | normal.green
34 | normal.yellow
35 | normal.blue
36 | normal.magenta
37 | normal.cyan
38 | normal.white
39 | backgroundSecondary
40 | bright.red
41 | bright.green
42 | bright.yellow
43 | bright.blue
44 | bright.magenta
45 | bright.cyan
46 | bright.white
47 | ];
48 | }
49 |
--------------------------------------------------------------------------------
/pkgs/julia/Project.toml:
--------------------------------------------------------------------------------
1 | [deps]
2 | ConstraintSolver = "e0e52ebd-5523-408d-9ca3-7641f1cd1405"
3 | Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
4 | HypothesisTests = "09f84164-cd44-5f33-b23f-e6b0d136a0d5"
5 | InteractiveUtils = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
6 | Latexify = "23fbe1c1-3f47-55db-b15f-69d7ec21a316"
7 | Optim = "429524aa-4258-5aef-a3af-852621145aeb"
8 | PEG = "12d937ae-5f68-53be-93c9-3a6f997a20a8"
9 | PackageCompiler = "9b87118b-4619-50d2-8e1e-99f35a4d4d9d"
10 | Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
11 | Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
12 | Pluto = "c3e4b0f8-55cb-11ea-2926-15256bba5781"
13 | Primes = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae"
14 | REPL = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
15 | REPLComboShell = "7999ad71-703a-42c8-bff7-678f9adb94f9"
16 | ReplMaker = "b873ce64-0db9-51f5-a568-4457d8e49576"
17 | StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd"
18 | StringParserPEG = "b0c8ea40-1aeb-11ea-0927-b51424bf2dfe"
19 | SymbolicUtils = "d1185830-fcd6-423d-90d6-eec64667417b"
20 | Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7"
21 | UnicodePlots = "b8865327-cd53-5732-bb35-84acbb429228"
22 | Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d"
23 |
--------------------------------------------------------------------------------
/pkgs/julia/gr.nix:
--------------------------------------------------------------------------------
1 | { stdenv, lib, qt5, libGL, xorg, fetchurl }:
2 |
3 | let
4 | mainDependencies = [
5 | qt5.qtbase
6 | qt5.qtsvg
7 | stdenv.cc.cc.lib
8 | libGL
9 | xorg.libXt
10 | xorg.libX11
11 | xorg.libXrender
12 | xorg.libXext
13 | ];
14 | in
15 | stdenv.mkDerivation {
16 | name = "GR.jl";
17 | version = "4.3.10";
18 |
19 | src = fetchurl {
20 | url = "https://gr-framework.org/downloads/gr-0.53.0-Debian-x86_64.tar.gz";
21 | hash = "sha256-sMQslobOR6FIhnPF3V8rb9X7BKz5R7X45vFfTsg91to=";
22 | };
23 |
24 | dontConfigure = true;
25 | dontBuild = true;
26 |
27 | nativeBuildInputs = [ qt5.wrapQtAppsHook ];
28 |
29 | installPhase = ''
30 | mkdir -p $out
31 | cp -r ./* $out
32 | '';
33 |
34 | preFixup =
35 | let
36 | libPath = lib.makeLibraryPath (mainDependencies ++ [
37 | xorg.libxcb
38 | ]);
39 | in
40 | ''
41 | patchelf \
42 | --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
43 | --set-rpath "${libPath}" \
44 | $out/bin/gksqt
45 | '';
46 |
47 | propagatedBuildInputs = mainDependencies ++ [
48 | xorg.libxcb
49 | xorg.xcbproto
50 | xorg.xcbutil
51 | ];
52 | }
53 |
--------------------------------------------------------------------------------
/pkgs/dunst/dunstrc.ini:
--------------------------------------------------------------------------------
1 | [global]
2 | alignment = left
3 | font = Roboto Mono 8
4 | indicate_hidden = yes
5 | format = %a: %s\n%b
6 | icon_position = left
7 | sticky_history = yes
8 | geometry = 500x150-20+20
9 | word_wrap = yes
10 | padding = 25
11 | horizontal_padding = 25
12 | notification_height = 150
13 | max_icon_size = 100
14 | frame_width = 2
15 | frame_color = "#f8f8f8"
16 | corner_radius = 15
17 | transparency = 5
18 |
19 | [urgency_low]
20 | # IMPORTANT: colors have to be defined in quotation marks.
21 | # Otherwise the "#" and following would be interpreted as a comment.
22 | background = "#21252b"
23 | foreground = "#888888"
24 | timeout = 10
25 | # Icon for notifications with low urgency, uncomment to enable
26 | #icon = /path/to/icon
27 |
28 | [urgency_normal]
29 | background = "#21252b"
30 | foreground = "#ffffff"
31 | timeout = 10
32 | # Icon for notifications with normal urgency, uncomment to enable
33 | #icon = /path/to/icon
34 |
35 | [urgency_critical]
36 | background = "#21252b"
37 | foreground = "#ffffff"
38 | frame_color = "#ff0000"
39 | timeout = 0
40 | # Icon for notifications with critical urgency, uncomment to enable
41 | #icon = /path/to/icon
42 |
43 |
--------------------------------------------------------------------------------
/pkgs/signal-desktop.nix:
--------------------------------------------------------------------------------
1 | { signal-desktop, theme }:
2 |
3 | signal-desktop.overrideAttrs (oldAttrs: {
4 | preFixup = oldAttrs.preFixup + ''
5 | cp $out/lib/Signal/resources/app.asar $out/lib/Signal/resources/app.asar.bak
6 | cat $out/lib/Signal/resources/app.asar.bak \
7 | | sed 's/background-color: #f6f6f6;/background-color: ${theme.background};/g' \
8 | | sed 's/#1b1b1b;/${theme.foreground};/g' \
9 | | sed 's/#5e5e5e;/${theme.foreground};/g' \
10 | | sed 's/-color: #ffffff;/-color: ${theme.backgroundSecondary};/g' \
11 | | sed 's/background: #ffffff;/background: ${theme.backgroundSecondary};/g' \
12 | | sed 's/#dedede;/#44475a;/g' \
13 | | sed 's/#e9e9e9;/#44475a;/g' \
14 | | sed 's/1px solid #ffffff;/1px solid ${theme.backgroundSecondary};/g' \
15 | | sed 's/#f6f6f6;/${theme.background};/g' \
16 | | sed 's/#b9b9b9;/#44475a;/g' \
17 | | sed 's/2px solid #ffffff;/2px solid ${theme.backgroundSecondary};/g' \
18 | | sed 's/setMenuBarVisibility(visibility);/setMenuBarVisibility(false );/g' \
19 | | sed 's/setFullScreen(true)/setFullScreen(0==1)/g' \
20 | > $out/lib/Signal/resources/app.asar
21 | rm $out/lib/Signal/resources/app.asar.bak
22 | '';
23 | })
24 |
--------------------------------------------------------------------------------
/pkgs/alacritty.nix:
--------------------------------------------------------------------------------
1 | { alacritty, symlinkJoin, writeText, makeWrapper, theme }:
2 |
3 | let config = writeText "alacritty.yaml" (builtins.toJSON {
4 | colors = {
5 | bright = {
6 | black = "#555555";
7 | blue = "#bd93f9";
8 | cyan = "#8be9fd";
9 | green = "#50fa7b";
10 | magenta = "#ff79c6";
11 | red = "#ff5555";
12 | white = "#ffffff";
13 | yellow = "#f1fa8c";
14 | };
15 | normal = {
16 | black = "#555555";
17 | blue = "#bd93f9";
18 | cyan = "#8be9fd";
19 | green = "#50fa7b";
20 | magenta = "#ff79c6";
21 | red = "#ff5555";
22 | white = "#f8f8f2";
23 | yellow = "#f1fa8c";
24 | };
25 | primary = {
26 | background = theme.background;
27 | foreground = "#f8f8f2";
28 | };
29 | };
30 | env.TERM = "xterm-256color";
31 | font = {
32 | normal.family = "JuliaMono";
33 | size = 9;
34 | };
35 | }); in
36 | symlinkJoin
37 | {
38 | name = "alacritty-custom";
39 | paths = [
40 | alacritty
41 | ];
42 | buildInputs = [ makeWrapper ];
43 | postBuild = ''
44 | mkdir $out/etc
45 | cp ${config} $out/etc/alacritty.yml
46 | wrapProgram $out/bin/alacritty --add-flags "--config-file=$out/etc/alacritty.yml"
47 | '';
48 | }
49 |
--------------------------------------------------------------------------------
/hardware/xps.nix:
--------------------------------------------------------------------------------
1 | { config, lib, pkgs, ... }:
2 |
3 | {
4 | boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
5 | boot.initrd.kernelModules = [ ];
6 | boot.kernelModules = [ "kvm-intel" ];
7 | boot.extraModulePackages = [ ];
8 |
9 | networking.hostId = "188c5100";
10 |
11 | fileSystems."/" = {
12 | device = "zzroot/root";
13 | fsType = "zfs";
14 | };
15 |
16 | fileSystems."/nix" = {
17 | device = "zzroot/nix";
18 | fsType = "zfs";
19 | };
20 |
21 | fileSystems."/home" = {
22 | device = "zzroot/home";
23 | fsType = "zfs";
24 | };
25 |
26 | fileSystems."/safe" = {
27 | neededForBoot = true;
28 | device = "zzroot/persist";
29 | fsType = "zfs";
30 | };
31 |
32 | fileSystems."/mnt/code" = {
33 | device = "zzroot/code";
34 | fsType = "zfs";
35 | };
36 |
37 | fileSystems."/annex" = {
38 | neededForBoot = true;
39 | device = "zzroot/annex";
40 | fsType = "zfs";
41 | };
42 |
43 | fileSystems."/home/private" = {
44 | fsType = "tmpfs";
45 | };
46 |
47 | fileSystems."/boot" = {
48 | device = "/dev/disk/by-uuid/1752-74D2";
49 | fsType = "vfat";
50 | };
51 |
52 | swapDevices = [ ];
53 |
54 | nix.maxJobs = lib.mkDefault 12;
55 | powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
56 |
57 | }
58 |
--------------------------------------------------------------------------------
/pkgs/mx-puppet-discord/default.nix:
--------------------------------------------------------------------------------
1 | # This file has been generated by node2nix 1.8.0. Do not edit!
2 |
3 | { stdenv, lib, pkgs, fetchFromGitHub, nodejs, nodePackages, pkg-config, cairo, pango, libpng, libjpeg, giflib, librsvg, makeWrapper, callPackage }:
4 |
5 | let
6 | nodeEnv = import ./node-env.nix {
7 | inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
8 | inherit nodejs;
9 | libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
10 | };
11 | in
12 |
13 | # { stdenv, pkgs, fetchFromGitHub, nodejs, nodePackages, pkg-config, cairo, pango, libpng, libjpeg, giflib, librsvg, makeWrapper, callPackage }:
14 |
15 | let
16 | src = fetchFromGitHub {
17 | owner = "matrix-discord";
18 | repo = "mx-puppet-discord";
19 | rev = "a3b493da2fc4cdf2fe485b93eefc6ec514c12aac";
20 | sha256 = "sha256-uU8x+wLhfjbTwyDaTBdJQkcRj4d9LQcQvlmAB0oh82M=";
21 | };
22 |
23 | nodeComposition = callPackage ./node-packages.nix { inherit nodeEnv; };
24 |
25 | package = nodeComposition.shell.override {
26 | inherit src;
27 |
28 | buildInputs = [ cairo pango libpng libjpeg giflib librsvg ];
29 | nativeBuildInputs = [ nodePackages.node-pre-gyp nodePackages.node-gyp pkg-config ];
30 | };
31 | in
32 | stdenv.mkDerivation rec {
33 | pname = "mx-puppet-discord";
34 | version = "2020-11-14";
35 | inherit src;
36 |
37 | buildInputs = [ nodejs makeWrapper ];
38 |
39 | inherit (package) nodeDependencies;
40 |
41 | buildPhase = ''
42 | ln -s $nodeDependencies/lib/node_modules
43 | npm run-script build
44 | sed -i '1i #!${nodejs}/bin/node\n' build/index.js
45 | '';
46 |
47 | installPhase = ''
48 | cp -r . $out
49 | mkdir -p $out/bin
50 | chmod a+x $out/build/index.js
51 | makeWrapper $out/build/index.js $out/bin/${pname}
52 | '';
53 |
54 | meta = with lib; {
55 | platforms = platforms.linux;
56 | };
57 | }
58 |
--------------------------------------------------------------------------------
/pkgs/foliate.nix:
--------------------------------------------------------------------------------
1 | { stdenv
2 | , lib
3 | , fetchFromGitHub
4 | , meson
5 | , ninja
6 | , gettext
7 | , pkgconfig
8 | , python3
9 | , wrapGAppsHook
10 | , gobject-introspection
11 | , gjs
12 | , gtk3
13 | , gsettings-desktop-schemas
14 | , webkitgtk
15 | , glib
16 | , desktop-file-utils
17 | , hicolor-icon-theme
18 | , libarchive
19 | , dict
20 | }:
21 |
22 | stdenv.mkDerivation rec {
23 | pname = "foliate";
24 | version = "2.5.0";
25 |
26 | src = fetchFromGitHub {
27 | owner = "johnfactotum";
28 | repo = pname;
29 | rev = version;
30 | sha256 = "sha256-udRSsTBiIL0178jR9q0XuwJ6hzK/0wcbpHioM5sGDHM=";
31 | };
32 |
33 | nativeBuildInputs = [
34 | meson
35 | ninja
36 | pkgconfig
37 | gettext
38 | python3
39 | desktop-file-utils
40 | wrapGAppsHook
41 | hicolor-icon-theme
42 | ];
43 |
44 | buildInputs = [
45 | glib
46 | gtk3
47 | gjs
48 | webkitgtk
49 | gsettings-desktop-schemas
50 | gobject-introspection
51 | libarchive
52 | # TODO: Add once packaged, unclear how language packages best handled
53 | # hyphen
54 | dict # dictd for offline dictionary support
55 | ];
56 |
57 | doCheck = true;
58 |
59 | postPatch = ''
60 | chmod +x build-aux/meson/postinstall.py
61 | patchShebangs build-aux/meson/postinstall.py
62 | '';
63 |
64 | dontWrapGApps = true;
65 |
66 | # Fixes https://github.com/NixOS/nixpkgs/issues/31168
67 | postFixup = ''
68 | sed -e $'2iimports.package._findEffectiveEntryPointName = () => \'com.github.johnfactotum.Foliate\' ' \
69 | -i $out/bin/com.github.johnfactotum.Foliate
70 | wrapGApp $out/bin/com.github.johnfactotum.Foliate
71 | '';
72 |
73 | meta = with lib; {
74 | description = "Simple and modern GTK eBook reader";
75 | homepage = "https://johnfactotum.github.io/foliate/";
76 | license = licenses.gpl3Plus;
77 | maintainers = with maintainers; [ dtzWill ];
78 | };
79 | }
80 |
--------------------------------------------------------------------------------
/pkgs/zsh/prompt.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # if [ -z "$HISTFILE" ]; then
4 | # echo -n '%{%F{red}%}' # red
5 | # echo -n "tmp "
6 | # echo -n '%{%f%}'
7 | # fi
8 |
9 | # echo -n '%{%F{yellow}%}' # yellow
10 | # dirs | sed 's/\/\(.\)[^\/]*/\/\1/g' | sed s'/.$//' | xargs echo -n ; echo -n $(basename "`pwd`")
11 | # echo -n '%{%f%}'
12 |
13 | # echo -n " "
14 |
15 | # branch=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
16 | # if [ "$branch" ]; then
17 | # echo -n '%{%F{magenta}%}'
18 | # echo -n "$branch "
19 | # echo -n '%{%f%}'
20 | # fi
21 |
22 | # NIXSHELL=$(echo $PATH | tr ':' '\n' | grep '/nix/store' | sed 's#^/nix/store/[a-z0-9]\+-##' | sed 's#-[^-]\+$##' | xargs)
23 |
24 | # if [ "$NIXSHELL" ]; then
25 | # echo -n '%{%F{cyan}%}' # cyan
26 | # #echo -n "$NIXSHELL "
27 | # echo -n "nix "
28 | # echo -n '%{%f%}'
29 | # fi
30 |
31 | # if [[ "$USER" == "root" ]]; then
32 | # echo -n "#"
33 | # elif [[ "$USER" == "private" ]]; then
34 | # echo -n "@"
35 | # else
36 | # echo -n "λ"
37 | # fi
38 |
39 | # echo -n " "
40 |
41 | #!/usr/bin/env bash
42 |
43 | # if [ -z "$HISTFILE" ]; then
44 | # echo -n '%{%F{red}%}' # red
45 | # echo -n "tmp "
46 | # echo -n '%{%f%}'
47 | # fi
48 |
49 |
50 | if [[ "$PWD" == "$HOME" ]]; then
51 | echo -n '%F{magenta}janse>%f %{\e[?25h%}'
52 | # stty sane
53 | else
54 | echo -n '%F{magenta}' # yellow
55 | dirs | sed 's/\/\(.\)[^\/]*/\/\1/g' | sed s'/.$//' | xargs echo -n ; echo -n $(basename "`pwd`")
56 |
57 | # echo -n " "
58 |
59 | # echo -n '%{%F{cyan}%}' # cyan
60 | branch=$(git rev-parse --abbrev-ref HEAD 2>/dev/null)
61 | if [ "$branch" ]; then
62 | echo -n " %F{cyan}$branch"
63 | # echo -n '%{%f%}'
64 | fi
65 |
66 | NIXSHELL=$(echo $PATH | tr ':' '\n' | grep '/nix/store')
67 |
68 | if [ "$NIXSHELL" ]; then
69 | echo -n ' %F{cyan}nix%f'
70 | fi
71 |
72 | echo -n "%F{magenta}"
73 |
74 | if [[ "$USER" == "root" ]]; then
75 | echo -n "#"
76 | else
77 | echo -n ">"
78 | fi
79 |
80 | echo -n '%f %{\e[?25h%}'
81 | fi
82 |
--------------------------------------------------------------------------------
/flake.nix:
--------------------------------------------------------------------------------
1 | {
2 | inputs = {
3 | nixpkgs.url = "github:nixos/nixpkgs/nixos-21.05";
4 | nixops.url = "github:nixos/nixops";
5 | zbak.url = "github:aaronjanse/zbak";
6 | };
7 |
8 | outputs = { self, nixpkgs, ... } @ args: {
9 | nixosConfigurations.xps-ajanse = nixpkgs.lib.nixosSystem {
10 | inherit (self.packages.x86_64-linux) pkgs;
11 | system = "x86_64-linux";
12 | modules = [
13 | ./configuration.nix
14 | ./hardware/xps.nix
15 | ];
16 | };
17 |
18 | packages = nixpkgs.lib.genAttrs nixpkgs.lib.platforms.all (system:
19 | let
20 | pkgs = import nixpkgs { inherit system; config.allowUnfree = true; };
21 | theme = import ./theme.nix;
22 | in
23 | {
24 | pkgs = pkgs // removeAttrs self.packages.${system} [ "profiles" "pkgs" ];
25 |
26 | profiles = import ./profile.nix {
27 | inherit (self.packages.${system}) pkgs;
28 | };
29 |
30 | nixops = args.nixops.defaultPackage.${system};
31 | zbak = args.zbak.defaultPackage.${system};
32 |
33 | alacritty = pkgs.callPackage ./pkgs/alacritty.nix { inherit theme; };
34 | cal-wallpaper = pkgs.callPackage ./pkgs/cal-wallpaper { inherit theme; };
35 | cilium = pkgs.callPackage ./pkgs/cilium.nix { };
36 | direnv = pkgs.callPackage ./pkgs/direnv.nix { };
37 | dunst = pkgs.callPackage ./pkgs/dunst { };
38 | foliate = pkgs.libsForQt5.callPackage ./pkgs/foliate.nix { };
39 | git = pkgs.callPackage ./pkgs/git.nix { };
40 | julia = pkgs.callPackage ./pkgs/julia { };
41 | lemonbar-xft = pkgs.callPackage ./pkgs/lemonbar-xft { inherit theme; };
42 | mx-puppet-discord = pkgs.callPackage ./pkgs/mx-puppet-discord { };
43 | neo4j = pkgs.callPackage ./pkgs/neo4j.nix { };
44 | nix-zsh-completions = pkgs.callPackage ./pkgs/nix-zsh-completions.nix { };
45 | rofi = pkgs.callPackage ./pkgs/rofi.nix { inherit theme; };
46 | signal-desktop = pkgs.callPackage ./pkgs/signal-desktop.nix { inherit theme; };
47 | vscode = pkgs.callPackage ./pkgs/vscode.nix { };
48 | weylus = pkgs.callPackage ./pkgs/weylus.nix { };
49 | xsecurelock = pkgs.callPackage ./pkgs/xsecurelock.nix { };
50 | zsh = pkgs.callPackage ./pkgs/zsh {
51 | inherit theme;
52 | inherit (self.packages.${system}) nix-zsh-completions direnv;
53 | };
54 | }
55 | );
56 | };
57 | }
58 |
--------------------------------------------------------------------------------
/pkgs/zsh/default.nix:
--------------------------------------------------------------------------------
1 | { zsh, zsh-autosuggestions, zsh-syntax-highlighting, nix-zsh-completions, fzf, gnupg, direnv, symlinkJoin, writeText, makeWrapper, theme }:
2 |
3 | let config = writeText ".zshrc" ''
4 | fpath+=(${nix-zsh-completions}/share/zsh/site-functions)
5 | for p in ''${(z)NIX_PROFILES}; do
6 | fpath+=($p/share/zsh/site-functions $p/share/zsh/$ZSH_VERSION/functions $p/share/zsh/vendor-completions)
7 | done
8 |
9 | autoload -U compinit && compinit
10 |
11 | source ${nix-zsh-completions}/share/zsh/plugins/nix/nix-zsh-completions.plugin.zsh
12 | source ${zsh-autosuggestions}/share/zsh-autosuggestions/zsh-autosuggestions.zsh
13 | source ${zsh-syntax-highlighting}/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
14 | source ${fzf}/share/fzf/key-bindings.zsh
15 |
16 | eval "$(${direnv}/bin/direnv hook zsh | sed 's/\/nix\/store.\+\/direnv/${
17 | builtins.replaceStrings [ "/" ] [ "\\/" ] "${direnv}"
18 | }\/bin\/direnv/')"
19 |
20 | setopt HIST_IGNORE_DUPS
21 | setopt HIST_IGNORE_SPACE
22 | setopt EXTENDED_HISTORY
23 | setopt INC_APPEND_HISTORY
24 |
25 | export HISTSIZE="10000000"
26 | export SAVEHIST="10000000"
27 | export HISTFILE="$HOME/.zsh_history"
28 | mkdir -p "$(dirname "$HISTFILE")"
29 |
30 | export REPO_DIR=/home/ajanse/sp21-s367
31 | export SNAPS_DIR=/home/ajanse/snaps-sp21-s367
32 | export GOPATH=$HOME/.go
33 |
34 | bindkey '\e[1;2A' history-beginning-search-backward
35 | bindkey '\e[1;2B' history-beginning-search-forward
36 | bindkey '\e[1;2C' forward-word
37 |
38 | if [[ "$USER" != "private" ]]; then
39 | GPG_TTY="$(tty)"
40 | export GPG_TTY
41 | ${gnupg}/bin/gpg-connect-agent updatestartuptty /bye > /dev/null
42 | fi
43 |
44 | function wish() {
45 | if [ -z "$1" ]; then
46 | echo -ne '\e[2m'
47 | cat ~/.wish
48 | echo -ne '\e[m'
49 | else
50 | echo "$@" >> ~/.wish
51 | fi
52 | }
53 |
54 | if [ "$TERM" = "linux" ]; then
55 | ${builtins.concatStringsSep "\n" (builtins.genList
56 | (i: "echo -en '\\e]P${builtins.toString i}${builtins.elemAt theme.colors16 i}'") 10)}
57 | clear
58 | fi
59 |
60 | precmd () { PS1=$(zsh ${./prompt.sh}) }
61 | ''; in
62 | symlinkJoin
63 | {
64 | name = "zsh-custom";
65 | paths = [
66 | zsh
67 | ];
68 | buildInputs = [ makeWrapper ];
69 | postBuild = ''
70 | cp ${config} $out/etc/.zshrc
71 | wrapProgram $out/bin/zsh --set ZDOTDIR $out/etc
72 | '';
73 | passthru = {
74 | shellPath = "/bin/zsh";
75 | };
76 | }
77 |
--------------------------------------------------------------------------------
/pkgs/julia/transcript.jl:
--------------------------------------------------------------------------------
1 | # from Julia standard library
2 |
3 |
4 | function open_fake_pty()
5 | O_RDWR = Base.Filesystem.JL_O_RDWR
6 | O_NOCTTY = Base.Filesystem.JL_O_NOCTTY
7 |
8 | fdm = ccall(:posix_openpt, Cint, (Cint,), O_RDWR | O_NOCTTY)
9 | rc = ccall(:grantpt, Cint, (Cint,), fdm)
10 | rc = ccall(:unlockpt, Cint, (Cint,), fdm)
11 |
12 | fds = ccall(:open, Cint, (Ptr{UInt8}, Cint),
13 | ccall(:ptsname, Ptr{UInt8}, (Cint,), fdm), O_RDWR | O_NOCTTY)
14 |
15 | pts = RawFD(fds)
16 | ptm = Base.TTY(RawFD(fdm))
17 | return pts, ptm
18 | end
19 | function with_fake_pty(f)
20 | pts, ptm = open_fake_pty()
21 | try
22 | f(pts, ptm)
23 | finally
24 | close(ptm)
25 | end
26 | nothing
27 | end
28 |
29 | CTRL_C = '\x03'
30 | UP_ARROW = "\e[A"
31 | DOWN_ARROW = "\e[B"
32 | repl_script = """
33 | 1+1
34 | ls | wc -l
35 | $UP_ARROW$DOWN_ARROW$CTRL_C
36 | ls \t\t$CTRL_C
37 | """
38 |
39 | pts, ptm = open_fake_pty()
40 | blackhole = "/dev/null"
41 | if true
42 | cmdargs = ```--color=yes
43 | -e 'import REPL; REPL.Terminals.is_precompiling[] = true'
44 | ```
45 | else
46 | cmdargs = `-e nothing`
47 | end
48 |
49 | p = run(```julia -O0 --trace-compile=trace.jl
50 | --cpu-target=native --startup-file=yes --color=yes
51 | -e 'import REPL; REPL.Terminals.is_precompiling[] = true'
52 | -i```,
53 | pts, pts, pts; wait=false)
54 | debug_output = devnull # or stdout
55 | Base.close_stdio(pts)
56 | # Prepare a background process to copy output from process until `pts` is closed
57 | output_copy = Base.BufferStream()
58 | tee = @async try
59 | while !eof(ptm)
60 | l = readavailable(ptm)
61 | write(debug_output, l)
62 | write(output_copy, l)
63 | end
64 | catch ex
65 | if !(ex isa Base.IOError && ex.code == Base.UV_EIO)
66 | rethrow() # ignore EIO on ptm after pts dies
67 | end
68 | finally
69 | close(output_copy)
70 | close(ptm)
71 | end
72 | # wait for the definitive prompt before start writing to the TTY
73 | readuntil(output_copy, ">")
74 | sleep(0.1)
75 | readavailable(output_copy)
76 | # Input our script
77 | if true
78 | precompile_lines = split(repl_script::String, '\n'; keepempty=false)
79 | local curr
80 | for l in precompile_lines
81 | sleep(0.5)
82 | bytesavailable(output_copy) > 0 && readavailable(output_copy)
83 | write(ptm, l, "\n")
84 | readuntil(output_copy, "\n")
85 | readuntil(output_copy, "\n")
86 | readuntil(output_copy, "> ")
87 | end
88 | println()
89 | end
90 | write(ptm, "exit()\n")
91 | wait(tee)
92 | success(p) || Base.pipeline_error(p)
93 | close(ptm)
94 |
--------------------------------------------------------------------------------
/pkgs/julia/fetchgit/default.nix:
--------------------------------------------------------------------------------
1 | {stdenvNoCC, git, cacert}: let
2 | urlToName = url: rev: let
3 | inherit (stdenvNoCC.lib) removeSuffix splitString last;
4 | base = last (splitString ":" (baseNameOf (removeSuffix "/" url)));
5 |
6 | matched = builtins.match "(.*).git" base;
7 |
8 | short = builtins.substring 0 7 rev;
9 |
10 | appendShort = if (builtins.match "[a-f0-9]*" rev) != null
11 | then "-${short}"
12 | else "";
13 | in "${if matched == null then base else builtins.head matched}${appendShort}";
14 | in
15 | { url, rev ? "HEAD", md5 ? "", sha256 ? "", leaveDotGit ? deepClone
16 | , fetchSubmodules ? true, deepClone ? false
17 | , branchName ? null
18 | , name ? urlToName url rev
19 | , # Shell code executed after the file has been fetched
20 | # successfully. This can do things like check or transform the file.
21 | postFetch ? ""
22 | , preferLocalBuild ? true
23 | }:
24 |
25 | /* NOTE:
26 | fetchgit has one problem: git fetch only works for refs.
27 | This is because fetching arbitrary (maybe dangling) commits may be a security risk
28 | and checking whether a commit belongs to a ref is expensive. This may
29 | change in the future when some caching is added to git (?)
30 | Usually refs are either tags (refs/tags/*) or branches (refs/heads/*)
31 | Cloning branches will make the hash check fail when there is an update.
32 | But not all patches we want can be accessed by tags.
33 |
34 | The workaround is getting the last n commits so that it's likely that they
35 | still contain the hash we want.
36 |
37 | for now : increase depth iteratively (TODO)
38 |
39 | real fix: ask git folks to add a
40 | git fetch $HASH contained in $BRANCH
41 | facility because checking that $HASH is contained in $BRANCH is less
42 | expensive than fetching --depth $N.
43 | Even if git folks implemented this feature soon it may take years until
44 | server admins start using the new version?
45 | */
46 |
47 | assert deepClone -> leaveDotGit;
48 |
49 | if md5 != "" then
50 | throw "fetchgit does not support md5 anymore, please use sha256"
51 | else
52 | stdenvNoCC.mkDerivation {
53 | inherit name;
54 | builder = ./builder.sh;
55 | fetcher = ./nix-prefetch-git; # This must be a string to ensure it's called with bash.
56 | nativeBuildInputs = [git];
57 |
58 | outputHashAlgo = "sha256";
59 | outputHashMode = "recursive";
60 | outputHash = sha256;
61 |
62 | inherit url rev leaveDotGit fetchSubmodules deepClone branchName postFetch;
63 |
64 | GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
65 |
66 | impureEnvVars = stdenvNoCC.lib.fetchers.proxyImpureEnvVars ++ [
67 | "GIT_PROXY_COMMAND" "SOCKS_SERVER"
68 | ];
69 |
70 | inherit preferLocalBuild;
71 | }
72 |
--------------------------------------------------------------------------------
/pkgs/vscode.nix:
--------------------------------------------------------------------------------
1 | { lib, jupyter, vscode, vscode-extensions, vscode-with-extensions, vscode-utils, texlive, symlinkJoin, makeWrapper }:
2 | symlinkJoin {
3 | name = "vscode-custom";
4 | postBuild = ''
5 | ln -s $out/bin/code-insiders $out/bin/code
6 | '';
7 | paths = [
8 | texlive.combined.scheme-full
9 | (vscode-with-extensions.override {
10 | vscode = (vscode.override { isInsiders = true; }).overrideAttrs (_: rec {
11 | pname = "vscode-insiders";
12 | version = "nightly";
13 | src = builtins.fetchurl {
14 | name = "VSCode_latest_linux-x64.tar.gz";
15 | url = "https://az764295.vo.msecnd.net/insider/9ecd3fc3022e8c154aff868f74bd5d77f7d4a2ea/code-insider-x64-1614078105.tar.gz";
16 | sha256 = "1qn84qc1cvprrhhgpaj7nkrsixs11k9n9xvkljai6x9plq2w91my";
17 | };
18 | });
19 | vscodeExtensions = with vscode-extensions; [
20 | ms-vscode.cpptools
21 | matklad.rust-analyzer
22 | jnoortheen.nix-ide
23 | # (vscode-utils.buildVscodeMarketplaceExtension {
24 | # mktplcRef = {
25 | # name = "jupyter";
26 | # publisher = "ms-toolsai";
27 | # version = "2021.3.593162453";
28 | # sha256 = "sha256-giM71SBy7+dv8lBkClVG+m1aY371TsRCc2Qc+RZwUR0=";
29 | # };
30 | # buildInputs = [ jupyter ];
31 | # meta = {
32 | # license = lib.licenses.unfree;
33 | # };
34 | # })
35 | dbaeumer.vscode-eslint
36 | ms-python.vscode-pylance
37 | james-yu.latex-workshop
38 | ms-python.python
39 | ms-vsliveshare.vsliveshare
40 | ] ++ vscode-utils.extensionsFromVscodeMarketplace
41 | [
42 | {
43 | name = "coq";
44 | publisher = "ruoz";
45 | version = "0.3.2";
46 | sha256 = "sha256-UBlczlSwNvQo9dSpSdNFtqC6gHnchHQCODP2EUfe9zI=";
47 | }
48 | {
49 | name = "nim";
50 | publisher = "kosz78";
51 | version = "0.6.6";
52 | sha256 = "sha256-sNW6Lvfyep8Hvas6cSufuRmol3q4mCyX8c/K78y8Nug=";
53 | }
54 | {
55 | name = "vsc-conceal";
56 | publisher = "brboer";
57 | version = "0.2.3";
58 | sha256 = "sha256-K3cNyUrCrakstnZ846TwJLipJx0WCNFxEyYSOdjaW00=";
59 | }
60 | {
61 | name = "Go";
62 | publisher = "golang";
63 | version = "0.18.1";
64 | sha256 = "sha256-b2Wa3TULQQnBm1/xnDCB9SZjE+Wxz5wBttjDEtf8qlE=";
65 | }
66 | {
67 | name = "svelte-vscode";
68 | publisher = "svelte";
69 | version = "104.9.0";
70 | sha256 = "sha256-uC5nWMMmdANZx95CN73MY1BYJmkkOKAos2DOsQDJuS8=";
71 | }
72 | {
73 | name = "vscode-direnv";
74 | publisher = "rubymaniac";
75 | version = "0.0.2";
76 | sha256 = "sha256-TVvjKdKXeExpnyUh+fDPl+eSdlQzh7lt8xSfw1YgtL4=";
77 | }
78 | {
79 | # One Dark Pro
80 | name = "Material-theme";
81 | publisher = "zhuangtongfa";
82 | version = "3.9.12";
83 | sha256 = "sha256-D1CpuaCZf1kkpc+le2J/prPrOXhqDwtphVk4ejtM8AQ=";
84 | }
85 | {
86 | name = "better-toml";
87 | publisher = "bungcip";
88 | version = "0.3.2";
89 | sha256 = "08lhzhrn6p0xwi0hcyp6lj9bvpfj87vr99klzsiy8ji7621dzql3";
90 | }
91 | {
92 | name = "vscode-scheme";
93 | publisher = "sjhuangx";
94 | version = "0.4.0";
95 | sha256 = "sha256-BN+C64YQ2hUw5QMiKvC7PHz3II5lEVVy0Shtt6t3ch8=";
96 | }
97 | {
98 | name = "rainbow-brackets";
99 | publisher = "2gua";
100 | version = "0.0.6";
101 | sha256 = "sha256-TVBvF/5KQVvWX1uHwZDlmvwGjOO5/lXbgVzB26U8rNQ=";
102 | }
103 | ];
104 | })
105 | ];
106 | }
107 |
--------------------------------------------------------------------------------
/pkgs/lemonbar-xft/status.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 |
3 |
4 | from threading import Timer
5 | import i3ipc
6 | import json
7 | import os
8 | import psutil
9 | import subprocess
10 | import time
11 | import urllib.request
12 |
13 | timer = None
14 |
15 | statsIntervalSec = 5
16 | counter = 0
17 |
18 | workspaceStatus = " " #
19 | batteryStatus = "" # full, charging, discharging
20 | batteryCharge = 1.0 # out of 1.0
21 |
22 | centerStats = ''
23 | rightStats = ''
24 | song = ''
25 |
26 |
27 | def render():
28 | statusText = workspaceStatus
29 | if batteryStatus != "full":
30 | secondaryColor = "ffb86c" if batteryStatus == "discharging" else "8be9fd"
31 | batteryWidth = round(batteryCharge * len(workspaceStatus))
32 | statusText = "%{U#f8f8f8}%{+o}" + statusText[:batteryWidth] \
33 | + "%{U#" + secondaryColor + "}" \
34 | + statusText[batteryWidth:] + "%{-o}" \
35 | + " {0:.0%}".format(batteryCharge)
36 |
37 | if song is not None:
38 | statusText += f" %{{F#42b983}}{song}%{{F-}}"
39 |
40 | print(' '+statusText+'%{c}'+centerStats+'%{r}'+rightStats+' ')
41 |
42 |
43 | i3 = i3ipc.Connection()
44 |
45 | def updateWorkspaceStatus():
46 | global workspaceStatus
47 |
48 | activeWorkspaces = []
49 | focusedWorkspace = -1
50 | for j in i3.get_workspaces():
51 | activeWorkspaces.append(j.num)
52 | if j.focused:
53 | focusedWorkspace = j.num
54 | statusText = ""
55 | for i in range(1, 11):
56 | if i == focusedWorkspace:
57 | statusText += " "
58 | elif i in activeWorkspaces:
59 | statusText += " "
60 | else:
61 | statusText += " "
62 | workspaceStatus = statusText.strip()
63 |
64 | # Subscribe to events
65 | def handleWorkspaceUpdate(self, e):
66 | updateWorkspaceStatus()
67 | render()
68 |
69 | def get_song():
70 | try:
71 | out = subprocess.check_output(['playerctl', 'status'], stderr=open(os.devnull, 'wb')).decode()
72 | if not out.lower().startswith("playing"):
73 | return None
74 | return subprocess.check_output(['playerctl', 'metadata', 'title'], stderr=open(os.devnull, 'wb')).decode().strip()
75 | except:
76 | return None
77 |
78 | def is_muted():
79 | out = subprocess.check_output(['amixer', 'cset', 'numid=3'], stderr=open(os.devnull, 'wb')).decode()
80 | return 'values=0,0' in out
81 |
82 | def using_vpn():
83 | try:
84 | out = subprocess.check_output(['mullvad', 'status'], stderr=open(os.devnull, 'wb')).decode()
85 | return out.startswith('Tunnel status: Connected to WireGuard')
86 | except:
87 | return False
88 |
89 | def updateStats():
90 | global batteryStatus, batteryCharge, centerStats, rightStats, timer, counter, song
91 |
92 | counter += 1
93 |
94 | song = get_song()
95 |
96 | with open("/sys/class/power_supply/BAT0/status", 'r') as f:
97 | batteryStatus = f.readlines()[0].lower().strip()
98 |
99 | if batteryStatus != "full":
100 | with open("/sys/class/power_supply/BAT0/charge_full", 'r') as f:
101 | chargeFull = int(f.readlines()[0].strip())
102 | with open("/sys/class/power_supply/BAT0/charge_now", 'r') as f:
103 | chargeNow = int(f.readlines()[0].strip())
104 |
105 | batteryCharge = chargeNow / chargeFull
106 |
107 | cpu = round(sum(psutil.cpu_percent(percpu=True))/2) # two vCPUs per CPU
108 | try:
109 | temps = psutil.sensors_temperatures()['coretemp']
110 | except:
111 | temps = [0]
112 | temp = round(max([t.current for t in temps]))
113 | ram = psutil.virtual_memory().used/1000/1000/1000
114 |
115 | centerStats = '{:3}% {:2}° {:2.2f} GB'.format(cpu, temp, ram)
116 |
117 | rightStats = ''
118 | if not is_muted():
119 | rightStats += ' 🎶'
120 | if using_vpn():
121 | rightStats += ' 🔒'
122 | rightStats += ' {}'.format(time.strftime('%Y-%m-%d %H:%M'))
123 |
124 | timer = Timer(statsIntervalSec, updateStats)
125 | timer.start()
126 | render()
127 |
128 | updateWorkspaceStatus()
129 | updateStats()
130 |
131 | i3.on('workspace::focus', handleWorkspaceUpdate)
132 |
133 | try:
134 | i3.main()
135 | except KeyboardInterrupt:
136 | timer.cancel()
137 |
--------------------------------------------------------------------------------
/pkgs/julia/default.nix:
--------------------------------------------------------------------------------
1 | { pkgs }:
2 |
3 | with pkgs;
4 |
5 |
6 | let
7 | # The base Julia version
8 | baseJulia = pkgs.julia;
9 |
10 | # Extra libraries for Julia's LD_LIBRARY_PATH.
11 | # Recent Julia packages that use Artifacts.toml to specify their dependencies
12 | # shouldn't need this.
13 | # But if a package implicitly depends on some library being present at runtime, you can
14 | # add it here.
15 | extraLibs = [ ];
16 |
17 | # Wrapped Julia with libraries and environment variables.
18 | # Note: setting The PYTHON environment variable is recommended to prevent packages
19 | # from trying to obtain their own with Conda.
20 | juliaWrapped = runCommand "julia-wrapped" { buildInputs = [ makeWrapper ]; } ''
21 | mkdir -p $out/bin
22 | makeWrapper ${baseJulia}/bin/julia $out/bin/julia \
23 | --suffix LD_LIBRARY_PATH : "${lib.makeLibraryPath extraLibs}" \
24 | --set PYTHON ${python3}/bin/python \
25 | --set GRDIR ${pkgs.callPackage ./gr.nix { }}
26 | '';
27 |
28 | juliaWithDepot = callPackage ./common.nix {
29 | julia = juliaWrapped;
30 |
31 | # Run Pkg.precompile() to precompile all packages?
32 | precompile = false;
33 |
34 | # Extra arguments to makeWrapper when creating the final Julia wrapper.
35 | # By default, it will just put the new depot at the end of JULIA_DEPOT_PATH.
36 | # You can add additional flags here.
37 | makeWrapperArgs = "";
38 |
39 | # Extra buildInputs for building the Julia depot. Useful if your packages have
40 | # additional build-time dependencies not managed through the Artifacts.toml system.
41 | # Defaults to extraLibs, but can be configured independently.
42 | extraBuildInputs = extraLibs;
43 | };
44 |
45 | juliaSysimage = runCommand "julia-sysimage.so" { buildInputs = [ gcc fish ]; } ''
46 | cp ${./Manifest.toml} Manifest.toml
47 | cp ${./Project.toml} Project.toml
48 | export JULIA_DEPOT_PATH=$TMP/jl
49 | mkdir -p $JULIA_DEPOT_PATH/config
50 | cp ${./startup.jl} $JULIA_DEPOT_PATH/config/startup.jl
51 | PROJECT=$(mktemp -d)
52 | cp ${./Project.toml} $PROJECT/Project.toml
53 | cp ${./Manifest.toml} $PROJECT/Manifest.toml
54 | export JULIA_LOAD_PATH="@:@#.#:@stdenv:$PROJECT"
55 | export PATH=${juliaWithDepot}/bin:$PATH
56 | export HOME=$(mktemp -d)
57 | julia ${./transcript.jl} --startup-file=no
58 | cat ${./trace.jl} >> trace.jl
59 | ${juliaWithDepot}/bin/julia ${./generate_sysimage.jl} trace.jl $out
60 | '';
61 |
62 | custom-python38 = python38.withPackages (ps: with ps; [
63 | black
64 | flake8
65 | autopep8
66 | pep8
67 | pyls-mypy
68 | mypy
69 | setuptools
70 | sympy
71 | virtualenv
72 | ]);
73 | in
74 | pkgs.symlinkJoin {
75 | name = "julia-custom";
76 | paths = [
77 | pkgs.julia
78 | ];
79 | buildInputs = [ makeWrapper ];
80 | postBuild = ''
81 | rm $out/bin/julia
82 | mkdir -p $out/etc/julia
83 | rm $out/etc/julia/startup.jl
84 | cp ${./startup.jl} $out/etc/julia/startup.jl
85 | makeWrapper ${juliaWithDepot}/bin/julia $out/bin/julia \
86 | --add-flags "-J${juliaSysimage}" \
87 | --prefix JULIA_DEPOT_PATH : \~/.julia \
88 | --set JULIA_LOAD_PATH "@:@#.#:@stdenv:${./.}" \
89 | --add-flags "--banner=no" \
90 | --set PYTHONPATH ${custom-python38}/lib/python3.8/site-packages \
91 | --set PYTHON ${custom-python38}/bin/python \
92 | --prefix PATH : "${pkgs.kakoune}/bin:${pkgs.fish}/bin"
93 |
94 | cat > $out/bin/julish << EOF
95 | #!/bin/sh
96 | has_param() {
97 | local term="\$1"
98 | shift
99 | for arg; do
100 | if [[ \$arg == "\$term" ]]; then
101 | return 0
102 | fi
103 | done
104 | return 1
105 | }
106 |
107 | if has_param '-c' "\$@"; then
108 | bash "\$@"
109 | else
110 | JULIA_BINDIR="$out/bin" $out/bin/julia "\$@" --banner=no
111 | fi
112 | EOF
113 | chmod +x $out/bin/julish
114 | '';
115 |
116 | passthru = {
117 | shellPath = "/bin/julish";
118 | };
119 | }
120 |
--------------------------------------------------------------------------------
/profile.nix:
--------------------------------------------------------------------------------
1 | # I use this file to manage which packages I have installed. To start using this file, I do:
2 | # $ nix profile install github:aaronjanse/dotfiles#profiles.common
3 | # Then, to update my local packages based on changes made here:
4 | # $ nix porfile upgrade 0
5 |
6 | { pkgs }:
7 |
8 | rec {
9 | # Installed everywhere
10 | common = pkgs.buildEnv {
11 | name = "ajanse-env-common";
12 | paths = with pkgs; [
13 | bat
14 | binutils
15 | cloc
16 | coreutils
17 | curl
18 | du-dust
19 | exa
20 | fd
21 | fzf
22 | git
23 | iptables
24 | jq
25 | procs
26 | (python3.withPackages
27 | (ps:
28 | with ps; [
29 | autopep8
30 | black
31 | flake8
32 | ipykernel
33 | ipython
34 | ipywidgets
35 | jupyter
36 | matplotlib
37 | mypy
38 | numpy
39 | pep8
40 | pyls-mypy
41 | requests
42 | scipy
43 | setuptools
44 | virtualenv
45 | ]))
46 | ripgrep
47 | tcpdump
48 | tree
49 | unzip
50 | vim
51 | wget
52 | zip
53 | zsh
54 | ];
55 | extraOutputsToInstall = [ "man" "doc" ];
56 | };
57 |
58 | # Installed on personal systems with a GUI
59 | gui = pkgs.buildEnv
60 | {
61 | name = "ajanse-env-common";
62 | # Include all package in `common` above
63 | paths = [ common ] ++ (with pkgs; [
64 | _1password
65 | _1password-gui
66 | age
67 | alacritty
68 | aria2
69 | autorandr
70 | binutils
71 | blueman
72 | bubblewrap
73 | cachix
74 | chromium
75 | cmake
76 | cmatrix
77 | codeql
78 | coq
79 | cowsay
80 | cryfs
81 | cryptsetup
82 | dbeaver
83 | dgraph
84 | dig
85 | direnv
86 | discord
87 | docker
88 | docker-compose
89 | element-desktop
90 | elementary-planner
91 | elvish
92 | feh
93 | ffmpeg-full
94 | firefox-beta-bin
95 | fish
96 | flameshot
97 | foliate
98 | gcc
99 | git-annex
100 | git-annex-remote-rclone
101 | git-remote-gcrypt
102 | gitAndTools.gh
103 | gnome3.gnome-boxes
104 | gnome3.gnome-screenshot
105 | gnome3.gnome-todo
106 | gnome3.nautilus
107 | gnumake
108 | go
109 | gocryptfs
110 | gopls
111 | graphviz
112 | hexyl
113 | htop
114 | imagemagick
115 | inetutils
116 | inkscape
117 | inotify-tools
118 | ipfs
119 | ipfs-cluster
120 | kakoune
121 | khard
122 | kitty
123 | krita
124 | libreoffice
125 | libuuid.dev
126 | litecli
127 | lolcat
128 | matrix-synapse
129 | maven3
130 | mbuffer
131 | morph
132 | mosh
133 | mullvad-vpn
134 | multimc
135 | nheko
136 | nim
137 | nix-direnv
138 | nixops
139 | nixpkgs-fmt
140 | nodejs
141 | nodePackages.insect
142 | nodePackages.typescript
143 | okular
144 | pandoc
145 | pinentry-gtk2
146 | pkgconfig
147 | pstree
148 | python-language-server
149 | quaternion
150 | rakudo
151 | rclone
152 | redis
153 | restic
154 | rustup
155 | signal-desktop
156 | smartmontools
157 | spotify
158 | sqlite
159 | sqlitebrowser
160 | sshfs
161 | tailscale
162 | taskwarrior
163 | tldr
164 | tomb
165 | toot
166 | tor
167 | toybox
168 | ulauncher
169 | vdirsyncer
170 | vscode
171 | w3m
172 | weechat
173 | wireguard
174 | xclip
175 | xwiimote
176 | yaml2json
177 | yarn
178 | youtube-dl
179 | zbak
180 | zola
181 | zoom-us
182 | ]);
183 | extraOutputsToInstall = [ "man" "doc" ];
184 | };
185 | }
186 |
--------------------------------------------------------------------------------
/flake.lock:
--------------------------------------------------------------------------------
1 | {
2 | "nodes": {
3 | "flake-utils": {
4 | "locked": {
5 | "lastModified": 1623875721,
6 | "narHash": "sha256-A8BU7bjS5GirpAUv4QA+QnJ4CceLHkcXdRp4xITDB0s=",
7 | "owner": "numtide",
8 | "repo": "flake-utils",
9 | "rev": "f7e004a55b120c02ecb6219596820fcd32ca8772",
10 | "type": "github"
11 | },
12 | "original": {
13 | "owner": "numtide",
14 | "repo": "flake-utils",
15 | "type": "github"
16 | }
17 | },
18 | "flake-utils_2": {
19 | "locked": {
20 | "lastModified": 1623875721,
21 | "narHash": "sha256-A8BU7bjS5GirpAUv4QA+QnJ4CceLHkcXdRp4xITDB0s=",
22 | "owner": "numtide",
23 | "repo": "flake-utils",
24 | "rev": "f7e004a55b120c02ecb6219596820fcd32ca8772",
25 | "type": "github"
26 | },
27 | "original": {
28 | "owner": "numtide",
29 | "repo": "flake-utils",
30 | "type": "github"
31 | }
32 | },
33 | "nixops": {
34 | "inputs": {
35 | "nixpkgs": "nixpkgs",
36 | "utils": "utils"
37 | },
38 | "locked": {
39 | "lastModified": 1614711931,
40 | "narHash": "sha256-In+aL5PrOWCjEMDBv+Yv93epJijt24NfGY6Vdy/aIVo=",
41 | "owner": "nixos",
42 | "repo": "nixops",
43 | "rev": "45256745cef246dabe1ae8a7d109988f190cd7ef",
44 | "type": "github"
45 | },
46 | "original": {
47 | "owner": "nixos",
48 | "repo": "nixops",
49 | "type": "github"
50 | }
51 | },
52 | "nixpkgs": {
53 | "locked": {
54 | "lastModified": 1612282043,
55 | "narHash": "sha256-MzoN8nI1eydYHuWBAXBcw9Na0XndZHa/VjoxZRWSX68=",
56 | "owner": "NixOS",
57 | "repo": "nixpkgs",
58 | "rev": "fab6fcdceb2560a4ab943830a2b1632458c7a6ff",
59 | "type": "github"
60 | },
61 | "original": {
62 | "owner": "NixOS",
63 | "ref": "nixos-unstable",
64 | "repo": "nixpkgs",
65 | "type": "github"
66 | }
67 | },
68 | "nixpkgs_2": {
69 | "locked": {
70 | "lastModified": 1624656607,
71 | "narHash": "sha256-jWVM6RP8WdRV1l0Z36hA/y6kl9BmasYVa9TpKkjRMLI=",
72 | "owner": "nixos",
73 | "repo": "nixpkgs",
74 | "rev": "b72bde7c4a1f9c9bf1a161f0c267186ce3c6483c",
75 | "type": "github"
76 | },
77 | "original": {
78 | "owner": "nixos",
79 | "ref": "nixos-21.05",
80 | "repo": "nixpkgs",
81 | "type": "github"
82 | }
83 | },
84 | "nixpkgs_3": {
85 | "locked": {
86 | "lastModified": 1608536340,
87 | "narHash": "sha256-+fUjCLY4KZEyhLU5tmr6qEed3NsqTrc8Pujv+wxNwHs=",
88 | "owner": "nixos",
89 | "repo": "nixpkgs",
90 | "rev": "832ae4311a44ddfee300d54e17268f448b8ea8ea",
91 | "type": "github"
92 | },
93 | "original": {
94 | "owner": "nixos",
95 | "repo": "nixpkgs",
96 | "rev": "832ae4311a44ddfee300d54e17268f448b8ea8ea",
97 | "type": "github"
98 | }
99 | },
100 | "root": {
101 | "inputs": {
102 | "flake-utils": "flake-utils",
103 | "nixops": "nixops",
104 | "nixpkgs": "nixpkgs_2",
105 | "zbak": "zbak"
106 | }
107 | },
108 | "utils": {
109 | "locked": {
110 | "lastModified": 1610051610,
111 | "narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=",
112 | "owner": "numtide",
113 | "repo": "flake-utils",
114 | "rev": "3982c9903e93927c2164caa727cd3f6a0e6d14cc",
115 | "type": "github"
116 | },
117 | "original": {
118 | "owner": "numtide",
119 | "repo": "flake-utils",
120 | "type": "github"
121 | }
122 | },
123 | "zbak": {
124 | "inputs": {
125 | "flake-utils": "flake-utils_2",
126 | "nixpkgs": "nixpkgs_3"
127 | },
128 | "locked": {
129 | "lastModified": 1624751526,
130 | "narHash": "sha256-XP+MN6G+hCwRjkeuP27ns2+6itKEux2Qe4irgJIphJk=",
131 | "owner": "aaronjanse",
132 | "repo": "zbak",
133 | "rev": "28598cab6e50e6c11bd4e5ae2a3fc5daed30aa90",
134 | "type": "github"
135 | },
136 | "original": {
137 | "owner": "aaronjanse",
138 | "repo": "zbak",
139 | "type": "github"
140 | }
141 | }
142 | },
143 | "root": "root",
144 | "version": 7
145 | }
146 |
--------------------------------------------------------------------------------
/i3-config.nix:
--------------------------------------------------------------------------------
1 | nixpkgs:
2 |
3 | let
4 | workspaceIndicies = [ 1 2 3 4 5 6 7 8 9 10 ];
5 | mappings = mod: ''
6 | ${nixpkgs.lib.concatMapStrings
7 | (i: "bindsym ${mod}+${
8 | builtins.toString (nixpkgs.lib.mod i 10)
9 | } workspace ${builtins.toString i}\n")
10 | workspaceIndicies}
11 | ${nixpkgs.lib.concatMapStrings
12 | (i: "bindsym ${mod}+Shift+${
13 | builtins.toString (nixpkgs.lib.mod i 10)
14 | } move container to workspace ${builtins.toString i}\n")
15 | workspaceIndicies}
16 |
17 | bindsym ${mod}+Shift+q kill
18 |
19 | bindsym ${mod}+Up focus up
20 | bindsym ${mod}+Down focus down
21 | bindsym ${mod}+Left focus left
22 | bindsym ${mod}+Right focus right
23 |
24 | bindsym ${mod}+i focus up
25 | bindsym ${mod}+k focus down
26 | bindsym ${mod}+j focus left
27 | bindsym ${mod}+l focus right
28 |
29 | bindsym ${mod}+Shift+Up move up
30 | bindsym ${mod}+Shift+Down move down
31 | bindsym ${mod}+Shift+Left move left
32 | bindsym ${mod}+Shift+Right move right
33 |
34 | bindsym ${mod}+Shift+I move up
35 | bindsym ${mod}+Shift+K move down
36 | bindsym ${mod}+Shift+J move left
37 | bindsym ${mod}+Shift+L move right
38 |
39 | bindsym ${mod}+bracketleft focus left
40 | bindsym ${mod}+bracketright focus right
41 | bindsym ${mod}+Shift+bracketleft move left
42 | bindsym ${mod}+Shift+bracketright move right
43 |
44 | bindsym ${mod}+Return exec ${nixpkgs.alacritty}/bin/alacritty
45 |
46 | bindsym ${mod}+Shift+X exec ${nixpkgs.writeScript "clear-clipboard.sh" ''
47 | echo -n "" | xclip -selection "clipboard"
48 | ''}
49 |
50 | bindsym ${mod}+d exec ${nixpkgs.rofi}/bin/rofi -show run
51 | bindsym ${mod}+Shift+d exec ${nixpkgs.rofi}/bin/rofi -modi 'drun' -show drun
52 |
53 | bindsym ${mod}+slash exec ${nixpkgs.flameshot}/bin/flameshot gui
54 | bindsym ${mod}+period exec ${nixpkgs.rofimoji}/bin/rofimoji
55 |
56 | bindsym ${mod}+equal workspace next
57 | bindsym ${mod}+minus workspace prev
58 | bindsym ${mod}+Tab workspace back_and_forth
59 |
60 | bindsym ${mod}+Shift+r restart
61 |
62 | bindsym ${mod}+n gaps inner all set 0
63 | bindsym ${mod}+g gaps inner all set 10
64 |
65 | bindsym ${mod}+r mode resizeAlt
66 |
67 | bindsym ${mod}+Shift+space floating toggle
68 | bindsym ${mod}+f fullscreen toggle
69 | bindsym ${mod}+s layout stacking
70 | bindsym ${mod}+w layout tabbed
71 | bindsym ${mod}+e layout toggle split
72 | bindsym ${mod}+u split v
73 | bindsym ${mod}+y split h
74 | '';
75 |
76 | resizing = ''
77 | bindsym Down resize grow height 10 px or 10 ppt
78 | bindsym Left resize shrink width 10 px or 10 ppt
79 | bindsym Right resize grow width 10 px or 10 ppt
80 | bindsym Up resize shrink height 10 px or 10 ppt
81 | '';
82 | in
83 | nixpkgs.writeText "i3-config" ''
84 | font pango:Roboto Mono 8
85 | floating_modifier Mod1
86 | new_window pixel 1
87 | new_float pixel 2
88 | hide_edge_borders none
89 | force_focus_wrapping no
90 | focus_follows_mouse yes
91 | focus_on_window_activation smart
92 | mouse_warping output
93 | workspace_layout default
94 | workspace_auto_back_and_forth no
95 |
96 | client.focused #61afef #000000 #ffffff #61afef #61afef
97 | client.focused_inactive #333333 #5f676a #ffffff #484e50 #5f676a
98 | client.unfocused #f8f8f2 #000000 #ffffff #f8f8f2 #f8f8f2
99 | client.urgent #2f343a #900000 #ffffff #900000 #900000
100 | client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
101 | client.background #ffffff
102 |
103 | for_window [class="Nautilus"] floating enable
104 | for_window [title="Gnuplot"] floating enable
105 | for_window [class="tk"] floating enable
106 | for_window [class="gksqt"] floating enable
107 | for_window [class="zoom" instance="zoom"] floating enable
108 | for_window [window_role="pop-up"] floating enable
109 |
110 | # bindsym Shift+F1 exec light -S 0
111 | # bindsym F1 exec ${nixpkgs.light}/bin/light -U 5
112 | # bindsym F2 exec ${nixpkgs.light}/bin/light -A 5
113 |
114 | bindsym XF86AudioNext exec ${nixpkgs.playerctl}/bin/playerctl next
115 | bindsym XF86AudioPause exec ${nixpkgs.playerctl}/bin/playerctl pause
116 | bindsym XF86AudioPrev exec ${nixpkgs.playerctl}/bin/playerctl previous
117 | bindsym XF86AudioRaiseVolume exec amixer set Master 5%+
118 | bindsym XF86AudioLowerVolume exec amixer set Master 5%-
119 | bindsym XF86AudioMute exec amixer set Master 0%
120 | bindsym XF86MonBrightnessDown exec ${nixpkgs.light}/bin/light -U 5
121 | bindsym XF86MonBrightnessUp exec ${nixpkgs.light}/bin/light -A 5
122 |
123 |
124 | bindsym Mod4+Shift+M mode defaultWin
125 | mode "defaultWin" {
126 | bindsym Mod1+Shift+M mode default
127 | ${mappings "Mod4"}
128 | }
129 |
130 | ${mappings "Mod1"}
131 |
132 | mode "resizeAlt" {
133 | ${resizing}
134 | bindsym Escape mode default
135 | bindsym Return mode default
136 | }
137 |
138 | mode "resizeWin" {
139 | ${resizing}
140 | bindsym Escape mode defaultWin
141 | bindsym Return mode defaultWin
142 | }
143 |
144 | smart_gaps on
145 | smart_borders on
146 | ''
147 |
--------------------------------------------------------------------------------
/pkgs/julia/common.nix:
--------------------------------------------------------------------------------
1 | {
2 | callPackage,
3 | curl,
4 | fetchurl,
5 | git,
6 | stdenvNoCC,
7 | cacert,
8 | jq,
9 | julia,
10 | lib,
11 | python3,
12 | runCommand,
13 | stdenv,
14 | writeText,
15 | makeWrapper,
16 |
17 | # Arguments
18 | makeWrapperArgs ? "",
19 | precompile ? true,
20 | extraBuildInputs ? []
21 | }:
22 |
23 | let
24 | # We need to use a specially modified fetchgit that understands tree hashes, until
25 | # https://github.com/NixOS/nixpkgs/pull/104714 lands
26 | fetchgit = callPackage ./fetchgit {};
27 |
28 | packages = callPackage ./packages.nix {};
29 |
30 | ### Repoify packages
31 | # This step is needed because leaveDotGit is not reproducible
32 | # https://github.com/NixOS/nixpkgs/issues/8567
33 | repoified = map (item: if item.src == null then item else item // { src = repoify item.name item.treehash item.src; }) packages.closure;
34 | repoify = name: treehash: src:
35 | runCommand ''${name}-repoified'' {buildInputs = [git];} ''
36 | mkdir -p $out
37 | cp -r ${src}/. $out
38 | cd $out
39 | git init
40 | git add . -f
41 | git config user.email "julia2nix@localhost"
42 | git config user.name "julia2nix"
43 | git commit -m "Dummy commit"
44 |
45 | if [[ -n "${treehash}" ]]; then
46 | if [[ $(git cat-file -t ${treehash}) != "tree" ]]; then
47 | echo "Couldn't find desired tree object for ${name} in repoify (${treehash})"
48 | exit 1
49 | fi
50 | fi
51 | '';
52 | repoifiedReplaceInManifest = lib.filter (x: x.replaceUrlInManifest != null) repoified;
53 |
54 | ### Manifest.toml (processed)
55 | manifestToml = runCommand "Manifest.toml" { buildInputs = [jq]; } ''
56 | cp ${./Manifest.toml} ./Manifest.toml
57 |
58 | echo ${writeText "packages.json" (lib.generators.toJSON {} repoifiedReplaceInManifest)}
59 | cat ${writeText "packages.json" (lib.generators.toJSON {} repoifiedReplaceInManifest)} | jq -r '.[]|[.name, .replaceUrlInManifest, .src] | @tsv' |
60 | while IFS=$'\t' read -r name replaceUrlInManifest src; do
61 | sed -i "s|$replaceUrlInManifest|file://$src|g" ./Manifest.toml
62 | done
63 |
64 | cp ./Manifest.toml $out
65 | '';
66 |
67 | ### Overrides.toml
68 | fetchArtifact = x: stdenv.mkDerivation {
69 | name = x.name;
70 | src = fetchurl { url = x.url; sha256 = x.sha256; };
71 | sourceRoot = ".";
72 | dontConfigure = true;
73 | dontBuild = true;
74 | installPhase = "cp -r . $out";
75 | dontFixup = true;
76 | };
77 | artifactOverrides = lib.zipAttrsWith (name: values: fetchArtifact (lib.head (lib.head values))) (
78 | map (item: item.artifacts) packages.closure
79 | );
80 | overridesToml = runCommand "Overrides.toml" { buildInputs = [jq]; } ''
81 | echo '${lib.generators.toJSON {} artifactOverrides}' | jq -r '. | to_entries | map ((.key + " = \"" + .value + "\"")) | .[]' > $out
82 | '';
83 |
84 | ### Processed registry
85 | generalRegistrySrc = repoify "julia-general" "" (fetchgit {
86 | url = packages.registryUrl;
87 | rev = packages.registryRev;
88 | sha256 = packages.registrySha256;
89 | branchName = "master";
90 | });
91 | registry = runCommand "julia-registry" { buildInputs = [(python3.withPackages (ps: [ps.toml])) jq git]; } ''
92 | git clone ${generalRegistrySrc}/. $out
93 | cd $out
94 |
95 | cat ${writeText "packages.json" (lib.generators.toJSON {} repoified)} | jq -r '.[]|[.name, .path, .src] | @tsv' |
96 | while IFS=$'\t' read -r name path src; do
97 | # echo "Processing: $name, $path, $src"
98 | if [[ "$path" != "null" ]]; then
99 | python -c "import toml; \
100 | packageTomlPath = '$path/Package.toml'; \
101 | contents = toml.load(packageTomlPath); \
102 | contents['repo'] = 'file://$src'; \
103 | f = open(packageTomlPath, 'w'); \
104 | f.write(toml.dumps(contents)); \
105 | "
106 | fi
107 | done
108 |
109 | export HOME=$(pwd)
110 | git config --global user.email "julia-to-nix-depot@email.com"
111 | git config --global user.name "julia-to-nix-depot script"
112 | git add .
113 | git commit -m "Switch to local package repos"
114 | '';
115 |
116 | depot = runCommand "julia-depot" {
117 | buildInputs = [git curl julia] ++ extraBuildInputs;
118 | inherit registry precompile;
119 | } ''
120 | export HOME=$(pwd)
121 |
122 | echo "Using registry $registry"
123 | echo "Using Julia ${julia}/bin/julia"
124 |
125 | cp ${manifestToml} ./Manifest.toml
126 | cp ${./Project.toml} ./Project.toml
127 |
128 | mkdir -p $out/artifacts
129 | cp ${overridesToml} $out/artifacts/Overrides.toml
130 |
131 | export JULIA_DEPOT_PATH=$out
132 | julia -e ' \
133 | using Pkg
134 | Pkg.Registry.add(RegistrySpec(path="${registry}"))
135 |
136 | Pkg.activate(".")
137 | Pkg.instantiate()
138 |
139 | # Remove the registry to save space
140 | Pkg.Registry.rm("General")
141 | '
142 |
143 | if [[ -n "$precompile" ]]; then
144 | julia -e ' \
145 | using Pkg
146 | Pkg.activate(".")
147 | Pkg.precompile()
148 | '
149 | fi
150 | '';
151 |
152 | in
153 |
154 | runCommand "julia-env" {
155 | inherit julia depot makeWrapperArgs;
156 | buildInputs = [makeWrapper];
157 | } ''
158 | mkdir -p $out/bin
159 | makeWrapper $julia/bin/julia $out/bin/julia --suffix JULIA_DEPOT_PATH : "$depot" $makeWrapperArgs
160 | ''
161 |
--------------------------------------------------------------------------------
/configuration.nix:
--------------------------------------------------------------------------------
1 | { config, lib, pkgs, options, ... }:
2 |
3 | let
4 | theme = import ./theme.nix;
5 | secrets = import "${fetchGit {
6 | url = "ssh://git@github.com/aaronjanse/secrets.git";
7 | rev = "16fe9eb16fb4e32d5b2b3e5d4d5cbc3ac8e0ae32";
8 | }}"
9 | { inherit pkgs; };
10 | in
11 | {
12 | /* Nix preferences */
13 |
14 | nix = {
15 | package = pkgs.nixUnstable;
16 | extraOptions = ''
17 | experimental-features = nix-command flakes ca-references
18 | builders-use-substitutes = true
19 | '';
20 | distributedBuilds = true;
21 | };
22 |
23 | nix.trustedUsers = [ "ajanse" ];
24 |
25 | /* XPS 13 hardware */
26 |
27 | boot.kernelParams = [ "mem_sleep_default=deep" ];
28 | boot.supportedFilesystems = [ "zfs" ];
29 | boot.zfs.requestEncryptionCredentials = [ "zzroot" ];
30 | hardware.enableRedistributableFirmware = true;
31 | powerManagement.powertop.enable = true;
32 |
33 | # Disable sleep
34 | # # systemd.targets.sleep.enable = false;
35 | # # systemd.targets.suspend.enable = false;
36 | # # systemd.targets.hibernate.enable = false;
37 | # # systemd.targets.hybrid-sleep.enable = false;
38 |
39 | boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback ];
40 | hardware.opengl = {
41 | enable = true;
42 | extraPackages = with pkgs; [
43 | intel-media-driver # LIBVA_DRIVER_NAME=iHD
44 | vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
45 | vaapiVdpau
46 | libvdpau-va-gl
47 | ];
48 | driSupport32Bit = true;
49 | };
50 | environment.systemPackages = with pkgs; [
51 | nixFlakes
52 | git
53 | vaapiIntel
54 | vaapi-intel-hybrid
55 | libva-full
56 | libva-utils
57 | intel-media-driver
58 | v4l-utils
59 | gnome3.adwaita-icon-theme
60 | vanilla-dmz
61 | ];
62 |
63 | # services.neo4j = {
64 | # enable = true;
65 | # bolt.tlsLevel = "DISABLED";
66 | # https.enable = false;
67 | # extraServerConfig = ''
68 | # apoc.export.file.enabled=true
69 | # '';
70 | # };
71 |
72 | services.postgresql = {
73 | enable = true;
74 | ensureUsers = [ ];
75 | initialScript = secrets.postgresqlInit;
76 | };
77 |
78 | /* Boot */
79 |
80 | boot.loader = {
81 | systemd-boot.enable = true;
82 | efi.canTouchEfiVariables = false;
83 | grub.enable = false;
84 | };
85 |
86 | boot.loader.grub.copyKernels = true;
87 |
88 | # boot.kernelPatches = let hashes = [
89 | # "sha256-ffrN0y5Us/VJ1v6JObfkSVD4PCm23wueI0JXjoRcOao="
90 | # "sha256-mh9MgRtLp4+sXjM6GHkAkyyvp5DP3yTxl+d/kJ3+KJQ="
91 | # "sha256-1Jy1uv9x1c06/auY1aHN0SuyOsbIF1IcaK8/PuGmX8Q="
92 | # "sha256-QE3NfIg60RxV528AbpNAcxIdToplRNm5DgMNPn6AjHQ="
93 | # "sha256-zyL1g2oNiTzYfS5qUOehduGfzFfi2WIVLCQMg+XGBwE="
94 | # "sha256-f79tof0O5HBFwLbddR9FOqqLsqGsHqMZM45uYZNcoec="
95 | # "sha256-JD0bi4sjsI9qRpHXxcPlGpiiwXMu2oPm/HJU8iQI1ag="
96 | # "sha256-V+AGk7FGNiidd22ektlGCvSh3Wo2bRrUWp6qgGmsKPI="
97 | # ]; in builtins.genList (i: {
98 | # name = "fuse_passthrough ${toString (i+1)}/8";
99 | # patch = pkgs.fetchpatch {
100 | # url = "https://lore.kernel.org/lkml/20210125153057.3623715-${toString (i+2)}-balsini@android.com/raw";
101 | # sha256 = builtins.elemAt hashes i;
102 | # };
103 | # }) 8;
104 |
105 | /* Maintenance */
106 |
107 | time.timeZone = "America/Los_Angeles";
108 |
109 | services.journald.extraConfig = "MaxRetentionSec=1week";
110 | boot.cleanTmpDir = true;
111 | boot.tmpOnTmpfs = true;
112 |
113 | systemd = {
114 | timers.zbak-snap = {
115 | wantedBy = [ "timers.target" ];
116 | partOf = [ "zbak-snap.service" ];
117 | timerConfig.OnCalendar = "*:0/15";
118 | };
119 | services.zbak-snap = {
120 | serviceConfig.Type = "oneshot";
121 | path = [ pkgs.zbak ];
122 | script = ''
123 | zbak snap zzroot/code --keep 7d24h4f
124 | '';
125 | };
126 |
127 | # timers.zbak-send = {
128 | # wantedBy = [ "timers.target" ];
129 | # partOf = [ "zbak-send.service" ];
130 | # timerConfig.OnCalendar = "*:10,40";
131 | # };
132 | # services.zbak-send = {
133 | # serviceConfig.Type = "oneshot";
134 | # path = [ pkgs.zbak ];
135 | # script = ''
136 | # [ $(cat /sys/class/power_supply/BAT0/status) = "Full" ] && \
137 | # zbak send --name ssd500gb \
138 | # --from zzroot/code \
139 | # --to root@100.112.12.44:rpool/code \
140 | # --keep 6m4w7d
141 | # '';
142 | # };
143 | };
144 |
145 | /* Security */
146 |
147 | services.openssh.enable = true;
148 |
149 | services.gnome.gnome-keyring.enable = true;
150 |
151 | programs.adb.enable = true;
152 |
153 | security.sudo = {
154 | enable = true;
155 | wheelNeedsPassword = true;
156 | };
157 | users.mutableUsers = true;
158 | users.users.ajanse = {
159 | isNormalUser = true;
160 | uid = 1000;
161 | group = "users";
162 | extraGroups = [
163 | "wheel"
164 | "lp" # for bluetooth
165 | "video"
166 | "audio"
167 | "vboxusers"
168 | "adbusers"
169 | "libvirtd"
170 | "kvm"
171 | "adbusers"
172 | "docker"
173 | "bluetooth"
174 | ];
175 | createHome = true;
176 | home = "/home/ajanse";
177 | openssh.authorizedKeys.keys = [
178 | "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILBA0RNuRdCTQgK15gzpqMBHH9XBbkvE2z7orygz67jv" # Phone
179 | ];
180 | };
181 |
182 | users.users.enclave = {
183 | isNormalUser = true;
184 | uid = 1001;
185 | group = "users";
186 | extraGroups = [ "wheel" ];
187 | createHome = true;
188 | home = "/home/enclave";
189 | };
190 |
191 | /* Shell */
192 |
193 | users.defaultUserShell = pkgs.fish;
194 | environment.pathsToLink = [ "/share/zsh" "/share/fish" ];
195 | environment.variables.MOZ_X11_EGL = "1";
196 | environment.variables.EDITOR = "${pkgs.kakoune}/bin/kak";
197 | environment.etc."fish/config.fish".text = ''
198 | set REPO_DIR $HOME/school/sp21-s367
199 | set SNAPS_DIR $HOME/school/snaps-sp21-s367
200 | set GOPATH $HOME/.go
201 |
202 | alias enter="sudo ip netns exec wguard su - enclave"
203 | alias ls=exa
204 | '';
205 |
206 | /* Networking */
207 |
208 | networking = {
209 | hostName = "xps-ajanse";
210 | networkmanager.enable = true;
211 | nameservers = pkgs.lib.mkForce [ "193.138.218.74" ]; # mullvad
212 | iproute2.enable = true;
213 | firewall = {
214 | enable = true;
215 | allowedTCPPorts = [ 80 ];
216 | allowedUDPPorts = [ 51820 41641 ];
217 | trustedInterfaces = [ "wg0" ];
218 | };
219 | hosts = {
220 | "192.168.1.249" = [ "BRW707781875760.local" ];
221 | "172.31.98.1" = [ "aruba.odyssys.net" ];
222 | "127.0.0.1" = [ "localhost.dev" "local.metaculus.com" ];
223 | };
224 | };
225 |
226 | services.tailscale.enable = true;
227 |
228 | services.rpcbind.enable = true;
229 | services.nfs.server.enable = true;
230 |
231 | networking.wireguard.enable = true;
232 | networking.wireguard.interfaces.wg0 = secrets.wireguard;
233 |
234 | /* Sound */
235 |
236 | sound.enable = true;
237 | hardware.pulseaudio = {
238 | enable = true;
239 | daemon.config = { flat-volumes = "no"; };
240 | };
241 |
242 | /* Bluetooth */
243 |
244 | hardware.bluetooth.enable = true;
245 | services.blueman.enable = true;
246 | programs.dconf.enable = true;
247 | services.dbus.packages = [ pkgs.blueman pkgs.foliate ];
248 | hardware.pulseaudio = {
249 | extraModules = [ pkgs.pulseaudio-modules-bt ];
250 | package = pkgs.pulseaudioFull;
251 | };
252 |
253 | services.pcscd.enable = true;
254 | services.udev.packages = [
255 | pkgs.yubikey-personalization
256 | pkgs.libu2f-host
257 | pkgs.android-udev-rules
258 | ];
259 |
260 | # systemd.user.sockets.gpg-agent-ssh = {
261 | # wantedBy = [ "sockets.target" ];
262 | # listenStreams = [ "%t/gnupg/S.gpg-agent.ssh" ];
263 | # socketConfig = {
264 | # FileDescriptorName = "ssh";
265 | # Service = "gpg-agent.service";
266 | # SocketMode = "0600";
267 | # DirectoryMode = "0700";
268 | # };
269 | # };
270 |
271 | # environment.shellInit = ''
272 | # export GPG_TTY="$(tty)"
273 | # ${pkgs.gnupg}/bin/gpg-connect-agent /bye
274 | # export SSH_AUTH_SOCK="/run/user/$UID/gnupg/S.gpg-agent.ssh"
275 | # '';
276 |
277 | # services.yubikey-agent.enable = true;
278 |
279 | programs = {
280 | ssh.startAgent = false;
281 | gnupg.agent.enable = true;
282 | gnupg.agent.enableSSHSupport = true;
283 | gnupg.agent.pinentryFlavor = "gtk2";
284 | };
285 |
286 | /* User Interface */
287 |
288 | services.xserver = {
289 | enable = true;
290 | displayManager.gdm = {
291 | enable = true;
292 | wayland = true;
293 | };
294 | desktopManager.gnome.enable = true;
295 | };
296 |
297 | programs.light.enable = true;
298 |
299 | /* HiDPI */
300 |
301 | console = {
302 | earlySetup = true;
303 | font = "sun12x22";
304 | colors = theme.colors16;
305 | };
306 | services.xserver.dpi = 192;
307 | services.xserver.displayManager.sessionCommands = ''
308 | ${pkgs.xorg.xrdb}/bin/xrdb -merge <&2 "syntax: nix-prefetch-git [options] [URL [REVISION [EXPECTED-HASH]]]
39 |
40 | Options:
41 | --out path Path where the output would be stored.
42 | --url url Any url understood by 'git clone'.
43 | --rev ref Any sha1 or references (such as refs/heads/master)
44 | --hash h Expected hash.
45 | --branch-name Branch name to check out into
46 | --deepClone Clone the entire repository.
47 | --no-deepClone Make a shallow clone of just the required ref.
48 | --leave-dotGit Keep the .git directories.
49 | --fetch-submodules Fetch submodules.
50 | --builder Clone as fetchgit does, but url, rev, and out option are mandatory.
51 | --quiet Only print the final json summary.
52 | "
53 | exit 1
54 | }
55 |
56 | # some git commands print to stdout, which would contaminate our JSON output
57 | clean_git(){
58 | git "$@" >&2
59 | }
60 |
61 | argi=0
62 | argfun=""
63 | for arg; do
64 | if test -z "$argfun"; then
65 | case $arg in
66 | --out) argfun=set_out;;
67 | --url) argfun=set_url;;
68 | --rev) argfun=set_rev;;
69 | --hash) argfun=set_hashType;;
70 | --branch-name) argfun=set_branchName;;
71 | --deepClone) deepClone=true;;
72 | --quiet) QUIET=true;;
73 | --no-deepClone) deepClone=;;
74 | --leave-dotGit) leaveDotGit=true;;
75 | --fetch-submodules) fetchSubmodules=true;;
76 | --builder) builder=true;;
77 | -h|--help) usage; exit;;
78 | *)
79 | : $((++argi))
80 | case $argi in
81 | 1) url=$arg;;
82 | 2) rev=$arg;;
83 | 3) expHash=$arg;;
84 | *) exit 1;;
85 | esac
86 | ;;
87 | esac
88 | else
89 | case $argfun in
90 | set_*)
91 | var=${argfun#set_}
92 | eval $var=$arg
93 | ;;
94 | esac
95 | argfun=""
96 | fi
97 | done
98 |
99 | if test -z "$url"; then
100 | usage
101 | fi
102 |
103 |
104 | init_remote(){
105 | local url=$1
106 | clean_git init
107 | clean_git remote add origin "$url"
108 | ( [ -n "$http_proxy" ] && clean_git config http.proxy "$http_proxy" ) || true
109 | }
110 |
111 | # Return the reference of an hash if it exists on the remote repository.
112 | ref_from_hash(){
113 | local hash=$1
114 | git ls-remote origin | sed -n "\,$hash\t, { s,\(.*\)\t\(.*\),\2,; p; q}"
115 | }
116 |
117 | # Return the hash of a reference if it exists on the remote repository.
118 | hash_from_ref(){
119 | local ref=$1
120 | git ls-remote origin | sed -n "\,\t$ref, { s,\(.*\)\t\(.*\),\1,; p; q}"
121 | }
122 |
123 | # Returns a name based on the url and reference
124 | #
125 | # This function needs to be in sync with nix's fetchgit implementation
126 | # of urlToName() to re-use the same nix store paths.
127 | url_to_name(){
128 | local url=$1
129 | local ref=$2
130 | local base
131 | base=$(basename "$url" .git | cut -d: -f2)
132 |
133 | if [[ $ref =~ ^[a-z0-9]+$ ]]; then
134 | echo "$base-${ref:0:7}"
135 | else
136 | echo "$base"
137 | fi
138 | }
139 |
140 | # Fetch everything and checkout the right sha1
141 | checkout_hash(){
142 | local hash="$1"
143 | local ref="$2"
144 |
145 | if test -z "$hash"; then
146 | hash=$(hash_from_ref "$ref")
147 | fi
148 |
149 | clean_git fetch -t ${builder:+--progress} origin || return 1
150 |
151 | local object_type=$(git cat-file -t "$hash")
152 | if [[ "$object_type" == "commit" ]]; then
153 | clean_git checkout -b "$branchName" "$hash" || return 1
154 | elif [[ "$object_type" == "tree" ]]; then
155 | clean_git config user.email "nix-prefetch-git@localhost"
156 | clean_git config user.name "nix-prefetch-git"
157 | commit_id=$(git commit-tree "$hash" -m "Commit created from tree hash $hash")
158 | clean_git checkout -b "$branchName" "$commit_id" || return 1
159 | else
160 | echo "Unrecognized git object type: $object_type"
161 | return 1
162 | fi
163 | }
164 |
165 | # Fetch only a branch/tag and checkout it.
166 | checkout_ref(){
167 | local hash="$1"
168 | local ref="$2"
169 |
170 | if [[ -n "$deepClone" ]]; then
171 | # The caller explicitly asked for a deep clone. Deep clones
172 | # allow "git describe" and similar tools to work. See
173 | # https://marc.info/?l=nix-dev&m=139641582514772
174 | # for a discussion.
175 | return 1
176 | fi
177 |
178 | if test -z "$ref"; then
179 | ref=$(ref_from_hash "$hash")
180 | fi
181 |
182 | if test -n "$ref"; then
183 | # --depth option is ignored on http repository.
184 | clean_git fetch ${builder:+--progress} --depth 1 origin +"$ref" || return 1
185 | clean_git checkout -b "$branchName" FETCH_HEAD || return 1
186 | else
187 | return 1
188 | fi
189 | }
190 |
191 | # Update submodules
192 | init_submodules(){
193 | # Add urls into .git/config file
194 | clean_git submodule init
195 |
196 | # list submodule directories and their hashes
197 | git submodule status |
198 | while read -r l; do
199 | local hash
200 | local dir
201 | local name
202 | local url
203 |
204 | # checkout each submodule
205 | hash=$(echo "$l" | awk '{print $1}' | tr -d '-')
206 | dir=$(echo "$l" | sed -n 's/^.[0-9a-f]\+ \(.*[^)]*\)\( (.*)\)\?$/\1/p')
207 | name=$(
208 | git config -f .gitmodules --get-regexp submodule\..*\.path |
209 | sed -n "s,^\(.*\)\.path $dir\$,\\1,p")
210 | url=$(git config --get "${name}.url")
211 |
212 | clone "$dir" "$url" "$hash" ""
213 | done
214 | }
215 |
216 | clone(){
217 | local top=$PWD
218 | local dir="$1"
219 | local url="$2"
220 | local hash="$3"
221 | local ref="$4"
222 |
223 | cd "$dir"
224 |
225 | # Initialize the repository.
226 | init_remote "$url"
227 |
228 | # Download data from the repository.
229 | checkout_ref "$hash" "$ref" ||
230 | checkout_hash "$hash" "$ref" || (
231 | echo 1>&2 "Unable to checkout $hash$ref from $url."
232 | exit 1
233 | )
234 |
235 | # Checkout linked sources.
236 | if test -n "$fetchSubmodules"; then
237 | init_submodules
238 | fi
239 |
240 | if [ -z "$builder" ] && [ -f .topdeps ]; then
241 | if tg help &>/dev/null; then
242 | echo "populating TopGit branches..."
243 | tg remote --populate origin
244 | else
245 | echo "WARNING: would populate TopGit branches but TopGit is not available" >&2
246 | echo "WARNING: install TopGit to fix the problem" >&2
247 | fi
248 | fi
249 |
250 | cd "$top"
251 | }
252 |
253 | # Remove all remote branches, remove tags not reachable from HEAD, do a full
254 | # repack and then garbage collect unreferenced objects.
255 | make_deterministic_repo(){
256 | local repo="$1"
257 |
258 | # run in sub-shell to not touch current working directory
259 | (
260 | cd "$repo"
261 | # Remove files that contain timestamps or otherwise have non-deterministic
262 | # properties.
263 | rm -rf .git/logs/ .git/hooks/ .git/index .git/FETCH_HEAD .git/ORIG_HEAD \
264 | .git/refs/remotes/origin/HEAD .git/config
265 |
266 | # Remove all remote branches.
267 | git branch -r | while read -r branch; do
268 | clean_git branch -rD "$branch"
269 | done
270 |
271 | # Remove tags not reachable from HEAD. If we're exactly on a tag, don't
272 | # delete it.
273 | maybe_tag=$(git tag --points-at HEAD)
274 | git tag --contains HEAD | while read -r tag; do
275 | if [ "$tag" != "$maybe_tag" ]; then
276 | clean_git tag -d "$tag"
277 | fi
278 | done
279 |
280 | # Do a full repack. Must run single-threaded, or else we lose determinism.
281 | clean_git config pack.threads 1
282 | clean_git repack -A -d -f
283 | rm -f .git/config
284 |
285 | # Garbage collect unreferenced objects.
286 | # Note: --keep-largest-pack prevents non-deterministic ordering of packs
287 | # listed in .git/objects/info/packs by only using a single pack
288 | clean_git gc --prune=all --keep-largest-pack
289 | )
290 | }
291 |
292 |
293 | clone_user_rev() {
294 | local dir="$1"
295 | local url="$2"
296 | local rev="${3:-HEAD}"
297 |
298 | # Perform the checkout.
299 | case "$rev" in
300 | HEAD|refs/*)
301 | clone "$dir" "$url" "" "$rev" 1>&2;;
302 | *)
303 | if test -z "$(echo "$rev" | tr -d 0123456789abcdef)"; then
304 | clone "$dir" "$url" "$rev" "" 1>&2
305 | else
306 | # if revision is not hexadecimal it might be a tag
307 | clone "$dir" "$url" "" "refs/tags/$rev" 1>&2
308 | fi;;
309 | esac
310 |
311 | pushd "$dir" >/dev/null
312 | fullRev=$( (git rev-parse "$rev" 2>/dev/null || git rev-parse "refs/heads/$branchName") | tail -n1)
313 | humanReadableRev=$(git describe "$fullRev" 2> /dev/null || git describe --tags "$fullRev" 2> /dev/null || echo -- none --)
314 | commitDate=$(git show -1 --no-patch --pretty=%ci "$fullRev")
315 | commitDateStrict8601=$(git show -1 --no-patch --pretty=%cI "$fullRev")
316 | popd >/dev/null
317 |
318 | # Allow doing additional processing before .git removal
319 | eval "$NIX_PREFETCH_GIT_CHECKOUT_HOOK"
320 | if test -z "$leaveDotGit"; then
321 | echo "removing \`.git'..." >&2
322 | find "$dir" -name .git -print0 | xargs -0 rm -rf
323 | else
324 | find "$dir" -name .git | while read -r gitdir; do
325 | make_deterministic_repo "$(readlink -f "$gitdir/..")"
326 | done
327 | fi
328 | }
329 |
330 | exit_handlers=()
331 |
332 | run_exit_handlers() {
333 | exit_status=$?
334 | for handler in "${exit_handlers[@]}"; do
335 | eval "$handler $exit_status"
336 | done
337 | }
338 |
339 | trap run_exit_handlers EXIT
340 |
341 | quiet_exit_handler() {
342 | exec 2>&3 3>&-
343 | if [ $1 -ne 0 ]; then
344 | cat "$errfile" >&2
345 | fi
346 | rm -f "$errfile"
347 | }
348 |
349 | quiet_mode() {
350 | errfile="$(mktemp "${TMPDIR:-/tmp}/git-checkout-err-XXXXXXXX")"
351 | exit_handlers+=(quiet_exit_handler)
352 | exec 3>&2 2>"$errfile"
353 | }
354 |
355 | json_escape() {
356 | local s="$1"
357 | s="${s//\\/\\\\}" # \
358 | s="${s//\"/\\\"}" # "
359 | s="${s//^H/\\\b}" # \b (backspace)
360 | s="${s//^L/\\\f}" # \f (form feed)
361 | s="${s//
362 | /\\\n}" # \n (newline)
363 | s="${s//^M/\\\r}" # \r (carriage return)
364 | s="${s// /\\t}" # \t (tab)
365 | echo "$s"
366 | }
367 |
368 | print_results() {
369 | hash="$1"
370 | if ! test -n "$QUIET"; then
371 | echo "" >&2
372 | echo "git revision is $fullRev" >&2
373 | if test -n "$finalPath"; then
374 | echo "path is $finalPath" >&2
375 | fi
376 | echo "git human-readable version is $humanReadableRev" >&2
377 | echo "Commit date is $commitDate" >&2
378 | if test -n "$hash"; then
379 | echo "hash is $hash" >&2
380 | fi
381 | fi
382 | if test -n "$hash"; then
383 | cat < /dev/null; then
424 | finalPath=
425 | fi
426 | hash=$expHash
427 | fi
428 |
429 | # If we don't know the hash or a path with that hash doesn't exist,
430 | # download the file and add it to the store.
431 | if test -z "$finalPath"; then
432 |
433 | tmpPath="$(mktemp -d "${TMPDIR:-/tmp}/git-checkout-tmp-XXXXXXXX")"
434 | exit_handlers+=(remove_tmpPath)
435 |
436 | tmpFile="$tmpPath/$(url_to_name "$url" "$rev")"
437 | mkdir -p "$tmpFile"
438 |
439 | # Perform the checkout.
440 | clone_user_rev "$tmpFile" "$url" "$rev"
441 |
442 | # Compute the hash.
443 | hash=$(nix-hash --type $hashType --base32 "$tmpFile")
444 |
445 | # Add the downloaded file to the Nix store.
446 | finalPath=$(nix-store --add-fixed --recursive "$hashType" "$tmpFile")
447 |
448 | if test -n "$expHash" -a "$expHash" != "$hash"; then
449 | echo "hash mismatch for URL \`$url'. Got \`$hash'; expected \`$expHash'." >&2
450 | exit 1
451 | fi
452 | fi
453 |
454 | print_results "$hash"
455 |
456 | if test -n "$PRINT_PATH"; then
457 | echo "$finalPath"
458 | fi
459 | fi
460 |
--------------------------------------------------------------------------------
/pkgs/julia/trace.jl:
--------------------------------------------------------------------------------
1 | precompile(Tuple{typeof(Base.setindex!), Base.Dict{Base.SHA1, Union{Base.SHA1, String}}, String, Base.SHA1})
2 | precompile(Tuple{Type{Base.Pair{A, B} where B where A}, Pkg.BinaryPlatforms.FreeBSD, Base.Dict{String, Any}})
3 | precompile(Tuple{typeof(Base.setindex!), Base.Dict{Pkg.BinaryPlatforms.Platform, Base.Dict{String, Any}}, Base.Dict{String, Any}, Pkg.BinaryPlatforms.FreeBSD})
4 | precompile(Tuple{typeof(Libdl.dlopen), String, UInt32})
5 | precompile(Tuple{typeof(JLLWrappers.get_julia_libpaths)})
6 | precompile(Tuple{typeof(Base.Threads.resize_nthreads!), Array{URIs.RegexAndMatchData, 1}, URIs.RegexAndMatchData})
7 | precompile(Tuple{typeof(Base.Threads.resize_nthreads!), Array{HTTP.Parsers.RegexAndMatchData, 1}, HTTP.Parsers.RegexAndMatchData})
8 | precompile(Tuple{typeof(Base.Threads.resize_nthreads!), Array{Base.Dict{String, Base.Set{HTTP.Cookies.Cookie}}, 1}, Base.Dict{String, Base.Set{HTTP.Cookies.Cookie}}})
9 | precompile(Tuple{typeof(Base.Threads.resize_nthreads!), Array{Base.Dict{Sockets.IPAddr, HTTP.Servers.RateLimit}, 1}, Base.Dict{Sockets.IPAddr, HTTP.Servers.RateLimit}})
10 | precompile(Tuple{typeof(Base.Experimental.register_error_hint), Function, Type{T} where T})
11 | precompile(Tuple{typeof(Base.Threads.resize_nthreads!), Array{Base.MPFR.BigFloat, 1}, Base.MPFR.BigFloat})
12 | precompile(Tuple{typeof(Base.Threads.resize_nthreads!), Array{Base.GMP.BigInt, 1}, Base.GMP.BigInt})
13 | precompile(Tuple{typeof(Base.setindex!), Base.Dict{Symbol, PlotThemes.PlotTheme}, PlotThemes.PlotTheme, Symbol})
14 | precompile(Tuple{typeof(Base.get!), Type{Array{Function, 1}}, Base.Dict{Base.PkgId, Array{Function, 1}}, Base.PkgId})
15 | precompile(Tuple{typeof(Base.push!), Array{Function, 1}, Function})
16 | precompile(Tuple{typeof(Base.merge), NamedTuple{(), Tuple{}}, Base.Dict{Symbol, Any}})
17 | precompile(Tuple{typeof(Base.foreach), Function, Array{Base.Dict{Symbol, Any}, 1}, Array{Base.Dict{Symbol, Any}, 1}})
18 | precompile(Tuple{typeof(Base.setindex!), Base.Dict{Symbol, Any}, Nothing, Symbol})
19 | precompile(Tuple{typeof(Base.setindex!), Base.Dict{Symbol, Any}, Tuple{Int64, Int64}, Symbol})
20 | precompile(Tuple{typeof(Base.setindex!), Base.Dict{Symbol, Any}, ColorTypes.RGB{FixedPointNumbers.Normed{UInt8, 8}}, Symbol})
21 | precompile(Tuple{typeof(Base.setindex!), Base.Dict{Symbol, Any}, Float64, Symbol})
22 | precompile(Tuple{typeof(Base.setindex!), Base.Dict{Symbol, Any}, Array{Any, 1}, Symbol})
23 | precompile(Tuple{typeof(Base.setindex!), Base.Dict{Symbol, Any}, Measures.Length{:mm, Float64}, Symbol})
24 | precompile(Tuple{typeof(Plots.treats_y_as_x), Symbol})
25 | precompile(Tuple{typeof(Base.in), Symbol, Tuple{Symbol, Symbol, Symbol}})
26 | precompile(Tuple{typeof(Base.atreplinit), Function})
27 | precompile(Tuple{typeof(REPL.Terminals.hascolor), REPL.Terminals.TTYTerminal})
28 | precompile(Tuple{Type{REPL.REPLHistoryProvider}, Any})
29 | precompile(Tuple{Type{REPL.REPLHistoryProvider}, Any, Any, Any, Any, Any, Any, Any, Any, Any})
30 | precompile(Tuple{typeof(REPL.run_repl), REPL.AbstractREPL, Any})
31 | precompile(Tuple{typeof(Base.:(==)), REPL.REPLDisplay{R} where R<:REPL.AbstractREPL, REPL.REPLDisplay{R} where R<:REPL.AbstractREPL})
32 | precompile(Tuple{Type{REPL.LineEdit.PromptState}, REPL.Terminals.AbstractTerminal, REPL.LineEdit.Prompt, Base.GenericIOBuffer{Array{UInt8, 1}}, Symbol, Array{Base.GenericIOBuffer{Array{UInt8, 1}}, 1}, Int64, REPL.LineEdit.InputAreaState, Int64, Base.AbstractLock, Float64, Float64})
33 | precompile(Tuple{typeof(REPL.LineEdit.init_state), Any, REPL.LineEdit.HistoryPrompt})
34 | precompile(Tuple{typeof(REPL.LineEdit.init_state), Any, REPL.LineEdit.PrefixHistoryPrompt})
35 | precompile(Tuple{typeof(Base.cconvert), Type{Ptr{Nothing}}, Ptr{Nothing}})
36 | precompile(Tuple{typeof(REPL.LineEdit.refresh_multi_line), REPL.Terminals.UnixTerminal, Any})
37 | precompile(Tuple{typeof(REPL.LineEdit.prompt_string), AbstractString})
38 | precompile(Tuple{typeof(REPL.LineEdit.refresh_multi_line), REPL.LineEdit.ModeState})
39 | precompile(Tuple{typeof(REPL.LineEdit.state), REPL.LineEdit.MIState, Any})
40 | precompile(Tuple{typeof(Base.pipeline), Base.Cmd})
41 | precompile(Tuple{typeof(Base.pipeline), Base.TTY, Base.Cmd, Base.TTY})
42 | precompile(Tuple{typeof(Base.convert), Type{IO}, Base.PipeEndpoint})
43 | precompile(Tuple{typeof(Base.getproperty), Base.Process, Symbol})
44 | precompile(Tuple{typeof(REPL.LineEdit.edit_abort), Any, Bool})
45 | precompile(Tuple{typeof(Base.push!), Array{Function, 1}, Function})
46 | precompile(Tuple{Plots.var"#271#304"})
47 | precompile(Tuple{Main.var"#1#2", REPL.LineEditREPL})
48 | precompile(Tuple{REPL.var"##setup_interface#61", Bool, Any, typeof(REPL.setup_interface), REPL.LineEditREPL})
49 | precompile(Tuple{Type{REPL.REPLHistoryProvider}, Any, Any, Any, Any, Any, Any, Any, Any, Any})
50 | precompile(Tuple{Type{Base.Pair{Char, REPLComboShell.var"#52#72"{REPL.LineEdit.PrefixHistoryPrompt}}}, Any, Any})
51 | precompile(Tuple{Type{Base.Pair{Char, REPLComboShell.var"#53#73"{REPL.LineEdit.Prompt}}}, Any, Any})
52 | precompile(Tuple{Type{Base.Pair{Char, REPLComboShell.var"#55#75"{REPL.LineEdit.Prompt}}}, Any, Any})
53 | precompile(Tuple{Plots.var"#247#280", REPL.LineEditREPL})
54 | precompile(Tuple{typeof(REPL.run_repl), REPL.AbstractREPL, Any})
55 | precompile(Tuple{typeof(Base.:(==)), REPL.REPLDisplay{R} where R<:REPL.AbstractREPL, REPL.REPLDisplay{R} where R<:REPL.AbstractREPL})
56 | precompile(Tuple{Type{REPL.LineEdit.PromptState}, REPL.Terminals.AbstractTerminal, REPL.LineEdit.Prompt, Base.GenericIOBuffer{Array{UInt8, 1}}, Symbol, Array{Base.GenericIOBuffer{Array{UInt8, 1}}, 1}, Int64, REPL.LineEdit.InputAreaState, Int64, Base.AbstractLock, Float64, Float64})
57 | precompile(Tuple{typeof(REPL.LineEdit.refresh_multi_line), REPL.Terminals.UnixTerminal, Any})
58 | precompile(Tuple{REPL.LineEdit.var"#22#23"{REPL.LineEdit.var"#113#166", String}, Any, Any})
59 | precompile(Tuple{REPL.LineEdit.var"#113#166", Any, Any, Vararg{Any, N} where N})
60 | precompile(Tuple{REPL.LineEdit.var"##edit_abort#108", Any, typeof(REPL.LineEdit.edit_abort), Any, Bool})
61 | precompile(Tuple{REPL.var"#63#72"{Base.IOStream}, Any})
62 | precompile(Tuple{Core.var"#Type##kw", NamedTuple{(:libc, :compiler_abi), Tuple{Nothing, Pkg.BinaryPlatforms.CompilerABI}}, Type{Pkg.BinaryPlatforms.FreeBSD}, Symbol})
63 | precompile(Tuple{Pkg.Artifacts.var"#parse_mapping#5"{String}, String, String})
64 |
65 | precompile(Tuple{typeof(Base.push!), Array{Function, 1}, Function})
66 | precompile(Tuple{typeof(Base.atreplinit), Function})
67 | precompile(Tuple{typeof(Base.CoreLogging.with_logger), Function, Logging.ConsoleLogger})
68 | precompile(Tuple{InteractiveUtils.var"#define_editor##kw", NamedTuple{(:wait,), Tuple{Bool}}, typeof(InteractiveUtils.define_editor), Function, String})
69 | precompile(Tuple{Main.var"#1#2", REPL.LineEditREPL})
70 | precompile(Tuple{Type{REPL.REPLHistoryProvider}, Any, Any, Any, Any, Any, Any, Any, Any, Any})
71 | precompile(Tuple{Type{Base.Pair{Char, REPLComboShell.var"#81#103"{REPL.LineEdit.PrefixHistoryPrompt}}}, Any, Any})
72 | precompile(Tuple{Type{Base.Pair{Char, REPLComboShell.var"#82#104"{REPL.LineEdit.Prompt}}}, Any, Any})
73 | precompile(Tuple{Type{Base.Pair{Char, REPLComboShell.var"#84#106"{REPL.LineEdit.Prompt}}}, Any, Any})
74 | precompile(Tuple{Type{Base.Dict{Any, Any}}, Base.Pair{Char, REPLComboShell.var"#80#102"}, Vararg{Base.Pair{A, B} where B where A, N} where N})
75 | precompile(Tuple{Type{Base.Dict{Any, Any}}, Base.Pair{Char, REPLComboShell.var"#89#111"{REPL.LineEdit.Prompt}}, Vararg{Base.Pair{A, B} where B where A, N} where N})
76 | precompile(Tuple{typeof(Base.convert), Type{Base.Dict{Char, Any}}, Base.Dict{Char, Any}})
77 | precompile(Tuple{Type{Base.Dict{Any, Any}}, Base.Pair{Char, REPLComboShell.var"#92#114"{REPL.LineEdit.Prompt}}, Vararg{Base.Pair{A, B} where B where A, N} where N})
78 | precompile(Tuple{typeof(Base.convert), Type{Function}, REPLComboShell.var"#95#117"{REPL.LineEditREPL, REPL.LineEdit.Prompt}})
79 | precompile(Tuple{typeof(REPL.run_repl), REPL.AbstractREPL, Any})
80 | precompile(Tuple{typeof(Base.:(==)), REPL.REPLDisplay{R} where R<:REPL.AbstractREPL, REPL.REPLDisplay{R} where R<:REPL.AbstractREPL})
81 | precompile(Tuple{Type{REPL.LineEdit.PromptState}, REPL.Terminals.AbstractTerminal, REPL.LineEdit.Prompt, Base.GenericIOBuffer{Array{UInt8, 1}}, Symbol, Array{Base.GenericIOBuffer{Array{UInt8, 1}}, 1}, Int64, REPL.LineEdit.InputAreaState, Int64, Base.AbstractLock, Float64, Float64})
82 | precompile(Tuple{typeof(REPL.LineEdit.init_state), Any, REPL.LineEdit.HistoryPrompt})
83 | precompile(Tuple{typeof(REPL.LineEdit.init_state), Any, REPL.LineEdit.PrefixHistoryPrompt})
84 | precompile(Tuple{typeof(REPL.LineEdit.refresh_multi_line), REPL.Terminals.UnixTerminal, Any})
85 | precompile(Tuple{typeof(REPL.LineEdit.prompt_string), AbstractString})
86 | precompile(Tuple{REPL.LineEdit.var"#22#23"{REPL.LineEdit.var"#133#186", String}, Any, Any})
87 | precompile(Tuple{REPL.LineEdit.var"#22#23"{REPL.LineEdit.var"#110#163", String}, Any, Any})
88 | precompile(Tuple{typeof(REPL.LineEdit.refresh_multi_line), REPL.LineEdit.ModeState})
89 | precompile(Tuple{typeof(REPL.LineEdit.state), REPL.LineEdit.MIState, Any})
90 | precompile(Tuple{REPL.var"#do_respond#54"{Bool, Bool, REPLComboShell.var"#parse_to_expr#100"{REPL.LineEdit.Prompt, REPLComboShell.var"#set_prompt#98"{String}}, REPL.LineEditREPL, REPL.LineEdit.Prompt}, Any, Any, Any})
91 | precompile(Tuple{REPLComboShell.var"#parse_to_expr#100"{REPL.LineEdit.Prompt, REPLComboShell.var"#set_prompt#98"{String}}, String})
92 | precompile(Tuple{typeof(Base.copyto!), Array{Function, 1}, Tuple{REPLComboShell.var"#5#15", REPLComboShell.var"#8#18"}})
93 | precompile(Tuple{REPLComboShell.var"#5#15", Base.SubString{String}, Base.Dict{Tuple{Symbol, Int64}, Union{Nothing, Tuple{Any, Base.SubString{T} where T<:AbstractString}}}})
94 | precompile(Tuple{REPLComboShell.var"#7#17", Base.SubString{String}, Base.Dict{Tuple{Symbol, Int64}, Union{Nothing, Tuple{Any, Base.SubString{T} where T<:AbstractString}}}})
95 | precompile(Tuple{REPLComboShell.var"#37#43", Base.SubString{String}, Base.Dict{Tuple{Symbol, Int64}, Union{Nothing, Tuple{Any, Base.SubString{T} where T<:AbstractString}}}})
96 | precompile(Tuple{REPLComboShell.var"#47#52", Base.SubString{String}, Base.Dict{Tuple{Symbol, Int64}, Union{Nothing, Tuple{Any, Base.SubString{T} where T<:AbstractString}}}})
97 | precompile(Tuple{typeof(Base.setindex!), Base.Dict{Tuple{Symbol, Int64}, Union{Nothing, Tuple{Any, Base.SubString{T} where T<:AbstractString}}}, Tuple{Base.SubString{String}, Base.SubString{String}}, Tuple{Symbol, Int64}})
98 | precompile(Tuple{typeof(Base.indexed_iterate), Tuple{Base.SubString{String}, Base.SubString{String}}, Int64})
99 | precompile(Tuple{typeof(Base.indexed_iterate), Tuple{Base.SubString{String}, Base.SubString{String}}, Int64, Int64})
100 | precompile(Tuple{REPLComboShell.var"#48#53", Base.SubString{String}, Base.Dict{Tuple{Symbol, Int64}, Union{Nothing, Tuple{Any, Base.SubString{T} where T<:AbstractString}}}})
101 | precompile(Tuple{typeof(Base.copyto!), Array{Function, 1}, Tuple{PEG.var"#1#2"{String}, PEG.var"#3#5"{Symbol, Base.Regex}, PEG.var"#1#2"{String}}})
102 | precompile(Tuple{PEG.var"#1#2"{String}, Base.SubString{String}, Base.Dict{Tuple{Symbol, Int64}, Union{Nothing, Tuple{Any, Base.SubString{T} where T<:AbstractString}}}})
103 | precompile(Tuple{REPLComboShell.var"#49#54", Base.SubString{String}, Base.Dict{Tuple{Symbol, Int64}, Union{Nothing, Tuple{Any, Base.SubString{T} where T<:AbstractString}}}})
104 | precompile(Tuple{typeof(Base.setindex!), Array{Union{Nothing, Tuple{Any, Base.SubString{T} where T<:AbstractString}}, 1}, Tuple{Base.SubString{String}, Base.SubString{String}}, Int64})
105 | precompile(Tuple{typeof(Base.setindex!), Base.Dict{Tuple{Symbol, Int64}, Union{Nothing, Tuple{Any, Base.SubString{T} where T<:AbstractString}}}, Tuple{Array{Any, 1}, Base.SubString{String}}, Tuple{Symbol, Int64}})
106 | precompile(Tuple{typeof(Base.indexed_iterate), Tuple{Array{Any, 1}, Base.SubString{String}}, Int64})
107 | precompile(Tuple{typeof(Base.indexed_iterate), Tuple{Array{Any, 1}, Base.SubString{String}}, Int64, Int64})
108 | precompile(Tuple{REPLComboShell.var"#38#44", Array{Any, 1}})
109 | precompile(Tuple{typeof(Base.iterate), Base.SubString{String}})
110 | precompile(Tuple{typeof(Base.iterate), Base.SubString{String}, Int64})
111 | precompile(Tuple{typeof(Base.arg_gen), Char, Char})
112 | precompile(Tuple{typeof(Base.setindex!), Base.Dict{Tuple{Symbol, Int64}, Union{Nothing, Tuple{Any, Base.SubString{T} where T<:AbstractString}}}, Tuple{Base.Cmd, Base.SubString{String}}, Tuple{Symbol, Int64}})
113 | precompile(Tuple{typeof(Base.indexed_iterate), Tuple{Base.Cmd, Base.SubString{String}}, Int64})
114 | precompile(Tuple{typeof(Base.indexed_iterate), Tuple{Base.Cmd, Base.SubString{String}}, Int64, Int64})
115 | precompile(Tuple{REPLComboShell.var"#8#18", Base.SubString{String}, Base.Dict{Tuple{Symbol, Int64}, Union{Nothing, Tuple{Any, Base.SubString{T} where T<:AbstractString}}}})
116 | precompile(Tuple{REPLComboShell.var"#10#20", Base.SubString{String}, Base.Dict{Tuple{Symbol, Int64}, Union{Nothing, Tuple{Any, Base.SubString{T} where T<:AbstractString}}}})
117 | precompile(Tuple{typeof(Base.copyto!), Array{Function, 1}, Tuple{PEG.var"#3#5"{Symbol, Base.Regex}, REPLComboShell.var"#25#31"}})
118 | precompile(Tuple{PEG.var"#3#5"{Symbol, Base.Regex}, Base.SubString{String}, Base.Dict{Tuple{Symbol, Int64}, Union{Nothing, Tuple{Any, Base.SubString{T} where T<:AbstractString}}}})
119 | precompile(Tuple{typeof(REPLComboShell.process_pipeline), Array{Any, 1}})
120 | precompile(Tuple{typeof(Base.empty), Array{Any, 1}, Type{Base.Cmd}})
121 | precompile(Tuple{typeof(Base.push!), Array{Base.Cmd, 1}, Base.Cmd})
122 | precompile(Tuple{typeof(Base.grow_to!), Array{Base.Cmd, 1}, Base.Iterators.Flatten{Array{Any, 1}}, Tuple{Int64, Array{Any, 1}, Int64}})
123 | precompile(Tuple{typeof(Base.:(!=)), Base.SubString{String}, String})
124 | precompile(Tuple{typeof(Base.open), Function, Base.CmdRedirect, String})
125 | precompile(Tuple{Base.var"##open#595", Base.Iterators.Pairs{Union{}, Union{}, Tuple{}, NamedTuple{(), Tuple{}}}, typeof(Base.open), REPLComboShell.var"#79#101", Base.CmdRedirect, String})
126 | precompile(Tuple{REPLComboShell.var"#79#101", Base.Process})
127 | precompile(Tuple{typeof(Base.put!), Base.Channel{Any}, Tuple{Nothing, Int64}})
128 | precompile(Tuple{typeof(Base.indexed_iterate), Tuple{Nothing, Int64}, Int64})
129 | precompile(Tuple{typeof(Base.indexed_iterate), Tuple{Nothing, Int64}, Int64, Int64})
130 | precompile(Tuple{REPL.LineEdit.var"#22#23"{REPL.LineEdit.var"#109#162", String}, Any, Any})
131 | precompile(Tuple{typeof(REPL.LineEdit.complete_line), REPLComboShell.JulishCompletionProvider, REPL.LineEdit.PromptState})
132 | precompile(Tuple{Base.var"#shell_escape##kw", NamedTuple{(:special,), Tuple{String}}, typeof(Base.shell_escape), String, String, Vararg{String, N} where N})
133 | precompile(Tuple{Base.var"##shell_escape#372", String, typeof(Base.shell_escape), String, Vararg{String, N} where N})
134 | precompile(Tuple{typeof(Base.sprint), Function, String, Vararg{String, N} where N})
135 | precompile(Tuple{Base.var"##sprint#355", Nothing, Int64, typeof(Base.sprint), Function, String, Vararg{String, N} where N})
136 | precompile(Tuple{Base.var"#373#374"{String}, Base.GenericIOBuffer{Array{UInt8, 1}}, String, Vararg{String, N} where N})
137 | precompile(Tuple{Base.var"#print_shell_escaped##kw", NamedTuple{(:special,), Tuple{String}}, typeof(Base.print_shell_escaped), Base.GenericIOBuffer{Array{UInt8, 1}}, String, String, Vararg{String, N} where N})
138 | precompile(Tuple{Base.var"##print_shell_escaped#370", String, typeof(Base.print_shell_escaped), Base.GenericIOBuffer{Array{UInt8, 1}}, String, String, Vararg{String, N} where N})
139 | precompile(Tuple{typeof(Base.print), Base.GenericIOBuffer{Array{UInt8, 1}}, Char, String, Vararg{Any, N} where N})
140 | precompile(Tuple{Base.var"#592#593"{Base.Process}})
141 | precompile(Tuple{REPL.LineEdit.var"#22#23"{REPLComboShell.var"#86#108"{REPL.LineEdit.Prompt}, String}, Any, Any})
142 | precompile(Tuple{REPLComboShell.var"#86#108"{REPL.LineEdit.Prompt}, REPL.LineEdit.MIState, Nothing, Vararg{Any, N} where N})
143 | precompile(Tuple{typeof(REPL.LineEdit.deactivate), REPL.LineEdit.TextInterface, REPL.LineEdit.ModeState, Any, REPL.Terminals.TextTerminal})
144 | precompile(Tuple{typeof(REPL.LineEdit.refresh_multi_line), REPL.Terminals.TerminalBuffer, REPL.LineEdit.ModeState})
145 | precompile(Tuple{REPL.LineEdit.var"#22#23"{REPL.LineEdit.var"#113#166", String}, Any, Any})
146 | precompile(Tuple{typeof(REPL.LineEdit.edit_abort), Any, Bool})
147 | precompile(Tuple{REPL.var"#63#72"{Base.IOStream}, Any})
148 |
--------------------------------------------------------------------------------
/pkgs/julia/Manifest.toml:
--------------------------------------------------------------------------------
1 | # This file is machine-generated - editing it directly is not advised
2 |
3 | [[AbstractAlgebra]]
4 | deps = ["InteractiveUtils", "LinearAlgebra", "Markdown", "Random", "RandomExtensions", "SparseArrays", "Test"]
5 | git-tree-sha1 = "0633f6981ad1f6fc01c26daef94a5241c6632e86"
6 | uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d"
7 | version = "0.13.6"
8 |
9 | [[AbstractFFTs]]
10 | deps = ["LinearAlgebra"]
11 | git-tree-sha1 = "485ee0867925449198280d4af84bdb46a2a404d0"
12 | uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c"
13 | version = "1.0.1"
14 |
15 | [[AbstractTrees]]
16 | git-tree-sha1 = "03e0550477d86222521d254b741d470ba17ea0b5"
17 | uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c"
18 | version = "0.3.4"
19 |
20 | [[Adapt]]
21 | deps = ["LinearAlgebra"]
22 | git-tree-sha1 = "ffcfa2d345aaee0ef3d8346a073d5dd03c983ebe"
23 | uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e"
24 | version = "3.2.0"
25 |
26 | [[ArnoldiMethod]]
27 | deps = ["LinearAlgebra", "Random", "StaticArrays"]
28 | git-tree-sha1 = "f87e559f87a45bece9c9ed97458d3afe98b1ebb9"
29 | uuid = "ec485272-7323-5ecc-a04f-4719b315124d"
30 | version = "0.1.0"
31 |
32 | [[Arpack]]
33 | deps = ["Arpack_jll", "Libdl", "LinearAlgebra"]
34 | git-tree-sha1 = "2ff92b71ba1747c5fdd541f8fc87736d82f40ec9"
35 | uuid = "7d9fca2a-8960-54d3-9f78-7d1dccf2cb97"
36 | version = "0.4.0"
37 |
38 | [[Arpack_jll]]
39 | deps = ["Libdl", "OpenBLAS_jll", "Pkg"]
40 | git-tree-sha1 = "e214a9b9bd1b4e1b4f15b22c0994862b66af7ff7"
41 | uuid = "68821587-b530-5797-8361-c406ea357684"
42 | version = "3.5.0+3"
43 |
44 | [[ArrayInterface]]
45 | deps = ["IfElse", "LinearAlgebra", "Requires", "SparseArrays", "Static"]
46 | git-tree-sha1 = "ce17bad65d0842b34a15fffc8879a9f68f08a67f"
47 | uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9"
48 | version = "3.1.6"
49 |
50 | [[Artifacts]]
51 | deps = ["Pkg"]
52 | git-tree-sha1 = "c30985d8821e0cd73870b17b0ed0ce6dc44cb744"
53 | uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
54 | version = "1.3.0"
55 |
56 | [[AxisAlgorithms]]
57 | deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"]
58 | git-tree-sha1 = "a4d07a1c313392a77042855df46c5f534076fab9"
59 | uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950"
60 | version = "1.0.0"
61 |
62 | [[Base64]]
63 | uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"
64 |
65 | [[BenchmarkTools]]
66 | deps = ["JSON", "Logging", "Printf", "Statistics", "UUIDs"]
67 | git-tree-sha1 = "9e62e66db34540a0c919d72172cc2f642ac71260"
68 | uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
69 | version = "0.5.0"
70 |
71 | [[Bzip2_jll]]
72 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
73 | git-tree-sha1 = "c3598e525718abcc440f69cc6d5f60dda0a1b61e"
74 | uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0"
75 | version = "1.0.6+5"
76 |
77 | [[Cairo_jll]]
78 | deps = ["Artifacts", "Bzip2_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"]
79 | git-tree-sha1 = "e2f47f6d8337369411569fd45ae5753ca10394c6"
80 | uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a"
81 | version = "1.16.0+6"
82 |
83 | [[Calculus]]
84 | deps = ["LinearAlgebra"]
85 | git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad"
86 | uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9"
87 | version = "0.5.1"
88 |
89 | [[ChainRulesCore]]
90 | deps = ["Compat", "LinearAlgebra", "SparseArrays"]
91 | git-tree-sha1 = "de4f08843c332d355852721adb1592bce7924da3"
92 | uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4"
93 | version = "0.9.29"
94 |
95 | [[Clustering]]
96 | deps = ["Distances", "LinearAlgebra", "NearestNeighbors", "Printf", "SparseArrays", "Statistics", "StatsBase"]
97 | git-tree-sha1 = "75479b7df4167267d75294d14b58244695beb2ac"
98 | uuid = "aaaa29a8-35af-508c-8bc3-b662a17a0fe5"
99 | version = "0.14.2"
100 |
101 | [[CodecBzip2]]
102 | deps = ["Bzip2_jll", "Libdl", "TranscodingStreams"]
103 | git-tree-sha1 = "2e62a725210ce3c3c2e1a3080190e7ca491f18d7"
104 | uuid = "523fee87-0ab8-5b00-afb7-3ecf72e48cfd"
105 | version = "0.7.2"
106 |
107 | [[CodecZlib]]
108 | deps = ["TranscodingStreams", "Zlib_jll"]
109 | git-tree-sha1 = "ded953804d019afa9a3f98981d99b33e3db7b6da"
110 | uuid = "944b1d66-785c-5afd-91f1-9de20f533193"
111 | version = "0.7.0"
112 |
113 | [[ColorSchemes]]
114 | deps = ["ColorTypes", "Colors", "FixedPointNumbers", "Random", "StaticArrays"]
115 | git-tree-sha1 = "3141757b5832ee7a0386db87997ee5a23ff20f4d"
116 | uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4"
117 | version = "3.10.2"
118 |
119 | [[ColorTypes]]
120 | deps = ["FixedPointNumbers", "Random"]
121 | git-tree-sha1 = "32a2b8af383f11cbb65803883837a149d10dfe8a"
122 | uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f"
123 | version = "0.10.12"
124 |
125 | [[Colors]]
126 | deps = ["ColorTypes", "FixedPointNumbers", "InteractiveUtils", "Reexport"]
127 | git-tree-sha1 = "ac5f2213e56ed8a34a3dd2f681f4df1166b34929"
128 | uuid = "5ae59095-9a9b-59fe-a467-6f913c188581"
129 | version = "0.12.6"
130 |
131 | [[Combinatorics]]
132 | git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860"
133 | uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa"
134 | version = "1.0.2"
135 |
136 | [[CommonSolve]]
137 | git-tree-sha1 = "68a0743f578349ada8bc911a5cbd5a2ef6ed6d1f"
138 | uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2"
139 | version = "0.2.0"
140 |
141 | [[CommonSubexpressions]]
142 | deps = ["MacroTools", "Test"]
143 | git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7"
144 | uuid = "bbf7d656-a473-5ed7-a52c-81e309532950"
145 | version = "0.3.0"
146 |
147 | [[Compat]]
148 | deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"]
149 | git-tree-sha1 = "919c7f3151e79ff196add81d7f4e45d91bbf420b"
150 | uuid = "34da2185-b29b-5c13-b0c7-acf172513d20"
151 | version = "3.25.0"
152 |
153 | [[CompilerSupportLibraries_jll]]
154 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
155 | git-tree-sha1 = "8e695f735fca77e9708e795eda62afdb869cbb70"
156 | uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
157 | version = "0.3.4+0"
158 |
159 | [[ConstraintSolver]]
160 | deps = ["DataStructures", "Formatting", "JSON", "JuMP", "LightGraphs", "MathOptInterface", "MatrixNetworks", "Random", "Statistics", "StatsBase", "StatsFuns"]
161 | git-tree-sha1 = "791df3ff19cfe8cf17e31447a7ebe1b75df50e15"
162 | uuid = "e0e52ebd-5523-408d-9ca3-7641f1cd1405"
163 | version = "0.6.5"
164 |
165 | [[ConstructionBase]]
166 | deps = ["LinearAlgebra"]
167 | git-tree-sha1 = "48920211c95a6da1914a06c44ec94be70e84ffff"
168 | uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9"
169 | version = "1.1.0"
170 |
171 | [[Contour]]
172 | deps = ["StaticArrays"]
173 | git-tree-sha1 = "9f02045d934dc030edad45944ea80dbd1f0ebea7"
174 | uuid = "d38c429a-6771-53c6-b99e-75d170b6e991"
175 | version = "0.5.7"
176 |
177 | [[Crayons]]
178 | git-tree-sha1 = "3f71217b538d7aaee0b69ab47d9b7724ca8afa0d"
179 | uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f"
180 | version = "4.0.4"
181 |
182 | [[DataAPI]]
183 | git-tree-sha1 = "dfb3b7e89e395be1e25c2ad6d7690dc29cc53b1d"
184 | uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a"
185 | version = "1.6.0"
186 |
187 | [[DataStructures]]
188 | deps = ["Compat", "InteractiveUtils", "OrderedCollections"]
189 | git-tree-sha1 = "4437b64df1e0adccc3e5d1adbc3ac741095e4677"
190 | uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8"
191 | version = "0.18.9"
192 |
193 | [[DataValueInterfaces]]
194 | git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6"
195 | uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464"
196 | version = "1.0.0"
197 |
198 | [[DataValues]]
199 | deps = ["DataValueInterfaces", "Dates"]
200 | git-tree-sha1 = "d88a19299eba280a6d062e135a43f00323ae70bf"
201 | uuid = "e7dc6d0d-1eca-5fa6-8ad6-5aecde8b7ea5"
202 | version = "0.4.13"
203 |
204 | [[Dates]]
205 | deps = ["Printf"]
206 | uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
207 |
208 | [[DelimitedFiles]]
209 | deps = ["Mmap"]
210 | uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab"
211 |
212 | [[DiffResults]]
213 | deps = ["StaticArrays"]
214 | git-tree-sha1 = "c18e98cba888c6c25d1c3b048e4b3380ca956805"
215 | uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5"
216 | version = "1.0.3"
217 |
218 | [[DiffRules]]
219 | deps = ["NaNMath", "Random", "SpecialFunctions"]
220 | git-tree-sha1 = "214c3fcac57755cfda163d91c58893a8723f93e9"
221 | uuid = "b552c78f-8df3-52c6-915a-8e097449b14b"
222 | version = "1.0.2"
223 |
224 | [[Distances]]
225 | deps = ["LinearAlgebra", "Statistics"]
226 | git-tree-sha1 = "366715149014943abd71aa647a07a43314158b2d"
227 | uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7"
228 | version = "0.10.2"
229 |
230 | [[Distributed]]
231 | deps = ["Random", "Serialization", "Sockets"]
232 | uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b"
233 |
234 | [[Distributions]]
235 | deps = ["FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SparseArrays", "SpecialFunctions", "Statistics", "StatsBase", "StatsFuns"]
236 | git-tree-sha1 = "e64debe8cd174cc52d7dd617ebc5492c6f8b698c"
237 | uuid = "31c24e10-a181-5473-b8eb-7969acd0382f"
238 | version = "0.24.15"
239 |
240 | [[DocStringExtensions]]
241 | deps = ["LibGit2", "Markdown", "Pkg", "Test"]
242 | git-tree-sha1 = "9d4f64f79012636741cf01133158a54b24924c32"
243 | uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
244 | version = "0.8.4"
245 |
246 | [[EarCut_jll]]
247 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
248 | git-tree-sha1 = "92d8f9f208637e8d2d28c664051a00569c01493d"
249 | uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5"
250 | version = "2.1.5+1"
251 |
252 | [[Expat_jll]]
253 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
254 | git-tree-sha1 = "1402e52fcda25064f51c77a9655ce8680b76acf0"
255 | uuid = "2e619515-83b5-522b-bb60-26c02a35a201"
256 | version = "2.2.7+6"
257 |
258 | [[ExprTools]]
259 | git-tree-sha1 = "10407a39b87f29d47ebaca8edbc75d7c302ff93e"
260 | uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04"
261 | version = "0.1.3"
262 |
263 | [[FFMPEG]]
264 | deps = ["FFMPEG_jll", "x264_jll"]
265 | git-tree-sha1 = "9a73ffdc375be61b0e4516d83d880b265366fe1f"
266 | uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a"
267 | version = "0.4.0"
268 |
269 | [[FFMPEG_jll]]
270 | deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "LibVPX_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "Pkg", "Zlib_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"]
271 | git-tree-sha1 = "3cc57ad0a213808473eafef4845a74766242e05f"
272 | uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5"
273 | version = "4.3.1+4"
274 |
275 | [[FFTW]]
276 | deps = ["AbstractFFTs", "FFTW_jll", "IntelOpenMP_jll", "Libdl", "LinearAlgebra", "MKL_jll", "Reexport"]
277 | git-tree-sha1 = "1b48dbde42f307e48685fa9213d8b9f8c0d87594"
278 | uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341"
279 | version = "1.3.2"
280 |
281 | [[FFTW_jll]]
282 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
283 | git-tree-sha1 = "5a0d4b6a22a34d17d53543bd124f4b08ed78e8b0"
284 | uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a"
285 | version = "3.3.9+7"
286 |
287 | [[FillArrays]]
288 | deps = ["LinearAlgebra", "Random", "SparseArrays"]
289 | git-tree-sha1 = "31939159aeb8ffad1d4d8ee44d07f8558273120a"
290 | uuid = "1a297f60-69ca-5386-bcde-b61e274b549b"
291 | version = "0.11.7"
292 |
293 | [[FiniteDiff]]
294 | deps = ["ArrayInterface", "LinearAlgebra", "Requires", "SparseArrays", "StaticArrays"]
295 | git-tree-sha1 = "f6f80c8f934efd49a286bb5315360be66956dfc4"
296 | uuid = "6a86dc24-6348-571c-b903-95158fe2bd41"
297 | version = "2.8.0"
298 |
299 | [[FixedPointNumbers]]
300 | deps = ["Statistics"]
301 | git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc"
302 | uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93"
303 | version = "0.8.4"
304 |
305 | [[Fontconfig_jll]]
306 | deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"]
307 | git-tree-sha1 = "35895cf184ceaab11fd778b4590144034a167a2f"
308 | uuid = "a3f928ae-7b40-5064-980b-68af3947d34b"
309 | version = "2.13.1+14"
310 |
311 | [[Formatting]]
312 | deps = ["Printf"]
313 | git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8"
314 | uuid = "59287772-0a20-5a39-b81b-1366585eb4c0"
315 | version = "0.4.2"
316 |
317 | [[ForwardDiff]]
318 | deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "NaNMath", "Random", "SpecialFunctions", "StaticArrays"]
319 | git-tree-sha1 = "c68fb7481b71519d313114dca639b35262ff105f"
320 | uuid = "f6369f11-7733-5829-9624-2563aa707210"
321 | version = "0.10.17"
322 |
323 | [[FreeType2_jll]]
324 | deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"]
325 | git-tree-sha1 = "cbd58c9deb1d304f5a245a0b7eb841a2560cfec6"
326 | uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7"
327 | version = "2.10.1+5"
328 |
329 | [[FriBidi_jll]]
330 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
331 | git-tree-sha1 = "0d20aed5b14dd4c9a2453c1b601d08e1149679cc"
332 | uuid = "559328eb-81f9-559d-9380-de523a88c83c"
333 | version = "1.0.5+6"
334 |
335 | [[Future]]
336 | deps = ["Random"]
337 | uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820"
338 |
339 | [[FuzzyCompletions]]
340 | deps = ["REPL"]
341 | git-tree-sha1 = "9cde086faa37f32794be3d2df393ff064d43cd66"
342 | uuid = "fb4132e2-a121-4a70-b8a1-d5b831dcdcc2"
343 | version = "0.4.1"
344 |
345 | [[GLFW_jll]]
346 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pkg", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll"]
347 | git-tree-sha1 = "bd1dbf065d7a4a0bdf7e74dd26cf932dda22b929"
348 | uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89"
349 | version = "3.3.3+0"
350 |
351 | [[GR]]
352 | deps = ["Base64", "DelimitedFiles", "GR_jll", "HTTP", "JSON", "LinearAlgebra", "Pkg", "Printf", "Random", "Serialization", "Sockets", "Test", "UUIDs"]
353 | git-tree-sha1 = "12d971c928b7ecf19b748a2c7df6a365690dbf2c"
354 | uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71"
355 | version = "0.55.0"
356 |
357 | [[GR_jll]]
358 | deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Pkg", "Qt_jll", "Zlib_jll", "libpng_jll"]
359 | git-tree-sha1 = "8aee6fa096b0cbdb05e71750c978b96a08c78951"
360 | uuid = "d2c73de3-f751-5644-a686-071e5b155ba9"
361 | version = "0.53.0+0"
362 |
363 | [[GeometryBasics]]
364 | deps = ["EarCut_jll", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"]
365 | git-tree-sha1 = "c7f81b22b6c255861be4007a16bfdeb60e1c7f9b"
366 | uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326"
367 | version = "0.3.11"
368 |
369 | [[Gettext_jll]]
370 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"]
371 | git-tree-sha1 = "8c14294a079216000a0bdca5ec5a447f073ddc9d"
372 | uuid = "78b55507-aeef-58d4-861c-77aaff3498b1"
373 | version = "0.20.1+7"
374 |
375 | [[Glib_jll]]
376 | deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE_jll", "Pkg", "Zlib_jll"]
377 | git-tree-sha1 = "04690cc5008b38ecbdfede949220bc7d9ba26397"
378 | uuid = "7746bdde-850d-59dc-9ae8-88ece973131d"
379 | version = "2.59.0+4"
380 |
381 | [[Grisu]]
382 | git-tree-sha1 = "03d381f65183cb2d0af8b3425fde97263ce9a995"
383 | uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe"
384 | version = "1.0.0"
385 |
386 | [[HTTP]]
387 | deps = ["Base64", "Dates", "IniFile", "MbedTLS", "NetworkOptions", "Sockets", "URIs"]
388 | git-tree-sha1 = "c9f380c76d8aaa1fa7ea9cf97bddbc0d5b15adc2"
389 | uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3"
390 | version = "0.9.5"
391 |
392 | [[HypothesisTests]]
393 | deps = ["Combinatorics", "Distributions", "LinearAlgebra", "Random", "Rmath", "Roots", "Statistics", "StatsBase"]
394 | git-tree-sha1 = "552892528991c3e17eb60e623f1ac94c0663eb7d"
395 | uuid = "09f84164-cd44-5f33-b23f-e6b0d136a0d5"
396 | version = "0.10.2"
397 |
398 | [[IfElse]]
399 | git-tree-sha1 = "28e837ff3e7a6c3cdb252ce49fb412c8eb3caeef"
400 | uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173"
401 | version = "0.1.0"
402 |
403 | [[Inflate]]
404 | git-tree-sha1 = "f5fc07d4e706b84f72d54eedcc1c13d92fb0871c"
405 | uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9"
406 | version = "0.1.2"
407 |
408 | [[IniFile]]
409 | deps = ["Test"]
410 | git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8"
411 | uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f"
412 | version = "0.5.0"
413 |
414 | [[IntelOpenMP_jll]]
415 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
416 | git-tree-sha1 = "d979e54b71da82f3a65b62553da4fc3d18c9004c"
417 | uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0"
418 | version = "2018.0.3+2"
419 |
420 | [[InteractiveUtils]]
421 | deps = ["Markdown"]
422 | uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240"
423 |
424 | [[Interpolations]]
425 | deps = ["AxisAlgorithms", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"]
426 | git-tree-sha1 = "eb1dd6d5b2275faaaa18533e0fc5f9171cec25fa"
427 | uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59"
428 | version = "0.13.1"
429 |
430 | [[IterTools]]
431 | git-tree-sha1 = "05110a2ab1fc5f932622ffea2a003221f4782c18"
432 | uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e"
433 | version = "1.3.0"
434 |
435 | [[IteratorInterfaceExtensions]]
436 | git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856"
437 | uuid = "82899510-4779-5014-852e-03e436cf321d"
438 | version = "1.0.0"
439 |
440 | [[JLLWrappers]]
441 | git-tree-sha1 = "a431f5f2ca3f4feef3bd7a5e94b8b8d4f2f647a0"
442 | uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210"
443 | version = "1.2.0"
444 |
445 | [[JSON]]
446 | deps = ["Dates", "Mmap", "Parsers", "Unicode"]
447 | git-tree-sha1 = "81690084b6198a2e1da36fcfda16eeca9f9f24e4"
448 | uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
449 | version = "0.21.1"
450 |
451 | [[JSONSchema]]
452 | deps = ["HTTP", "JSON", "ZipFile"]
453 | git-tree-sha1 = "b84ab8139afde82c7c65ba2b792fe12e01dd7307"
454 | uuid = "7d188eb4-7ad8-530c-ae41-71a32a6d4692"
455 | version = "0.3.3"
456 |
457 | [[JpegTurbo_jll]]
458 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
459 | git-tree-sha1 = "9aff0587d9603ea0de2c6f6300d9f9492bbefbd3"
460 | uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8"
461 | version = "2.0.1+3"
462 |
463 | [[JuMP]]
464 | deps = ["Calculus", "DataStructures", "ForwardDiff", "JSON", "LinearAlgebra", "MathOptInterface", "MutableArithmetics", "NaNMath", "Random", "SparseArrays", "SpecialFunctions", "Statistics"]
465 | git-tree-sha1 = "e952f49e2242fa21edcf27bbd6c67041685bee5d"
466 | uuid = "4076af6c-e467-56ae-b986-b466b2749572"
467 | version = "0.21.6"
468 |
469 | [[KahanSummation]]
470 | deps = ["Test"]
471 | git-tree-sha1 = "1f01068b28d3ad83d4d1212a0ce8d7ecacb33482"
472 | uuid = "8e2b3108-d4c1-50be-a7a2-16352aec75c3"
473 | version = "0.1.0"
474 |
475 | [[KernelDensity]]
476 | deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"]
477 | git-tree-sha1 = "09aeec87bdc9c1fa70d0b508dfa94a21acd280d9"
478 | uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b"
479 | version = "0.6.2"
480 |
481 | [[LAME_jll]]
482 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
483 | git-tree-sha1 = "df381151e871f41ee86cee4f5f6fd598b8a68826"
484 | uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d"
485 | version = "3.100.0+3"
486 |
487 | [[LZO_jll]]
488 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
489 | git-tree-sha1 = "f128cd6cd05ffd6d3df0523ed99b90ff6f9b349a"
490 | uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac"
491 | version = "2.10.0+3"
492 |
493 | [[LaTeXStrings]]
494 | git-tree-sha1 = "c7f1c695e06c01b95a67f0cd1d34994f3e7db104"
495 | uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f"
496 | version = "1.2.1"
497 |
498 | [[LabelledArrays]]
499 | deps = ["ArrayInterface", "LinearAlgebra", "MacroTools", "StaticArrays"]
500 | git-tree-sha1 = "5e288800819c323de5897fa6d5a002bdad54baf7"
501 | uuid = "2ee39098-c373-598a-b85f-a56591580800"
502 | version = "1.5.0"
503 |
504 | [[Latexify]]
505 | deps = ["Formatting", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "Printf", "Requires"]
506 | git-tree-sha1 = "a2484a6e0a48c694c41f69397657b6753e218923"
507 | uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316"
508 | version = "0.14.9"
509 |
510 | [[LazyArtifacts]]
511 | deps = ["Pkg"]
512 | git-tree-sha1 = "4bb5499a1fc437342ea9ab7e319ede5a457c0968"
513 | uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3"
514 | version = "1.3.0"
515 |
516 | [[LibGit2]]
517 | deps = ["Printf"]
518 | uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
519 |
520 | [[LibVPX_jll]]
521 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
522 | git-tree-sha1 = "85fcc80c3052be96619affa2fe2e6d2da3908e11"
523 | uuid = "dd192d2f-8180-539f-9fb4-cc70b1dcf69a"
524 | version = "1.9.0+1"
525 |
526 | [[Libdl]]
527 | uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
528 |
529 | [[Libffi_jll]]
530 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
531 | git-tree-sha1 = "a2cd088a88c0d37eef7d209fd3d8712febce0d90"
532 | uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490"
533 | version = "3.2.1+4"
534 |
535 | [[Libgcrypt_jll]]
536 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"]
537 | git-tree-sha1 = "b391a18ab1170a2e568f9fb8d83bc7c780cb9999"
538 | uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4"
539 | version = "1.8.5+4"
540 |
541 | [[Libglvnd_jll]]
542 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"]
543 | git-tree-sha1 = "7739f837d6447403596a75d19ed01fd08d6f56bf"
544 | uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29"
545 | version = "1.3.0+3"
546 |
547 | [[Libgpg_error_jll]]
548 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
549 | git-tree-sha1 = "ec7f2e8ad5c9fa99fc773376cdbc86d9a5a23cb7"
550 | uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8"
551 | version = "1.36.0+3"
552 |
553 | [[Libiconv_jll]]
554 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
555 | git-tree-sha1 = "8e924324b2e9275a51407a4e06deb3455b1e359f"
556 | uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531"
557 | version = "1.16.0+7"
558 |
559 | [[Libmount_jll]]
560 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
561 | git-tree-sha1 = "51ad0c01c94c1ce48d5cad629425035ad030bfd5"
562 | uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9"
563 | version = "2.34.0+3"
564 |
565 | [[Libtiff_jll]]
566 | deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "Zlib_jll", "Zstd_jll"]
567 | git-tree-sha1 = "291dd857901f94d683973cdf679984cdf73b56d0"
568 | uuid = "89763e89-9b03-5906-acba-b20f662cd828"
569 | version = "4.1.0+2"
570 |
571 | [[Libuuid_jll]]
572 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
573 | git-tree-sha1 = "f879ae9edbaa2c74c922e8b85bb83cc84ea1450b"
574 | uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700"
575 | version = "2.34.0+7"
576 |
577 | [[LightGraphs]]
578 | deps = ["ArnoldiMethod", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"]
579 | git-tree-sha1 = "432428df5f360964040ed60418dd5601ecd240b6"
580 | uuid = "093fc24a-ae57-5d10-9952-331d41423f4d"
581 | version = "1.3.5"
582 |
583 | [[LineSearches]]
584 | deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"]
585 | git-tree-sha1 = "f27132e551e959b3667d8c93eae90973225032dd"
586 | uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255"
587 | version = "7.1.1"
588 |
589 | [[LinearAlgebra]]
590 | deps = ["Libdl"]
591 | uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
592 |
593 | [[Logging]]
594 | uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
595 |
596 | [[MKL_jll]]
597 | deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"]
598 | git-tree-sha1 = "c253236b0ed414624b083e6b72bfe891fbd2c7af"
599 | uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7"
600 | version = "2021.1.1+1"
601 |
602 | [[MacroTools]]
603 | deps = ["Markdown", "Random"]
604 | git-tree-sha1 = "6a8a2a625ab0dea913aba95c11370589e0239ff0"
605 | uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
606 | version = "0.5.6"
607 |
608 | [[Markdown]]
609 | deps = ["Base64"]
610 | uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
611 |
612 | [[MathOptInterface]]
613 | deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "JSON", "JSONSchema", "LinearAlgebra", "MutableArithmetics", "OrderedCollections", "SparseArrays", "Test", "Unicode"]
614 | git-tree-sha1 = "606efe4246da5407d7505265a1ead72467528996"
615 | uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee"
616 | version = "0.9.20"
617 |
618 | [[MatrixNetworks]]
619 | deps = ["Arpack", "DataStructures", "DelimitedFiles", "IterTools", "KahanSummation", "LinearAlgebra", "Printf", "Random", "SparseArrays", "Statistics"]
620 | git-tree-sha1 = "f6794d987d426bab570aabb2d03e2f40ca4fc438"
621 | uuid = "4f449596-a032-5618-b826-5a251cb6dc11"
622 | version = "1.0.2"
623 |
624 | [[MbedTLS]]
625 | deps = ["Dates", "MbedTLS_jll", "Random", "Sockets"]
626 | git-tree-sha1 = "1c38e51c3d08ef2278062ebceade0e46cefc96fe"
627 | uuid = "739be429-bea8-5141-9913-cc70e7f3736d"
628 | version = "1.0.3"
629 |
630 | [[MbedTLS_jll]]
631 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
632 | git-tree-sha1 = "0eef589dd1c26a3ac9d753fe1a8bcad63f956fa6"
633 | uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"
634 | version = "2.16.8+1"
635 |
636 | [[Measures]]
637 | git-tree-sha1 = "e498ddeee6f9fdb4551ce855a46f54dbd900245f"
638 | uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e"
639 | version = "0.3.1"
640 |
641 | [[Missings]]
642 | deps = ["DataAPI"]
643 | git-tree-sha1 = "f8c673ccc215eb50fcadb285f522420e29e69e1c"
644 | uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28"
645 | version = "0.4.5"
646 |
647 | [[Mmap]]
648 | uuid = "a63ad114-7e13-5084-954f-fe012c677804"
649 |
650 | [[MsgPack]]
651 | deps = ["Serialization"]
652 | git-tree-sha1 = "a8cbf066b54d793b9a48c5daa5d586cf2b5bd43d"
653 | uuid = "99f44e22-a591-53d1-9472-aa23ef4bd671"
654 | version = "1.1.0"
655 |
656 | [[MultivariateStats]]
657 | deps = ["Arpack", "LinearAlgebra", "SparseArrays", "Statistics", "StatsBase"]
658 | git-tree-sha1 = "8d958ff1854b166003238fe191ec34b9d592860a"
659 | uuid = "6f286f6a-111f-5878-ab1e-185364afe411"
660 | version = "0.8.0"
661 |
662 | [[MutableArithmetics]]
663 | deps = ["LinearAlgebra", "SparseArrays", "Test"]
664 | git-tree-sha1 = "6b6bb8f550dc38310afd4a0af0786dc3222459e2"
665 | uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0"
666 | version = "0.2.14"
667 |
668 | [[NLSolversBase]]
669 | deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"]
670 | git-tree-sha1 = "50608f411a1e178e0129eab4110bd56efd08816f"
671 | uuid = "d41bc354-129a-5804-8e4c-c37616107c6c"
672 | version = "7.8.0"
673 |
674 | [[NaNMath]]
675 | git-tree-sha1 = "bfe47e760d60b82b66b61d2d44128b62e3a369fb"
676 | uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3"
677 | version = "0.3.5"
678 |
679 | [[NearestNeighbors]]
680 | deps = ["Distances", "StaticArrays"]
681 | git-tree-sha1 = "9afd724797039125e8e2cc362098f01dab60bc3a"
682 | uuid = "b8a86587-4115-5ab1-83bc-aa920d37bbce"
683 | version = "0.4.8"
684 |
685 | [[NetworkOptions]]
686 | git-tree-sha1 = "ed3157f48a05543cce9b241e1f2815f7e843d96e"
687 | uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908"
688 | version = "1.2.0"
689 |
690 | [[Observables]]
691 | git-tree-sha1 = "3469ef96607a6b9a1e89e54e6f23401073ed3126"
692 | uuid = "510215fc-4207-5dde-b226-833fc4488ee2"
693 | version = "0.3.3"
694 |
695 | [[OffsetArrays]]
696 | deps = ["Adapt"]
697 | git-tree-sha1 = "b3dfef5f2be7d7eb0e782ba9146a5271ee426e90"
698 | uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881"
699 | version = "1.6.2"
700 |
701 | [[Ogg_jll]]
702 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
703 | git-tree-sha1 = "a42c0f138b9ebe8b58eba2271c5053773bde52d0"
704 | uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051"
705 | version = "1.3.4+2"
706 |
707 | [[OpenBLAS_jll]]
708 | deps = ["CompilerSupportLibraries_jll", "Libdl", "Pkg"]
709 | git-tree-sha1 = "0c922fd9634e358622e333fc58de61f05a048492"
710 | uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
711 | version = "0.3.9+5"
712 |
713 | [[OpenSSL_jll]]
714 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
715 | git-tree-sha1 = "71bbbc616a1d710879f5a1021bcba65ffba6ce58"
716 | uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95"
717 | version = "1.1.1+6"
718 |
719 | [[OpenSpecFun_jll]]
720 | deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"]
721 | git-tree-sha1 = "9db77584158d0ab52307f8c04f8e7c08ca76b5b3"
722 | uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e"
723 | version = "0.5.3+4"
724 |
725 | [[Optim]]
726 | deps = ["Compat", "FillArrays", "LineSearches", "LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"]
727 | git-tree-sha1 = "3286df38aba45acf7445f3acd87b7b57b7c7feb7"
728 | uuid = "429524aa-4258-5aef-a3af-852621145aeb"
729 | version = "1.2.4"
730 |
731 | [[Opus_jll]]
732 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
733 | git-tree-sha1 = "f9d57f4126c39565e05a2b0264df99f497fc6f37"
734 | uuid = "91d4177d-7536-5919-b921-800302f37372"
735 | version = "1.3.1+3"
736 |
737 | [[OrderedCollections]]
738 | git-tree-sha1 = "4fa2ba51070ec13fcc7517db714445b4ab986bdf"
739 | uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d"
740 | version = "1.4.0"
741 |
742 | [[PCRE_jll]]
743 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
744 | git-tree-sha1 = "1b556ad51dceefdbf30e86ffa8f528b73c7df2bb"
745 | uuid = "2f80f16e-611a-54ab-bc61-aa92de5b98fc"
746 | version = "8.42.0+4"
747 |
748 | [[PDMats]]
749 | deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"]
750 | git-tree-sha1 = "f82a0e71f222199de8e9eb9a09977bd0767d52a0"
751 | uuid = "90014a1f-27ba-587c-ab20-58faa44d9150"
752 | version = "0.11.0"
753 |
754 | [[PEG]]
755 | deps = ["Test"]
756 | git-tree-sha1 = "c62b3f15184a24960131cf7e1b63dfbc6beb8040"
757 | uuid = "12d937ae-5f68-53be-93c9-3a6f997a20a8"
758 | version = "1.0.0"
759 |
760 | [[PackageCompiler]]
761 | deps = ["Libdl", "Pkg", "UUIDs"]
762 | git-tree-sha1 = "d448727c4b86be81b225b738c88d30334fda6779"
763 | uuid = "9b87118b-4619-50d2-8e1e-99f35a4d4d9d"
764 | version = "1.2.5"
765 |
766 | [[Parameters]]
767 | deps = ["OrderedCollections", "UnPack"]
768 | git-tree-sha1 = "2276ac65f1e236e0a6ea70baff3f62ad4c625345"
769 | uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a"
770 | version = "0.12.2"
771 |
772 | [[Parsers]]
773 | deps = ["Dates"]
774 | git-tree-sha1 = "c8abc88faa3f7a3950832ac5d6e690881590d6dc"
775 | uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
776 | version = "1.1.0"
777 |
778 | [[Pixman_jll]]
779 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
780 | git-tree-sha1 = "6a20a83c1ae86416f0a5de605eaea08a552844a3"
781 | uuid = "30392449-352a-5448-841d-b1acce4e97dc"
782 | version = "0.40.0+0"
783 |
784 | [[Pkg]]
785 | deps = ["Dates", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "UUIDs"]
786 | uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f"
787 |
788 | [[PlotThemes]]
789 | deps = ["PlotUtils", "Requires", "Statistics"]
790 | git-tree-sha1 = "a3a964ce9dc7898193536002a6dd892b1b5a6f1d"
791 | uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a"
792 | version = "2.0.1"
793 |
794 | [[PlotUtils]]
795 | deps = ["ColorSchemes", "Colors", "Dates", "Printf", "Random", "Reexport", "Statistics"]
796 | git-tree-sha1 = "ae9a295ac761f64d8c2ec7f9f24d21eb4ffba34d"
797 | uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043"
798 | version = "1.0.10"
799 |
800 | [[Plots]]
801 | deps = ["Base64", "Contour", "Dates", "FFMPEG", "FixedPointNumbers", "GR", "GeometryBasics", "JSON", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "PlotThemes", "PlotUtils", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs"]
802 | git-tree-sha1 = "142dd04f5060c04de91cc10ca76dffb291a02426"
803 | uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80"
804 | version = "1.10.6"
805 |
806 | [[Pluto]]
807 | deps = ["Base64", "Dates", "Distributed", "FuzzyCompletions", "HTTP", "InteractiveUtils", "Logging", "Markdown", "MsgPack", "Pkg", "REPL", "Sockets", "Tables", "UUIDs"]
808 | git-tree-sha1 = "63f2a51822bc5f402d6f1175f1ed751102f9c39a"
809 | uuid = "c3e4b0f8-55cb-11ea-2926-15256bba5781"
810 | version = "0.12.21"
811 |
812 | [[PositiveFactorizations]]
813 | deps = ["LinearAlgebra"]
814 | git-tree-sha1 = "17275485f373e6673f7e7f97051f703ed5b15b20"
815 | uuid = "85a6dd25-e78a-55b7-8502-1745935b8125"
816 | version = "0.2.4"
817 |
818 | [[Primes]]
819 | git-tree-sha1 = "afccf037da52fa596223e5a0e331ff752e0e845c"
820 | uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae"
821 | version = "0.5.0"
822 |
823 | [[Printf]]
824 | deps = ["Unicode"]
825 | uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
826 |
827 | [[Qt_jll]]
828 | deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "xkbcommon_jll"]
829 | git-tree-sha1 = "588b799506f0b956a7e6e18f767dfa03cf333f26"
830 | uuid = "ede63266-ebff-546c-83e0-1c6fb6d0efc8"
831 | version = "5.15.2+2"
832 |
833 | [[QuadGK]]
834 | deps = ["DataStructures", "LinearAlgebra"]
835 | git-tree-sha1 = "12fbe86da16df6679be7521dfb39fbc861e1dc7b"
836 | uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc"
837 | version = "2.4.1"
838 |
839 | [[REPL]]
840 | deps = ["InteractiveUtils", "Markdown", "Sockets"]
841 | uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb"
842 |
843 | [[REPLComboShell]]
844 | deps = ["PEG", "REPL"]
845 | git-tree-sha1 = "5ae9cd16cff13e8fc6c9c153c2420297a6758977"
846 | repo-rev = "master"
847 | repo-url = "https://github.com/aaronjanse/REPLComboShell.jl"
848 | uuid = "7999ad71-703a-42c8-bff7-678f9adb94f9"
849 | version = "0.3.0"
850 |
851 | [[Random]]
852 | deps = ["Serialization"]
853 | uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
854 |
855 | [[RandomExtensions]]
856 | deps = ["Random", "SparseArrays"]
857 | git-tree-sha1 = "062986376ce6d394b23d5d90f01d81426113a3c9"
858 | uuid = "fb686558-2515-59ef-acaa-46db3789a887"
859 | version = "0.4.3"
860 |
861 | [[Ratios]]
862 | git-tree-sha1 = "37d210f612d70f3f7d57d488cb3b6eff56ad4e41"
863 | uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439"
864 | version = "0.4.0"
865 |
866 | [[RecipesBase]]
867 | git-tree-sha1 = "b3fb709f3c97bfc6e948be68beeecb55a0b340ae"
868 | uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01"
869 | version = "1.1.1"
870 |
871 | [[RecipesPipeline]]
872 | deps = ["Dates", "NaNMath", "PlotUtils", "RecipesBase"]
873 | git-tree-sha1 = "c4d54a78e287de7ec73bbc928ce5eb3c60f80b24"
874 | uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c"
875 | version = "0.3.1"
876 |
877 | [[RecursiveArrayTools]]
878 | deps = ["ArrayInterface", "LinearAlgebra", "RecipesBase", "Requires", "StaticArrays", "Statistics", "ZygoteRules"]
879 | git-tree-sha1 = "271a36e18c8806332b7bd0f57e50fcff0d428b11"
880 | uuid = "731186ca-8d62-57ce-b412-fbd966d074cd"
881 | version = "2.11.0"
882 |
883 | [[Reexport]]
884 | git-tree-sha1 = "57d8440b0c7d98fc4f889e478e80f268d534c9d5"
885 | uuid = "189a3867-3050-52da-a836-e630ba90ab69"
886 | version = "1.0.0"
887 |
888 | [[ReplMaker]]
889 | deps = ["REPL", "Unicode"]
890 | git-tree-sha1 = "18bf7b1b917fb7c0eca7e273c3f97ab3e7e717c2"
891 | uuid = "b873ce64-0db9-51f5-a568-4457d8e49576"
892 | version = "0.2.4"
893 |
894 | [[Requires]]
895 | deps = ["UUIDs"]
896 | git-tree-sha1 = "4036a3bd08ac7e968e27c203d45f5fff15020621"
897 | uuid = "ae029012-a4dd-5104-9daa-d747884805df"
898 | version = "1.1.3"
899 |
900 | [[Rmath]]
901 | deps = ["Random", "Rmath_jll"]
902 | git-tree-sha1 = "86c5647b565873641538d8f812c04e4c9dbeb370"
903 | uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa"
904 | version = "0.6.1"
905 |
906 | [[Rmath_jll]]
907 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
908 | git-tree-sha1 = "1b7bf41258f6c5c9c31df8c1ba34c1fc88674957"
909 | uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f"
910 | version = "0.2.2+2"
911 |
912 | [[Roots]]
913 | deps = ["Printf"]
914 | git-tree-sha1 = "369e25546984dff5df351bc056fccc30de615080"
915 | uuid = "f2b01f46-fcfa-551c-844a-d8ac1e96c665"
916 | version = "1.0.8"
917 |
918 | [[RuntimeGeneratedFunctions]]
919 | deps = ["ExprTools", "SHA", "Serialization"]
920 | git-tree-sha1 = "e02f14dfe3a8d3b8fc92ca80c1882bfdbc015e07"
921 | uuid = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47"
922 | version = "0.5.1"
923 |
924 | [[SHA]]
925 | uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
926 |
927 | [[SciMLBase]]
928 | deps = ["ArrayInterface", "CommonSolve", "Distributed", "DocStringExtensions", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "RecipesBase", "RecursiveArrayTools", "StaticArrays", "Statistics", "Tables", "TreeViews"]
929 | git-tree-sha1 = "b85634c97d8b2df8f85d3ce7f7b78d794efea704"
930 | uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462"
931 | version = "1.8.4"
932 |
933 | [[Scratch]]
934 | deps = ["Dates"]
935 | git-tree-sha1 = "ad4b278adb62d185bbcb6864dc24959ab0627bf6"
936 | uuid = "6c6a2e73-6563-6170-7368-637461726353"
937 | version = "1.0.3"
938 |
939 | [[SentinelArrays]]
940 | deps = ["Dates", "Random"]
941 | git-tree-sha1 = "6ccde405cf0759eba835eb613130723cb8f10ff9"
942 | uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c"
943 | version = "1.2.16"
944 |
945 | [[Serialization]]
946 | uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
947 |
948 | [[Setfield]]
949 | deps = ["ConstructionBase", "Future", "MacroTools", "Requires"]
950 | git-tree-sha1 = "d5640fc570fb1b6c54512f0bd3853866bd298b3e"
951 | uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46"
952 | version = "0.7.0"
953 |
954 | [[SharedArrays]]
955 | deps = ["Distributed", "Mmap", "Random", "Serialization"]
956 | uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383"
957 |
958 | [[Showoff]]
959 | deps = ["Dates", "Grisu"]
960 | git-tree-sha1 = "ee010d8f103468309b8afac4abb9be2e18ff1182"
961 | uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f"
962 | version = "0.3.2"
963 |
964 | [[SimpleTraits]]
965 | deps = ["InteractiveUtils", "MacroTools"]
966 | git-tree-sha1 = "daf7aec3fe3acb2131388f93a4c409b8c7f62226"
967 | uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d"
968 | version = "0.9.3"
969 |
970 | [[Sockets]]
971 | uuid = "6462fe0b-24de-5631-8697-dd941f90decc"
972 |
973 | [[SortingAlgorithms]]
974 | deps = ["DataStructures", "Random", "Test"]
975 | git-tree-sha1 = "03f5898c9959f8115e30bc7226ada7d0df554ddd"
976 | uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c"
977 | version = "0.3.1"
978 |
979 | [[SparseArrays]]
980 | deps = ["LinearAlgebra", "Random"]
981 | uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
982 |
983 | [[SpecialFunctions]]
984 | deps = ["ChainRulesCore", "OpenSpecFun_jll"]
985 | git-tree-sha1 = "5919936c0e92cff40e57d0ddf0ceb667d42e5902"
986 | uuid = "276daf66-3868-5448-9aa4-cd146d93841b"
987 | version = "1.3.0"
988 |
989 | [[Static]]
990 | deps = ["IfElse"]
991 | git-tree-sha1 = "ddec5466a1d2d7e58adf9a427ba69763661aacf6"
992 | uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3"
993 | version = "0.2.4"
994 |
995 | [[StaticArrays]]
996 | deps = ["LinearAlgebra", "Random", "Statistics"]
997 | git-tree-sha1 = "9da72ed50e94dbff92036da395275ed114e04d49"
998 | uuid = "90137ffa-7385-5640-81b9-e52037218182"
999 | version = "1.0.1"
1000 |
1001 | [[Statistics]]
1002 | deps = ["LinearAlgebra", "SparseArrays"]
1003 | uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
1004 |
1005 | [[StatsBase]]
1006 | deps = ["DataAPI", "DataStructures", "LinearAlgebra", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics"]
1007 | git-tree-sha1 = "a83fa3021ac4c5a918582ec4721bc0cf70b495a9"
1008 | uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
1009 | version = "0.33.4"
1010 |
1011 | [[StatsFuns]]
1012 | deps = ["Rmath", "SpecialFunctions"]
1013 | git-tree-sha1 = "3b9f665c70712af3264b61c27a7e1d62055dafd1"
1014 | uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c"
1015 | version = "0.9.6"
1016 |
1017 | [[StatsPlots]]
1018 | deps = ["Clustering", "DataStructures", "DataValues", "Distributions", "Interpolations", "KernelDensity", "LinearAlgebra", "MultivariateStats", "Observables", "Plots", "RecipesBase", "RecipesPipeline", "Reexport", "StatsBase", "TableOperations", "Tables", "Widgets"]
1019 | git-tree-sha1 = "7c88f73b759ae16a4a1af8bda7a9563471a7baf5"
1020 | uuid = "f3b207a7-027a-5e70-b257-86293d7955fd"
1021 | version = "0.14.19"
1022 |
1023 | [[StringParserPEG]]
1024 | deps = ["InteractiveUtils", "Test"]
1025 | git-tree-sha1 = "c29fb76a8890fdd9e8a63b188c23ab65b9e8fb4c"
1026 | uuid = "b0c8ea40-1aeb-11ea-0927-b51424bf2dfe"
1027 | version = "1.1.0"
1028 |
1029 | [[StructArrays]]
1030 | deps = ["Adapt", "DataAPI", "Tables"]
1031 | git-tree-sha1 = "26ea43b4be7e919a2390c3c0f824e7eb4fc19a0a"
1032 | uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a"
1033 | version = "0.5.0"
1034 |
1035 | [[SuiteSparse]]
1036 | deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"]
1037 | uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9"
1038 |
1039 | [[SymbolicUtils]]
1040 | deps = ["AbstractAlgebra", "AbstractTrees", "Combinatorics", "ConstructionBase", "DataStructures", "IfElse", "LabelledArrays", "NaNMath", "Setfield", "SparseArrays", "SpecialFunctions", "StaticArrays", "TimerOutputs"]
1041 | git-tree-sha1 = "7176e06fb4ad726e828c72642000a2076808ea58"
1042 | uuid = "d1185830-fcd6-423d-90d6-eec64667417b"
1043 | version = "0.9.1"
1044 |
1045 | [[Symbolics]]
1046 | deps = ["AbstractAlgebra", "DiffRules", "Distributions", "DocStringExtensions", "IfElse", "Latexify", "Libdl", "LinearAlgebra", "MacroTools", "NaNMath", "RecipesBase", "Reexport", "RuntimeGeneratedFunctions", "SciMLBase", "SparseArrays", "SpecialFunctions", "SymbolicUtils", "TreeViews"]
1047 | git-tree-sha1 = "1de64578fe84c4bf621f0ae3ae821e34d3ee0e92"
1048 | uuid = "0c5d862f-8b57-4792-8d23-62f2024744c7"
1049 | version = "0.1.4"
1050 |
1051 | [[TableOperations]]
1052 | deps = ["SentinelArrays", "Tables", "Test"]
1053 | git-tree-sha1 = "a7cf690d0ac3f5b53dd09b5d613540b230233647"
1054 | uuid = "ab02a1b2-a7df-11e8-156e-fb1833f50b87"
1055 | version = "1.0.0"
1056 |
1057 | [[TableTraits]]
1058 | deps = ["IteratorInterfaceExtensions"]
1059 | git-tree-sha1 = "b1ad568ba658d8cbb3b892ed5380a6f3e781a81e"
1060 | uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c"
1061 | version = "1.0.0"
1062 |
1063 | [[Tables]]
1064 | deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "TableTraits", "Test"]
1065 | git-tree-sha1 = "a9ff3dfec713c6677af435d6a6d65f9744feef67"
1066 | uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c"
1067 | version = "1.4.1"
1068 |
1069 | [[Test]]
1070 | deps = ["Distributed", "InteractiveUtils", "Logging", "Random"]
1071 | uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
1072 |
1073 | [[TimerOutputs]]
1074 | deps = ["Printf"]
1075 | git-tree-sha1 = "32cdbe6cd2d214c25a0b88f985c9e0092877c236"
1076 | uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f"
1077 | version = "0.5.8"
1078 |
1079 | [[TranscodingStreams]]
1080 | deps = ["Random", "Test"]
1081 | git-tree-sha1 = "7c53c35547de1c5b9d46a4797cf6d8253807108c"
1082 | uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa"
1083 | version = "0.9.5"
1084 |
1085 | [[TreeViews]]
1086 | deps = ["Test"]
1087 | git-tree-sha1 = "8d0d7a3fe2f30d6a7f833a5f19f7c7a5b396eae6"
1088 | uuid = "a2a6695c-b41b-5b7d-aed9-dbfdeacea5d7"
1089 | version = "0.3.0"
1090 |
1091 | [[URIs]]
1092 | git-tree-sha1 = "7855809b88d7b16e9b029afd17880930626f54a2"
1093 | uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4"
1094 | version = "1.2.0"
1095 |
1096 | [[UUIDs]]
1097 | deps = ["Random", "SHA"]
1098 | uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
1099 |
1100 | [[UnPack]]
1101 | git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b"
1102 | uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed"
1103 | version = "1.0.2"
1104 |
1105 | [[Unicode]]
1106 | uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
1107 |
1108 | [[UnicodePlots]]
1109 | deps = ["Crayons", "Dates", "SparseArrays", "StatsBase"]
1110 | git-tree-sha1 = "1a63e6eea76b291378ff9f95801f8b6d96213208"
1111 | uuid = "b8865327-cd53-5732-bb35-84acbb429228"
1112 | version = "1.3.0"
1113 |
1114 | [[Unitful]]
1115 | deps = ["ConstructionBase", "LinearAlgebra", "Random"]
1116 | git-tree-sha1 = "fdfbea79b5b9a305bf226eb4730321f603281290"
1117 | uuid = "1986cc42-f94f-5a68-af5c-568840ba703d"
1118 | version = "1.6.0"
1119 |
1120 | [[Wayland_jll]]
1121 | deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"]
1122 | git-tree-sha1 = "dc643a9b774da1c2781413fd7b6dcd2c56bb8056"
1123 | uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89"
1124 | version = "1.17.0+4"
1125 |
1126 | [[Wayland_protocols_jll]]
1127 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll"]
1128 | git-tree-sha1 = "2839f1c1296940218e35df0bbb220f2a79686670"
1129 | uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91"
1130 | version = "1.18.0+4"
1131 |
1132 | [[Widgets]]
1133 | deps = ["Colors", "Dates", "Observables", "OrderedCollections"]
1134 | git-tree-sha1 = "fc0feda91b3fef7fe6948ee09bb628f882b49ca4"
1135 | uuid = "cc8bc4a8-27d6-5769-a93b-9d913e69aa62"
1136 | version = "0.6.2"
1137 |
1138 | [[WoodburyMatrices]]
1139 | deps = ["LinearAlgebra", "SparseArrays"]
1140 | git-tree-sha1 = "59e2ad8fd1591ea019a5259bd012d7aee15f995c"
1141 | uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6"
1142 | version = "0.5.3"
1143 |
1144 | [[XML2_jll]]
1145 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "Zlib_jll"]
1146 | git-tree-sha1 = "be0db24f70aae7e2b89f2f3092e93b8606d659a6"
1147 | uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a"
1148 | version = "2.9.10+3"
1149 |
1150 | [[XSLT_jll]]
1151 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Pkg", "XML2_jll"]
1152 | git-tree-sha1 = "2b3eac39df218762d2d005702d601cd44c997497"
1153 | uuid = "aed1982a-8fda-507f-9586-7b0439959a61"
1154 | version = "1.1.33+4"
1155 |
1156 | [[Xorg_libX11_jll]]
1157 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll", "Xorg_xtrans_jll"]
1158 | git-tree-sha1 = "5be649d550f3f4b95308bf0183b82e2582876527"
1159 | uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc"
1160 | version = "1.6.9+4"
1161 |
1162 | [[Xorg_libXau_jll]]
1163 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
1164 | git-tree-sha1 = "4e490d5c960c314f33885790ed410ff3a94ce67e"
1165 | uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec"
1166 | version = "1.0.9+4"
1167 |
1168 | [[Xorg_libXcursor_jll]]
1169 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"]
1170 | git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd"
1171 | uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724"
1172 | version = "1.2.0+4"
1173 |
1174 | [[Xorg_libXdmcp_jll]]
1175 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
1176 | git-tree-sha1 = "4fe47bd2247248125c428978740e18a681372dd4"
1177 | uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05"
1178 | version = "1.1.3+4"
1179 |
1180 | [[Xorg_libXext_jll]]
1181 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"]
1182 | git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3"
1183 | uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3"
1184 | version = "1.3.4+4"
1185 |
1186 | [[Xorg_libXfixes_jll]]
1187 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"]
1188 | git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4"
1189 | uuid = "d091e8ba-531a-589c-9de9-94069b037ed8"
1190 | version = "5.0.3+4"
1191 |
1192 | [[Xorg_libXi_jll]]
1193 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"]
1194 | git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246"
1195 | uuid = "a51aa0fd-4e3c-5386-b890-e753decda492"
1196 | version = "1.7.10+4"
1197 |
1198 | [[Xorg_libXinerama_jll]]
1199 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"]
1200 | git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123"
1201 | uuid = "d1454406-59df-5ea1-beac-c340f2130bc3"
1202 | version = "1.1.4+4"
1203 |
1204 | [[Xorg_libXrandr_jll]]
1205 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"]
1206 | git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631"
1207 | uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484"
1208 | version = "1.5.2+4"
1209 |
1210 | [[Xorg_libXrender_jll]]
1211 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"]
1212 | git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96"
1213 | uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa"
1214 | version = "0.9.10+4"
1215 |
1216 | [[Xorg_libpthread_stubs_jll]]
1217 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
1218 | git-tree-sha1 = "6783737e45d3c59a4a4c4091f5f88cdcf0908cbb"
1219 | uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74"
1220 | version = "0.1.0+3"
1221 |
1222 | [[Xorg_libxcb_jll]]
1223 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"]
1224 | git-tree-sha1 = "daf17f441228e7a3833846cd048892861cff16d6"
1225 | uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b"
1226 | version = "1.13.0+3"
1227 |
1228 | [[Xorg_libxkbfile_jll]]
1229 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"]
1230 | git-tree-sha1 = "926af861744212db0eb001d9e40b5d16292080b2"
1231 | uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a"
1232 | version = "1.1.0+4"
1233 |
1234 | [[Xorg_xcb_util_image_jll]]
1235 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"]
1236 | git-tree-sha1 = "0fab0a40349ba1cba2c1da699243396ff8e94b97"
1237 | uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b"
1238 | version = "0.4.0+1"
1239 |
1240 | [[Xorg_xcb_util_jll]]
1241 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll"]
1242 | git-tree-sha1 = "e7fd7b2881fa2eaa72717420894d3938177862d1"
1243 | uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5"
1244 | version = "0.4.0+1"
1245 |
1246 | [[Xorg_xcb_util_keysyms_jll]]
1247 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"]
1248 | git-tree-sha1 = "d1151e2c45a544f32441a567d1690e701ec89b00"
1249 | uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7"
1250 | version = "0.4.0+1"
1251 |
1252 | [[Xorg_xcb_util_renderutil_jll]]
1253 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"]
1254 | git-tree-sha1 = "dfd7a8f38d4613b6a575253b3174dd991ca6183e"
1255 | uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e"
1256 | version = "0.3.9+1"
1257 |
1258 | [[Xorg_xcb_util_wm_jll]]
1259 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"]
1260 | git-tree-sha1 = "e78d10aab01a4a154142c5006ed44fd9e8e31b67"
1261 | uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361"
1262 | version = "0.4.1+1"
1263 |
1264 | [[Xorg_xkbcomp_jll]]
1265 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxkbfile_jll"]
1266 | git-tree-sha1 = "4bcbf660f6c2e714f87e960a171b119d06ee163b"
1267 | uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4"
1268 | version = "1.4.2+4"
1269 |
1270 | [[Xorg_xkeyboard_config_jll]]
1271 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xkbcomp_jll"]
1272 | git-tree-sha1 = "5c8424f8a67c3f2209646d4425f3d415fee5931d"
1273 | uuid = "33bec58e-1273-512f-9401-5d533626f822"
1274 | version = "2.27.0+4"
1275 |
1276 | [[Xorg_xtrans_jll]]
1277 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
1278 | git-tree-sha1 = "79c31e7844f6ecf779705fbc12146eb190b7d845"
1279 | uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10"
1280 | version = "1.4.0+3"
1281 |
1282 | [[ZipFile]]
1283 | deps = ["Libdl", "Printf", "Zlib_jll"]
1284 | git-tree-sha1 = "c3a5637e27e914a7a445b8d0ad063d701931e9f7"
1285 | uuid = "a5390f91-8eb1-5f08-bee0-b1d1ffed6cea"
1286 | version = "0.9.3"
1287 |
1288 | [[Zlib_jll]]
1289 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
1290 | git-tree-sha1 = "320228915c8debb12cb434c59057290f0834dbf6"
1291 | uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
1292 | version = "1.2.11+18"
1293 |
1294 | [[Zstd_jll]]
1295 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
1296 | git-tree-sha1 = "2c1332c54931e83f8f94d310fa447fd743e8d600"
1297 | uuid = "3161d3a3-bdf6-5164-811a-617609db77b4"
1298 | version = "1.4.8+0"
1299 |
1300 | [[ZygoteRules]]
1301 | deps = ["MacroTools"]
1302 | git-tree-sha1 = "9e7a1e8ca60b742e508a315c17eef5211e7fbfd7"
1303 | uuid = "700de1a5-db45-46bc-99cf-38207098b444"
1304 | version = "0.2.1"
1305 |
1306 | [[libass_jll]]
1307 | deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"]
1308 | git-tree-sha1 = "acc685bcf777b2202a904cdcb49ad34c2fa1880c"
1309 | uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0"
1310 | version = "0.14.0+4"
1311 |
1312 | [[libfdk_aac_jll]]
1313 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
1314 | git-tree-sha1 = "7a5780a0d9c6864184b3a2eeeb833a0c871f00ab"
1315 | uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280"
1316 | version = "0.1.6+4"
1317 |
1318 | [[libpng_jll]]
1319 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"]
1320 | git-tree-sha1 = "6abbc424248097d69c0c87ba50fcb0753f93e0ee"
1321 | uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f"
1322 | version = "1.6.37+6"
1323 |
1324 | [[libvorbis_jll]]
1325 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"]
1326 | git-tree-sha1 = "fa14ac25af7a4b8a7f61b287a124df7aab601bcd"
1327 | uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a"
1328 | version = "1.3.6+6"
1329 |
1330 | [[x264_jll]]
1331 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
1332 | git-tree-sha1 = "d713c1ce4deac133e3334ee12f4adff07f81778f"
1333 | uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a"
1334 | version = "2020.7.14+2"
1335 |
1336 | [[x265_jll]]
1337 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"]
1338 | git-tree-sha1 = "487da2f8f2f0c8ee0e83f39d13037d6bbf0a45ab"
1339 | uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76"
1340 | version = "3.0.0+3"
1341 |
1342 | [[xkbcommon_jll]]
1343 | deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"]
1344 | git-tree-sha1 = "ece2350174195bb31de1a63bea3a41ae1aa593b6"
1345 | uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd"
1346 | version = "0.9.1+5"
1347 |
--------------------------------------------------------------------------------