oh gosh so much mac stuff

This commit is contained in:
mehbark 2024-11-23 13:21:04 -05:00
parent d6ee31a85a
commit 2cd403dafb
9 changed files with 353 additions and 294 deletions

View file

@ -1,15 +1,10 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
build-conf:
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
conf = build-conf; conf = build-conf;
in in
{ {
nix = { nix = {
package = pkgs.nixFlakes; package = pkgs.nixVersions.stable;
optimise.automatic = true; optimise.automatic = true;
extraOptions = '' extraOptions = ''
experimental-features = nix-command flakes experimental-features = nix-command flakes

40
darwin.nix Normal file
View file

@ -0,0 +1,40 @@
{ pkgs, inputs, ... }:
{
system.stateVersion = 4;
nixpkgs.hostPlatform = "aarch64-darwin";
nixpkgs.config.allowUnfree = true;
services.nix-daemon.enable = true;
users.users.clark = {
name = "clark";
home = "/Users/clark";
};
home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = true;
nix = {
package = pkgs.nixVersions.stable;
optimise.automatic = true;
extraOptions = ''
experimental-features = nix-command flakes
'';
settings = {
substituters = [
"https://nix-community.cachix.org"
"https://lean4.cachix.org"
];
trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"lean4.cachix.org-1:mawtxSxcaiWE24xCXXgh3qnvlTkyU7evRRnGeAhD4Wk="
];
};
};
environment.variables.EDITOR = "nvim";
environment.variables.SHELL = "fish";
environment.variables.TERM = "kitty";
# BAD IDEA! I DON'T HAVE A CONCRETE REASON, MAINLY JUST VIBES
# STILL MILES BETTER THAN NIX_AUTO_INSTALL THOUGH
environment.variables.NIX_AUTO_RUN = "1";
}

View file

@ -132,7 +132,7 @@ alias zbt "zig build test"
# nix # nix
alias nrb "sudo nixos-rebuild" alias nrb "sudo nixos-rebuild"
#### END ALIASES #### #### END ALIASES ####
export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$HOME/.local/bin:$HOME/.emacs.d/bin:$PATH:$HOME/.ghcup/bin:$HOME/.cabal/bin:$HOME/hs/bin:$HOME/.cargo/bin:$HOME/.deno/bin:$HOME/Aims/curlfire" export PATH="/etc/profiles/per-user/clark/bin:/run/current-system/sw/bin:$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$HOME/.local/bin:$HOME/.emacs.d/bin:$PATH:$HOME/.ghcup/bin:$HOME/.cabal/bin:$HOME/hs/bin:$HOME/.cargo/bin:$HOME/.deno/bin:$HOME/Aims/curlfire:$HOME/.npm-global/bin"
# [ -f ~/.fzf.bash ] && source ~/.fzf.bash # [ -f ~/.fzf.bash ] && source ~/.fzf.bash
# setopt autocd # setopt autocd

View file

@ -1,5 +1,38 @@
{ {
"nodes": { "nodes": {
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1731774881,
"narHash": "sha256-1Dxryiw8u2ejntxrrv3sMtIE8WHKxmlN4KeH+uMGbmc=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "b31a6a4da8199ae3489057db7d36069a70749a56",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"fenix": { "fenix": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -9,31 +42,31 @@
"rust-analyzer-src": "rust-analyzer-src" "rust-analyzer-src": "rust-analyzer-src"
}, },
"locked": { "locked": {
"narHash": "sha256-0dZpggYjjmWEk+rGixiBHOHuQfLzEzNfrtjSig04s6Q=", "lastModified": 1727764514,
"rev": "9ccae1754eec0341b640d5705302ac0923d22875", "narHash": "sha256-tvN9v5gTxLI5zOKsNvYl1aUxIitHm8Nj3vKdXNfJo50=",
"revCount": 1618, "rev": "a9d2e5fa8d77af05240230c9569bbbddd28ccfaf",
"revCount": 2029,
"type": "tarball", "type": "tarball",
"url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.1618%2Brev-9ccae1754eec0341b640d5705302ac0923d22875/018aea4c-03c9-7734-95d5-b84cc8881e3d/source.tar.gz" "url": "https://api.flakehub.com/f/pinned/nix-community/fenix/0.1.2029%2Brev-a9d2e5fa8d77af05240230c9569bbbddd28ccfaf/01924729-44b5-7df4-a70d-d5e64656e243/source.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://flakehub.com/f/nix-community/fenix/0.1.1565.tar.gz" "url": "https://flakehub.com/f/nix-community/fenix/0.1.1584.tar.gz"
} }
}, },
"fh": { "fh": {
"inputs": { "inputs": {
"fenix": "fenix", "fenix": "fenix",
"flake-compat": "flake-compat",
"naersk": "naersk", "naersk": "naersk",
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1718572120, "lastModified": 1730931274,
"narHash": "sha256-zmnW3n1Adg47MaoBTIXDDcgFy4HCxcgNuc8LrmPK4F0=", "narHash": "sha256-QFlNSjrXU4vdiAYylS4UmDmaOcqcz9ujo0mkj4LStAo=",
"rev": "5b7e079a747f22ee1d2450c0c972d466308a928a", "rev": "46c28563e3025b7d9fe3598c9ff07c700cce07ff",
"revCount": 455, "revCount": 642,
"type": "tarball", "type": "tarball",
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/fh/0.1.12/019022e3-a731-7729-af25-f7717f950ec4/source.tar.gz" "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/fh/0.1.19/0193038e-7bda-7db1-954f-cbb2e2963d0f/source.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@ -41,35 +74,6 @@
} }
}, },
"flake-compat": { "flake-compat": {
"locked": {
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
"revCount": 57,
"type": "tarball",
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
},
"original": {
"type": "tarball",
"url": "https://flakehub.com/f/edolstra/flake-compat/1.0.1.tar.gz"
}
},
"flake-compat_2": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_3": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1696426674,
@ -103,11 +107,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1710146030, "lastModified": 1731533236,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -134,21 +138,25 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils_3": { "gitignore": {
"inputs": { "inputs": {
"systems": "systems_4" "nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
}, },
"locked": { "locked": {
"lastModified": 1705309234, "lastModified": 1709087332,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "numtide", "owner": "hercules-ci",
"repo": "flake-utils", "repo": "gitignore.nix",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "numtide", "owner": "hercules-ci",
"repo": "flake-utils", "repo": "gitignore.nix",
"type": "github" "type": "github"
} }
}, },
@ -159,11 +167,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1719037157, "lastModified": 1731968878,
"narHash": "sha256-aOKd8+mhBsLQChCu1mn/W5ww79ta5cXVE59aJFrifM8=", "narHash": "sha256-+hTCwETOE9N8voTAaF+IzdUZz28Ws3LDpH90FWADrEE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "cd886711998fe5d9ff7979fdd4b4cbd17b1f1511", "rev": "a42fa14b53ceab66274a21da480c9f8e06204173",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -188,11 +196,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718450675, "lastModified": 1728669738,
"narHash": "sha256-jpsns6buS4bK+1sF8sL8AaixAiCRjA+nldTKvcwmvUs=", "narHash": "sha256-EDNAU9AYcx8OupUzbTbWE1d3HYdeG0wO6Msg3iL1muk=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprcursor", "repo": "hyprcursor",
"rev": "66d5b46ff94efbfa6fa3d1d1b66735f1779c34a6", "rev": "0264e698149fcb857a66a53018157b41f8d97bb0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -203,20 +211,23 @@
}, },
"hyprland": { "hyprland": {
"inputs": { "inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor", "hyprcursor": "hyprcursor",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang", "hyprlang": "hyprlang",
"hyprutils": "hyprutils", "hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner", "hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems_2", "systems": "systems_2",
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1719093162, "lastModified": 1731978971,
"narHash": "sha256-WA48JNc8e3Irz0gpSE/vby67RlC+m+MJlQ6sZQId1EI=", "narHash": "sha256-iwELdS0z0Yr8e3zRIBw07ug451T0rkEfGo3+vA5/Gg0=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "7f09646ab8b5b6d9f835681d0af5d7a0dc29d8f1", "rev": "67cee430061626ccd73dc6d30eed9db289053608",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -229,21 +240,19 @@
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
"xdph",
"nixpkgs" "nixpkgs"
], ],
"systems": [ "systems": [
"hyprland", "hyprland",
"xdph",
"systems" "systems"
] ]
}, },
"locked": { "locked": {
"lastModified": 1714869498, "lastModified": 1728345020,
"narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=", "narHash": "sha256-xGbkc7U/Roe0/Cv3iKlzijIaFBNguasI31ynL2IlEoM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprland-protocols", "repo": "hyprland-protocols",
"rev": "e06482e0e611130cd1929f75e8c1cf679e57d161", "rev": "a7c183800e74f337753de186522b9017a07a8cee",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -268,11 +277,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1717881852, "lastModified": 1728168612,
"narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=", "narHash": "sha256-AnB1KfiXINmuiW7BALYrKqcjCnsLZPifhb/7BsfPbns=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprlang", "repo": "hyprlang",
"rev": "ec6938c66253429192274d612912649a0cfe4d28", "rev": "f054f2e44d6a0b74607a6bc0f52dba337a3db38e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -293,11 +302,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718804078, "lastModified": 1731702627,
"narHash": "sha256-CqRZne63BpYlPd/i8lXV0UInUt59oKogiwdVtBRHt60=", "narHash": "sha256-+JeO9gevnXannQxMfR5xzZtF4sYmSlWkX/BPmPx0mWk=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprutils", "repo": "hyprutils",
"rev": "4f1351295c55a8f51219b25aa4a6497a067989d0", "rev": "e911361a687753bbbdfe3b6a9eab755ecaf1d9e1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -318,11 +327,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718119275, "lastModified": 1726874836,
"narHash": "sha256-nqDYXATNkyGXVmNMkT19fT4sjtSPBDS1LLOxa3Fueo4=", "narHash": "sha256-VKR0sf0PSNCB0wPHVKSAn41mCNVCnegWmgkrneKDhHM=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "hyprwayland-scanner", "repo": "hyprwayland-scanner",
"rev": "1419520d5f7f38d35e05504da5c1b38212a38525", "rev": "500c81a9e1a76760371049a8d99e008ea77aa59e",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -331,38 +340,21 @@
"type": "github" "type": "github"
} }
}, },
"lean4-mode": {
"flake": false,
"locked": {
"lastModified": 1709737301,
"narHash": "sha256-uT9JN2kLNKJK9c/S/WxLjiHmwijq49EgLb+gJUSDpz0=",
"owner": "leanprover",
"repo": "lean4-mode",
"rev": "f1f24c15134dee3754b82c9d9924866fe6bc6b9f",
"type": "github"
},
"original": {
"owner": "leanprover",
"repo": "lean4-mode",
"type": "github"
}
},
"leanpkgs": { "leanpkgs": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_2",
"lean4-mode": "lean4-mode",
"nix": "nix",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
"nixpkgs-cadical": "nixpkgs-cadical",
"nixpkgs-old": "nixpkgs-old" "nixpkgs-old": "nixpkgs-old"
}, },
"locked": { "locked": {
"lastModified": 1719054319, "lastModified": 1731981752,
"narHash": "sha256-BSMOUiv5DeGNePtXlJPJGrn0lg+e5w8b01fiPRHtXGs=", "narHash": "sha256-EjshM4rodYInqktJbyjAIxZ9p7SvXvLpBK6MVyGg0sE=",
"owner": "leanprover", "owner": "leanprover",
"repo": "lean4", "repo": "lean4",
"rev": "d7da45cbe6b743a633ae2168e0394c7cd1759cfe", "rev": "7ccdfc30ffab9ad2059d89aa03627fd549e4e7f4",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -371,22 +363,6 @@
"type": "github" "type": "github"
} }
}, },
"libgit2": {
"flake": false,
"locked": {
"lastModified": 1697646580,
"narHash": "sha256-oX4Z3S9WtJlwvj0uH9HlYcWv+x1hqp8mhXl7HsLu2f0=",
"owner": "libgit2",
"repo": "libgit2",
"rev": "45fd9ed7ae1a9b74b957ef4f337bc3c8b3df01b5",
"type": "github"
},
"original": {
"owner": "libgit2",
"repo": "libgit2",
"type": "github"
}
},
"naersk": { "naersk": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -395,46 +371,45 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1713520724, "lastModified": 1721727458,
"narHash": "sha256-CO8MmVDmqZX2FovL75pu5BvwhW+Vugc7Q6ze7Hj8heI=", "narHash": "sha256-r/xppY958gmZ4oTfLiHN0ZGuQ+RSTijDblVgVLFi1mw=",
"rev": "c5037590290c6c7dae2e42e7da1e247e54ed2d49", "rev": "3fb418eaf352498f6b6c30592e3beb63df42ef11",
"revCount": 335, "revCount": 345,
"type": "tarball", "type": "tarball",
"url": "https://api.flakehub.com/f/pinned/nix-community/naersk/0.1.335%2Brev-c5037590290c6c7dae2e42e7da1e247e54ed2d49/018ef76d-0fd8-71be-8bed-58aa46d5dc3a/source.tar.gz" "url": "https://api.flakehub.com/f/pinned/nix-community/naersk/0.1.345%2Brev-3fb418eaf352498f6b6c30592e3beb63df42ef11/0190def5-5fc0-7c65-9b14-61402f53cd47/source.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://flakehub.com/f/nix-community/naersk/0.1.335.tar.gz" "url": "https://flakehub.com/f/nix-community/naersk/0.1.345.tar.gz"
} }
}, },
"nix": { "nix-darwin": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "nixpkgs": [
"libgit2": "libgit2", "nixpkgs"
"nixpkgs": "nixpkgs_3", ]
"nixpkgs-regression": "nixpkgs-regression"
}, },
"locked": { "locked": {
"lastModified": 1711102798, "lastModified": 1731885500,
"narHash": "sha256-CXOIJr8byjolqG7eqCLa+Wfi7rah62VmLoqSXENaZnw=", "narHash": "sha256-ZrztYfSOS33J+ewq5alBOSdnIyZ0/sr1iy7FyBe9zIg=",
"owner": "NixOS", "owner": "LnL7",
"repo": "nix", "repo": "nix-darwin",
"rev": "a22328066416650471c3545b0b138669ea212ab4", "rev": "c60b5c924c6188a0b3ca2e139ead3d0f92ae5db5",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "LnL7",
"repo": "nix", "repo": "nix-darwin",
"type": "github" "type": "github"
} }
}, },
"nixlib": { "nixlib": {
"locked": { "locked": {
"lastModified": 1712450863, "lastModified": 1731805462,
"narHash": "sha256-K6IkdtMtq9xktmYPj0uaYc8NsIqHuaAoRBaMgu9Fvrw=", "narHash": "sha256-yhEMW4MBi+IAyEJyiKbnFvY1uARyMKJpLUhkczI49wk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixpkgs.lib", "repo": "nixpkgs.lib",
"rev": "3c62b6a12571c9a7f65ab037173ee153d539905f", "rev": "b9f04e3cf71c23bea21d2768051e6b3068d44734",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -451,11 +426,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718025593, "lastModified": 1731892054,
"narHash": "sha256-WZ1gdKq/9u1Ns/oXuNsDm+W0salonVA0VY1amw8urJ4=", "narHash": "sha256-BJtD9NGUWaBe4OZ1JO77w8qBP9yHDJJUjsxkG/milFc=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixos-generators", "repo": "nixos-generators",
"rev": "35c20ba421dfa5059e20e0ef2343c875372bdcf3", "rev": "15a87ccb45e06d24a9fd5f99a49782efe11b23f0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -466,15 +441,32 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"narHash": "sha256-9NJcFF9CEYPvHJ5ckE8kvINvI84SZZ87PvqMbH6pro0=", "lastModified": 1729665710,
"rev": "5e4c2ada4fcd54b99d56d7bd62f384511a7e2593", "narHash": "sha256-AlcmCXJZPIlO5dmFzV3V2XF6x/OpNWUV8Y/FMPGd8Z4=",
"revCount": 534806, "rev": "2768c7d042a37de65bb1b5b3268fc987e534c49d",
"revCount": 696158,
"type": "tarball", "type": "tarball",
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.534806%2Brev-5e4c2ada4fcd54b99d56d7bd62f384511a7e2593/018b29e9-ae6d-72f2-993b-19cb9a64a3b5/source.tar.gz" "url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.696158%2Brev-2768c7d042a37de65bb1b5b3268fc987e534c49d/0192bd28-d6c0-735c-ab86-8ab9d12f7d62/source.tar.gz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
"url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.514192.tar.gz" "url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.650378.tar.gz"
}
},
"nixpkgs-cadical": {
"locked": {
"lastModified": 1722221733,
"narHash": "sha256-sga9SrrPb+pQJxG1ttJfMPheZvDOxApFfwXCFO0H9xw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "12bf09802d77264e441f48e25459c10c93eada2e",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "12bf09802d77264e441f48e25459c10c93eada2e",
"type": "github"
} }
}, },
"nixpkgs-old": { "nixpkgs-old": {
@ -494,29 +486,29 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs-regression": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1643052045, "lastModified": 1730741070,
"narHash": "sha256-uGJ0VXIhWKGXxkeNnq4TvV3CIOkUJ3PAoLZ3HMzNVMw=", "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2", "rev": "d063c1dd113c91ab27959ba540c0d9753409edf3",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "NixOS", "owner": "NixOS",
"ref": "nixos-24.05",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "215d4d0fd80ca5163643b03a33fde804a29cc1e2",
"type": "github" "type": "github"
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1718530797, "lastModified": 1731676054,
"narHash": "sha256-pup6cYwtgvzDpvpSCFh1TEUjw2zkNpk8iolbKnyFmmU=", "narHash": "sha256-OZiZ3m8SCMfh3B6bfGC/Bm4x3qc1m2SVEAlkV6iY7Yg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b60ebf54c15553b393d144357375ea956f89e9a9", "rev": "5e4fbfb6b3de1aa2872b76d49fafc942626e2add",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -528,27 +520,11 @@
}, },
"nixpkgs_3": { "nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1709083642, "lastModified": 1731890469,
"narHash": "sha256-7kkJQd4rZ+vFrzWu8sTRtta5D1kBG0LSRYAfhtmMlSo=", "narHash": "sha256-D1FNZ70NmQEwNxpSSdTXCSklBH1z2isPR84J6DQrJGs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b550fe4b4776908ac2a861124307045f8e717c8e",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "release-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": {
"lastModified": 1718983919,
"narHash": "sha256-+1xgeIow4gJeiwo4ETvMRvWoircnvb0JOt7NS9kUhoM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "90338afd6177fc683a04d934199d693708c85a3b", "rev": "5083ec887760adfe12af64830a66807423a859a7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -579,6 +555,30 @@
"url": "https://g.pyrope.net/pesterchum" "url": "https://g.pyrope.net/pesterchum"
} }
}, },
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1731363552,
"narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"root": { "root": {
"inputs": { "inputs": {
"fh": "fh", "fh": "fh",
@ -586,20 +586,20 @@
"home-manager": "home-manager", "home-manager": "home-manager",
"hyprland": "hyprland", "hyprland": "hyprland",
"leanpkgs": "leanpkgs", "leanpkgs": "leanpkgs",
"nix-darwin": "nix-darwin",
"nixos-generators": "nixos-generators", "nixos-generators": "nixos-generators",
"nixpkgs": "nixpkgs_4", "nixpkgs": "nixpkgs_3",
"pesterchum": "pesterchum", "pesterchum": "pesterchum"
"zig": "zig"
} }
}, },
"rust-analyzer-src": { "rust-analyzer-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696050837, "lastModified": 1727706011,
"narHash": "sha256-2K3Aq4gjPZBDnkAMJaMA4ElE+BNbmrqtSBWtt9kPGaM=", "narHash": "sha256-xxgUHwwJ+1xQQoUWvLDo807IZ0MDldkfr9N1G4fvNJU=",
"owner": "rust-lang", "owner": "rust-lang",
"repo": "rust-analyzer", "repo": "rust-analyzer",
"rev": "0840038f02daec6ba3238f05d8caa037d28701a0", "rev": "28830ff2f1158ee92f4852ef3ec35af0935d1562",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -654,28 +654,24 @@
"type": "github" "type": "github"
} }
}, },
"systems_4": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"xdph": { "xdph": {
"inputs": { "inputs": {
"hyprland-protocols": "hyprland-protocols", "hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [ "hyprlang": [
"hyprland", "hyprland",
"hyprlang" "hyprlang"
], ],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [ "nixpkgs": [
"hyprland", "hyprland",
"nixpkgs" "nixpkgs"
@ -686,11 +682,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1718619174, "lastModified": 1731703417,
"narHash": "sha256-FWW68AVYmB91ZDQnhLMBNCUUTCjb1ZpO2k2KIytHtkA=", "narHash": "sha256-rheDc/7C+yI+QspYr9J2z9kQ5P9F4ATapI7qyFAe1XA=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"rev": "c7894aa54f9a7dbd16df5cd24d420c8af22d5623", "rev": "8070f36deec723de71e7557441acb17e478204d3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -698,28 +694,6 @@
"repo": "xdg-desktop-portal-hyprland", "repo": "xdg-desktop-portal-hyprland",
"type": "github" "type": "github"
} }
},
"zig": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1719188778,
"narHash": "sha256-eDOJ5IDiMvgVHsoo7fDO6FzYvFkFRxprtNoOij/xzsQ=",
"owner": "mitchellh",
"repo": "zig-overlay",
"rev": "9adfab2de763981ca5267fe09a5e9f14e731f13e",
"type": "github"
},
"original": {
"owner": "mitchellh",
"repo": "zig-overlay",
"type": "github"
}
} }
}, },
"root": "root", "root": "root",

