├── README.md ├── darwin-configuration.nix ├── dictionary.txt ├── fish.nix ├── home-manager.nix └── homebrew.nix /README.md: -------------------------------------------------------------------------------- 1 | - Install homebrew 2 | - Install nix 3 | - Install nix-darwin 4 | - Clone/download this repo to `~/.nixpkgs` 5 | - `darwin-rebuild switch` 6 | - Configure Amethyst to only manage Firefox, Visual Studio Code, and Chromium (float everything else) 7 | -------------------------------------------------------------------------------- /darwin-configuration.nix: -------------------------------------------------------------------------------- 1 | { config, lib, pkgs, ... }: 2 | 3 | { 4 | imports = [ ]; 5 | 6 | environment.variables = { 7 | EDITOR = "vim"; 8 | }; 9 | 10 | environment.shells = [ pkgs.fish ]; 11 | 12 | environment.systemPackages = 13 | [ 14 | pkgs.vim 15 | pkgs.fish 16 | pkgs.zsh 17 | pkgs.git 18 | pkgs.nixpkgs-fmt 19 | # pkgs.qmk 20 | ]; 21 | 22 | environment.etc = { 23 | hosts = { 24 | enable = true; 25 | text = 26 | '' 27 | 127.0.0.1 localhost 28 | 255.255.255.255 broadcasthost 29 | ::1 localhost 30 | ''; 31 | }; 32 | }; 33 | 34 | users.users.casey = { 35 | name = "casey"; 36 | home = "/Users/casey"; 37 | shell = pkgs.fish; 38 | }; 39 | 40 | home-manager.users.casey = import ./home-manager.nix; 41 | 42 | home-manager.useGlobalPkgs = true; 43 | 44 | homebrew = import ./homebrew.nix; 45 | 46 | fonts.packages = [ 47 | pkgs.fira-code 48 | pkgs.nerdfonts 49 | pkgs.google-fonts 50 | pkgs.font-awesome 51 | ]; 52 | 53 | # Auto upgrade nix package and the daemon service 54 | services.nix-daemon.enable = true; 55 | nix.package = pkgs.nix; 56 | 57 | # Use nix-darwin environment w/ installed shells 58 | programs.zsh.enable = true; 59 | programs.fish.enable = true; 60 | 61 | # Used for backwards compatibility, please read the changelog before changing 62 | # $ darwin-rebuild changelog 63 | system.stateVersion = 4; 64 | 65 | nix.extraOptions = 66 | '' 67 | keep-outputs = true 68 | extra-platforms = x86_64-darwin 69 | trusted-users = root casey 70 | extra-experimental-features = nix-command 71 | ''; 72 | } 73 | -------------------------------------------------------------------------------- /dictionary.txt: -------------------------------------------------------------------------------- 1 | # Custom Dictionary Words (used by cspell) 2 | accum 3 | bifunctor 4 | chsh 5 | concat 6 | customerio 7 | delim 8 | direnv 9 | dotfiles 10 | foldl 11 | foldr 12 | freqs 13 | gitpkg 14 | haml 15 | javascript 16 | javascripts 17 | keybase 18 | mconcat 19 | mempty 20 | mixpanel 21 | nixpkgs 22 | nocache 23 | noflicker 24 | optimizely 25 | pardot 26 | preload 27 | scanl 28 | scanr 29 | segmentio 30 | signup 31 | strs 32 | stylesheet 33 | uncurry 34 | unwords 35 | userflow 36 | adblocker 37 | adblockers 38 | datetime 39 | newrelic 40 | killswitch 41 | eslint 42 | esbuild 43 | camelcase 44 | domready 45 | noredink 46 | bugsnag 47 | rgba 48 | autofocus 49 | posix 50 | keydown 51 | keyframe 52 | keyframes 53 | passcode 54 | -------------------------------------------------------------------------------- /fish.nix: -------------------------------------------------------------------------------- 1 | { pkgs }: { 2 | enable = true; 3 | plugins = [ 4 | { 5 | name = "z"; 6 | src = pkgs.fetchFromGitHub { 7 | owner = "jethrokuan"; 8 | repo = "z"; 9 | rev = "85f863f20f24faf675827fb00f3a4e15c7838d76"; 10 | sha256 = "+FUBM7CodtZrYKqU542fQD+ZDGrd2438trKM0tIESs0="; 11 | }; 12 | } 13 | { 14 | name = "done"; 15 | src = pkgs.fetchFromGitHub { 16 | owner = "franciscolourenco"; 17 | repo = "done"; 18 | rev = "d6abb267bb3fb7e987a9352bc43dcdb67bac9f06"; 19 | sha256 = "6oeyN9ngXWvps1c5QAUjlyPDQwRWAoxBiVTNmZ4sG8E="; 20 | }; 21 | } 22 | { 23 | name = "pisces"; 24 | src = pkgs.fetchFromGitHub { 25 | owner = "laughedelic"; 26 | repo = "pisces"; 27 | rev = "e45e0869855d089ba1e628b6248434b2dfa709c4"; 28 | sha256 = "Oou2IeNNAqR00ZT3bss/DbhrJjGeMsn9dBBYhgdafBw="; 29 | 30 | }; 31 | } 32 | ]; 33 | } 34 | -------------------------------------------------------------------------------- /home-manager.nix: -------------------------------------------------------------------------------- 1 | { pkgs, lib, ... }: { 2 | home.username = "casey"; 3 | home.homeDirectory = "/Users/casey"; 4 | home.stateVersion = "23.05"; 5 | 6 | home.packages = 7 | [ 8 | pkgs.ripgrep 9 | pkgs.p7zip 10 | pkgs.tree 11 | pkgs.starship 12 | pkgs.direnv 13 | pkgs.git-lfs 14 | pkgs.cachix 15 | pkgs.gnupg 16 | pkgs.pass 17 | pkgs.pass-git-helper 18 | pkgs.tealdeer 19 | pkgs.neovim 20 | pkgs.nodejs 21 | pkgs.difftastic 22 | pkgs.pre-commit 23 | pkgs.xsv 24 | ]; 25 | 26 | home.sessionPath = [ 27 | "/opt/homebrew/bin" 28 | ]; 29 | 30 | programs.fish = import ./fish.nix { pkgs = pkgs; }; 31 | programs.starship.enable = true; 32 | programs.direnv = { 33 | enable = true; 34 | nix-direnv.enable = true; 35 | }; 36 | programs.home-manager.enable = true; 37 | programs.gpg.enable = true; 38 | } 39 | -------------------------------------------------------------------------------- /homebrew.nix: -------------------------------------------------------------------------------- 1 | { 2 | enable = true; 3 | brews = [ 4 | ]; 5 | casks = [ 6 | "1password" 7 | "amethyst" 8 | "arc" 9 | "beekeeper-studio" 10 | "element" 11 | "figma" 12 | "firefox" 13 | "linear-linear" 14 | "signal" 15 | "slack" 16 | "visual-studio-code" 17 | "zed" 18 | "zoom" 19 | ]; 20 | masApps = { 21 | Tailscale = 1475387142; 22 | }; 23 | onActivation = 24 | { 25 | autoUpdate = true; 26 | cleanup = "zap"; 27 | upgrade = true; 28 | }; 29 | } 30 | --------------------------------------------------------------------------------