| author | |
| committer | |
| log | bbeb43787285dcb0d8d5222f6f26b0e101b1dc6f |
| tree | 6e9e0e89b9b121bcc6412c79e82443d83abeae19 |
| parent | 63d08c5d308557c29f23b7e3158288cc8d83b59d |
7 files changed, 76 insertions(+), 24 deletions(-)
modules/macos/default.nix+3-3| ... | ... | @@ -13,8 +13,8 @@ |
| 13 | 13 | ]; |
| 14 | 14 | # make 'shared.linux' not an error to define. |
| 15 | 15 | options.shared.linux = lib.mkOption { |
| 16 | type = lib.types.anything; | |
| 17 | default = {}; | |
| 18 | description = "no-op on darwin"; | |
| 16 | type = lib.types.anything; | |
| 17 | default = {}; | |
| 18 | description = "no-op on darwin"; | |
| 19 | 19 | }; |
| 20 | 20 | } |
modules/nixos/default.nix+8-4| ... | ... | @@ -1,4 +1,8 @@ |
| 1 | { lib, pkgs, ... }: { | |
| 1 | { | |
| 2 | lib, | |
| 3 | pkgs, | |
| 4 | ... | |
| 5 | }: { | |
| 2 | 6 | imports = [ |
| 3 | 7 | ./boot.nix |
| 4 | 8 | ./ld.nix |
| ... | ... | @@ -7,8 +11,8 @@ |
| 7 | 11 | ]; |
| 8 | 12 | # make 'shared.darwin' not an error to define. |
| 9 | 13 | options.shared.darwin = lib.mkOption { |
| 10 | type = lib.types.anything; | |
| 11 | default = {}; | |
| 12 | description = "no-op on linux"; | |
| 14 | type = lib.types.anything; | |
| 15 | default = {}; | |
| 16 | description = "no-op on linux"; | |
| 13 | 17 | }; |
| 14 | 18 | } |
users/chloe/configuration.nix+1-1| ... | ... | @@ -1,5 +1,5 @@ |
| 1 | 1 | # Configuration applied to all of chloe's machines |
| 2 | { pkgs, ... }: { | |
| 2 | {pkgs, ...}: { | |
| 3 | 3 | # packages for all machines |
| 4 | 4 | environment.systemPackages = with pkgs; [ |
| 5 | 5 | neovim |
users/chloe/home.nix+50-6| ... | ... | @@ -2,23 +2,67 @@ |
| 2 | 2 | inputs, |
| 3 | 3 | pkgs, |
| 4 | 4 | lib, |
| 5 | host, | |
| 5 | 6 | ... |
| 6 | }: { | |
| 7 | }: let | |
| 8 | hostServer = false; | |
| 9 | in { | |
| 7 | 10 | home = { |
| 8 | 11 | stateVersion = "23.05"; # Please read the comment before changing. |
| 9 | packages = [ | |
| 10 | pkgs.neovim | |
| 11 | pkgs.nh | |
| 12 | pkgs.ffmpeg | |
| 13 | ]; | |
| 12 | packages = with pkgs; let | |
| 13 | # packages to always install | |
| 14 | all = [ | |
| 15 | ffmpeg | |
| 16 | ripgrep | |
| 17 | ]; | |
| 18 | # packages to install for desktop environments (non-server) | |
| 19 | desktop = [ | |
| 20 | ]; | |
| 21 | # packages to install on all servers | |
| 22 | server = []; | |
| 23 | # packages to install on macOS desktops | |
| 24 | darwin = [ | |
| 25 | raycast | |
| 26 | ]; | |
| 27 | # packages to install on linux desktops | |
| 28 | linux = [ | |
| 29 | reaper # TODO: why does this break on macOS | |
| 30 | ]; | |
| 31 | in | |
| 32 | all | |
| 33 | ++ ( | |
| 34 | if host.darwin | |
| 35 | then darwin | |
| 36 | else linux | |
| 37 | ) | |
| 38 | ++ ( | |
| 39 | if hostServer | |
| 40 | then server | |
| 41 | else desktop | |
| 42 | ); | |
| 14 | 43 | }; |
| 15 | 44 | programs = { |
| 16 | 45 | # sort-lines:start |
| 46 | bat.enable = true; | |
| 47 | btop.enable = true; | |
| 48 | fd.enable = true; | |
| 17 | 49 | hyfetch.enable = true; |
| 18 | 50 | zsh.enable = true; |
| 19 | 51 | # sort-lines:end |
| 20 | 52 | |
| 21 | 53 | # use a git-specific email |
| 22 | 54 | git.userEmail = "git@paperclover.net"; |
| 55 | ||
| 56 | ssh = { | |
| 57 | enable = true; | |
| 58 | matchBlocks = rec { | |
| 59 | zenith = { | |
| 60 | hostname = "192.168.86.50"; | |
| 61 | user = "clo"; | |
| 62 | port = 222; | |
| 63 | }; | |
| 64 | "nas.paperclover.net" = zenith; | |
| 65 | }; | |
| 66 | }; | |
| 23 | 67 | }; |
| 24 | 68 | } |
users/chloe/paperback/configuration.nix deleted-5| ... | ... | @@ -1,5 +0,0 @@ |
| 1 | {pkgs, ...}: { | |
| 2 | environment.systemPackages = with pkgs; [ | |
| 3 | reaper | |
| 4 | ]; | |
| 5 | } |
users/chloe/paperback/home.nix created+14| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | {pkgs, ...}: { | |
| 2 | # these programs are not globally installed to reduce distractions. | |
| 3 | # most of these are needed for my work environment. | |
| 4 | programs.bun.enable = true; | |
| 5 | programs.zed-editor.enable = true; | |
| 6 | home.packages = with pkgs; [ | |
| 7 | doppler | |
| 8 | nodejs_22 | |
| 9 | rustup | |
| 10 | typescript | |
| 11 | pm2 | |
| 12 | pnpm | |
| 13 | ]; | |
| 14 | } |
users/chloe/sandwich/configuration.nix-5| ... | ... | @@ -1,9 +1,4 @@ |
| 1 | 1 | {pkgs, ...}: { |
| 2 | environment.systemPackages = with pkgs; [ | |
| 3 | ffmpeg | |
| 4 | ripgrep | |
| 5 | reaper | |
| 6 | ]; | |
| 7 | 2 | shared.darwin = { |
| 8 | 3 | macAppStoreApps = [ |
| 9 | 4 | "final-cut-pro" |