View file

@ -22,12 +22,12 @@
leanpkgs.url = "github:leanprover/lean4"; leanpkgs.url = "github:leanprover/lean4";
leanpkgs.inputs.nixpkgs.follows = "nixpkgs"; leanpkgs.inputs.nixpkgs.follows = "nixpkgs";
zig.url = "github:mitchellh/zig-overlay";
zig.inputs.nixpkgs.follows = "nixpkgs";
# for l8r :::;) # for l8r :::;)
#homeage.url = "github:jordanisaacs/homeage"; #homeage.url = "github:jordanisaacs/homeage";
#homeage.inputs.nixpkgs.follows = "nixpkgs"; #homeage.inputs.nixpkgs.follows = "nixpkgs";
nix-darwin.url = "github:LnL7/nix-darwin";
nix-darwin.inputs.nixpkgs.follows = "nixpkgs";
}; };
outputs = inputs@{ outputs = inputs@{
@ -40,7 +40,7 @@
fh, fh,
pesterchum, pesterchum,
leanpkgs, leanpkgs,
zig, nix-darwin,
... ...
}: }:
let let
@ -58,7 +58,6 @@
leanpkgs = leanpkgs.packages.x86_64-linux; leanpkgs = leanpkgs.packages.x86_64-linux;
more-packages = [ more-packages = [
pesterchum.packages.x86_64-linux.default pesterchum.packages.x86_64-linux.default
zig.packages.x86_64-linux."0.13.0"
]; ];
}; };
} }
@ -70,8 +69,7 @@
]; ];
in in
{ {
nixosConfigurations = nixosConfigurations = {
{
nix = nixpkgs.lib.nixosSystem { nix = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
inherit modules; inherit modules;
@ -88,6 +86,21 @@
] else modules; ] else modules;
}; };
darwinConfigurations = {
mac = nix-darwin.lib.darwinSystem {
modules = [
./darwin.nix
home-manager.darwinModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.clark = import ./home.nix {inherit conf; darwin = true;};
}
];
specialArgs = { inherit inputs; };
};
};
# meh, doesn't rly work # meh, doesn't rly work
packages.x86_64-linux = { packages.x86_64-linux = {
iso = nixos-generators.nixosGenerate { iso = nixos-generators.nixosGenerate {

127
home.nix
View file

@ -1,18 +1,12 @@
{ conf, more-packages ? [], leanpkgs }: { conf, more-packages ? [], leanpkgs ? false, darwin ? false }:
{ config, pkgs, ... }: { config, pkgs, ... }:
let let
wm = conf.wm; wm = conf.wm;
in in
{ {
/* The home.stateVersion option does not have a default and must be set */
home.stateVersion = "22.05"; home.stateVersion = "22.05";
home.packages = with pkgs; [ home.packages = with pkgs; [
firefox
# ugh
chromium
# bsdgames # bsdgames
# CRITICAL THREE # CRITICAL THREE
fortune fortune
@ -22,17 +16,11 @@ in
# mono5 # mono5
nethack nethack
angband angband
brogue brogue-ce
# cataclysm-dda # cataclysm-dda
keeperrl
# adom # adom
openrct2
# not yet # not yet
# celeste64 # celeste64
tetrio-desktop
# foliate
# thunderbird
prismlauncher
starship starship
eza eza
@ -59,82 +47,110 @@ in
chez chez
guile guile
gambit gambit
racket
clojure clojure
ruby_3_3 ruby_3_3
julia ruby-lsp
rubocop
lua lua
gcc maxima
zls zls
cargo # ocaml
clippy # ocamlPackages.utop
rustc # ocamlPackages.ocaml-lsp
rustfmt # ocamlPackages.ocamlformat
idris2 idris2
# might as well use it consistently # might as well use it consistently
leanpkgs.lean-all
# (builtins.foldl' (a: b: "${a} ${b}") "" (builtins.attrNames leanpkgs)) # (builtins.foldl' (a: b: "${a} ${b}") "" (builtins.attrNames leanpkgs))
haskell-language-server haskell-language-server
typst typst
discord
steam
steam-run
gamemode
rare
minigalaxy
slipstream slipstream
obs-studio
# drm more like pooprm # drm more like pooprm
# might as well use a newer version # might as well use a newer version
#(itch.override {electron_11 = electron_22;}) #(itch.override {electron_11 = electron_22;})
fzf fzf
kolourpaint
# yeah # yeah
audacious
audacity audacity
ffmpeg ffmpeg
libjxl libjxl
exiftool exiftool
godot_4
blender
akku akku
ripgrep ripgrep
tldr tldr
htop htop
pv pv
helix helix
numbat # numbat
hyperfine hyperfine
lm_sensors
libnotify libnotify
hunspell hunspell
aspell aspell
libsForQt5.krunner-symbols
libsForQt5.khotkeys
libsForQt5.kio
mpv
yt-dlp yt-dlp
qbittorrent qbittorrent
lmms
helm
obsidian obsidian
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) (nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
lmmath lmmath
julia-mono julia-mono
# glow and gum are a good example of something that should really be in a flake.nix or whatever ] ++ more-packages
] ++ more-packages; ++ (if leanpkgs then [leanpkgs.lean4-mode leanpkgs.lean-all] else [])
++ (if darwin then [
m-cli
libiconvReal
# (racket-minimal.overrideAttrs (finalAttrs: previousAttrs: {
# configureFlags = [
# "--enable-${previousAttrs.shared}"
# "--enable-lt=${pkgs.libtool}/bin/libtool"
# "--enable-macprefix"
# ];
# }))
pkg-config
rustup
podman
] else [
racket
mpv
gcc
julia
godot_4
blender
firefox
chromium
steam
steam-run
gamemode
rare
minigalaxy
openrct2
obs-studio
kolourpaint
audacious
lm_sensors
libsForQt5.krunner-symbols
libsForQt5.khotkeys
libsForQt5.kio
lmms
helm
cargo
clippy
rustc
rustfmt
]);
home.file = {
".config/kitty/kitty.app.png".source = pkgs.fetchurl {
url = "https://raw.githubusercontent.com/samholmes/whiskers/main/whiskers.png";
hash = "sha256-By6sRGNyK5Myk608crIO2vrnixZ0dJjoW26Y1I23Dto=";
};
};
programs.fish = { programs.fish = {
enable = true; enable = true;
@ -142,12 +158,14 @@ in
shellInit = import ./fish.conf.nix; shellInit = import ./fish.conf.nix;
}; };
programs.zsh.enable = true;
programs.vscode = { programs.vscode = {
enable = true; enable = true;
enableUpdateCheck = false; enableUpdateCheck = false;
# i prefer to let vscode manage stuff # i prefer to let vscode manage stuff
mutableExtensionsDir = true; mutableExtensionsDir = true;
userSettings = (import ./vscode-settings.nix) { rust-analyzer = pkgs.rust-analyzer; }; userSettings = (import ./vscode-settings.nix) { inherit pkgs; };
}; };
programs.neovim = { programs.neovim = {
@ -251,6 +269,7 @@ in
directory = "*"; directory = "*";
}; };
core.autocrlf = false; core.autocrlf = false;
init.defaultBranch = "main";
}; };
}; };
@ -336,7 +355,6 @@ in
package = pkgs.emacs29-pgtk; package = pkgs.emacs29-pgtk;
extraPackages = epkgs: with epkgs; [ extraPackages = epkgs: with epkgs; [
lsp-mode lsp-mode
leanpkgs.lean4-mode
markdown-mode markdown-mode
yaml-mode yaml-mode
json-mode json-mode
@ -345,6 +363,8 @@ in
haskell-mode haskell-mode
zig-mode zig-mode
quack
which-key which-key
all-the-icons-ivy all-the-icons-ivy
bind-key bind-key
@ -372,6 +392,7 @@ in
geiser-chez geiser-chez
geiser-guile geiser-guile
geiser-gambit geiser-gambit
geiser-racket
macrostep-geiser macrostep-geiser
evil evil
evil-leader evil-leader
@ -391,6 +412,8 @@ in
direnv direnv
esup esup
maxima
]; ];
# apparently errors in the config matter? nvm? # apparently errors in the config matter? nvm?
extraConfig = (import ./init.el.nix) pkgs; extraConfig = (import ./init.el.nix) pkgs;
@ -399,8 +422,10 @@ in
programs.direnv.enable = true; programs.direnv.enable = true;
programs.direnv.nix-direnv.enable = true; programs.direnv.nix-direnv.enable = true;
# services.syncthing = { programs.home-manager.enable = true;
# enable = true;
# tray.enable = true; services.syncthing = {
# }; enable = true;
tray.enable = !darwin;
};
} }

View file

@ -770,7 +770,7 @@ If the new path's directories does not exist, create them."
; (use-package geiser-chez ; (use-package geiser-chez
; :ensure t ; :ensure t
; :config ; :config
(setq geiser-active-implementations '(chez guile gambit)) (setq geiser-active-implementations '(chez guile gambit racket))
;(setq geiser-chez-binary "/usr/bin/chez") ;(setq geiser-chez-binary "/usr/bin/chez")
(setq geiser-repl-query-on-kill-p nil) (setq geiser-repl-query-on-kill-p nil)
; ) ; )
@ -825,16 +825,6 @@ If the new path's directories does not exist, create them."
(add-hook 'sly-db-hook 'turn-off-evil-mode) (add-hook 'sly-db-hook 'turn-off-evil-mode)
;;; Emacs Bedrock
;;;
;;; Extra config: Vim emulation
;;; Usage: Append or require this file from init.el for bindings in Emacs.
;;; Contents:
;;;
;;; - Core Packages
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; ;;;
;;; Core Packages ;;; Core Packages
@ -1069,4 +1059,13 @@ If the new path's directories does not exist, create them."
; yay ; yay
(setq confirm-kill-processes nil) (setq confirm-kill-processes nil)
(setq auto-save-interval 100) (setq auto-save-interval 100)
(use-package maxima
:init
(setq org-format-latex-options (plist-put org-format-latex-options :scale 2.0)
maxima-display-maxima-buffer nil)
(add-to-list 'auto-mode-alist
(cons "\\.mac\\'" 'maxima-mode))
(add-to-list 'interpreter-mode-alist
(cons "maxima" 'maxima-mode)))
'' ''

12
map-right.rkt Normal file
View file

@ -0,0 +1,12 @@
#lang pie
(claim Either.mapRight
(Pi ([L U] [OldRightT U] [NewRightT U] )
(-> (-> OldRightT NewRightT) (Either L OldRightT)
(Either L NewRightT))))
(define Either.mapRight (lambda (L _b OldRightT) (lambda (f either)
(ind-Either
either
(lambda (oldEither) (Either L NewRightT))
(lambda (l) (left l))
(lambda (r) (right (f r)))))))

View file

@ -1,4 +1,4 @@
{ rust-analyzer }: { pkgs }:
{ {
"C_Cpp.clang_format_fallbackStyle" = "WebKit"; "C_Cpp.clang_format_fallbackStyle" = "WebKit";
"[c]" = { "[c]" = {
@ -128,7 +128,7 @@
"ruby.codeCompletion" = "rcodetools"; "ruby.codeCompletion" = "rcodetools";
"ruby.format" = "prettier"; "ruby.format" = "prettier";
"ruby.intellisense" = "rubyLocate"; "ruby.intellisense" = "rubyLocate";
"rust-analyzer.server.path" = "${rust-analyzer}/bin/rust-analyzer"; "rust-analyzer.server.path" = "${pkgs.rust-analyzer}/bin/rust-analyzer";
"rust-analyzer.checkOnSave.command" = "clippy"; "rust-analyzer.checkOnSave.command" = "clippy";
"rust-analyzer.checkOnSave.extraArgs" = [ "--" "-W" "clippy::pedantic" ]; "rust-analyzer.checkOnSave.extraArgs" = [ "--" "-W" "clippy::pedantic" ];
"rust-analyzer.debug.openDebugPane" = true; "rust-analyzer.debug.openDebugPane" = true;
@ -168,7 +168,7 @@
"vim.easymotion" = true; "vim.easymotion" = true;
"vim.handleKeys" = { "<C-t>" = false; }; "vim.handleKeys" = { "<C-t>" = false; };
"vim.highlightedyank.enable" = true; "vim.highlightedyank.enable" = true;
"vim.leader" = ";"; "vim.leader" = " ";
"vim.normalModeKeyBindings" = [ "vim.normalModeKeyBindings" = [
{ {
after = [ "g" "j" ]; after = [ "g" "j" ];
@ -350,4 +350,5 @@
"zig.zls.enabled" = true; "zig.zls.enabled" = true;
"zig.zls.path" = "zig.zls.path" =
"/home/mbk/.config/Code/User/globalStorage/ziglang.vscode-zig/zls_install/zls"; "/home/mbk/.config/Code/User/globalStorage/ziglang.vscode-zig/zls_install/zls";
"purescript.exportsCodeLens" = false;
} }