From bbeb43787285dcb0d8d5222f6f26b0e101b1dc6f Mon Sep 17 00:00:00 2001 From: chloe caruso Date: Thu, 8 May 2025 00:19:14 -0700 Subject: [PATCH] chloe: add more programs --- modules/macos/default.nix | 6 +-- modules/nixos/default.nix | 12 ++++-- users/chloe/configuration.nix | 2 +- users/chloe/home.nix | 56 ++++++++++++++++++++++--- users/chloe/paperback/configuration.nix | 5 --- users/chloe/paperback/home.nix | 14 +++++++ users/chloe/sandwich/configuration.nix | 5 --- 7 files changed, 76 insertions(+), 24 deletions(-) delete mode 100644 users/chloe/paperback/configuration.nix create mode 100644 users/chloe/paperback/home.nix diff --git a/modules/macos/default.nix b/modules/macos/default.nix index 57d92a7e9f94f6df392d6c62bbf0a85c53f88701..23d44c71b255acf9d6983ed0c2753f6012a5e555 100644 --- a/modules/macos/default.nix +++ b/modules/macos/default.nix @@ -13,8 +13,8 @@ ]; # make 'shared.linux' not an error to define. options.shared.linux = lib.mkOption { - type = lib.types.anything; - default = {}; - description = "no-op on darwin"; + type = lib.types.anything; + default = {}; + description = "no-op on darwin"; }; } diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix index e8f99dd2749d64deff3aad98eb631d2d5f19cc39..cb547e46f2ce00200f2140e8f1b40f7e3ada9eea 100644 --- a/modules/nixos/default.nix +++ b/modules/nixos/default.nix @@ -1,4 +1,8 @@ -{ lib, pkgs, ... }: { +{ + lib, + pkgs, + ... +}: { imports = [ ./boot.nix ./ld.nix @@ -7,8 +11,8 @@ ]; # make 'shared.darwin' not an error to define. options.shared.darwin = lib.mkOption { - type = lib.types.anything; - default = {}; - description = "no-op on linux"; + type = lib.types.anything; + default = {}; + description = "no-op on linux"; }; } diff --git a/users/chloe/configuration.nix b/users/chloe/configuration.nix index 77debafedb18ba6661ae4d20a097e2852043f03c..4bbeb50378a2d296da48184ae1a15b618d4943e8 100644 --- a/users/chloe/configuration.nix +++ b/users/chloe/configuration.nix @@ -1,5 +1,5 @@ # Configuration applied to all of chloe's machines -{ pkgs, ... }: { +{pkgs, ...}: { # packages for all machines environment.systemPackages = with pkgs; [ neovim diff --git a/users/chloe/home.nix b/users/chloe/home.nix index e5a7181a9c952bab4f6eeecfeb54a0cefb17ee15..561ff867201c9a5ebbf00b3315ba17713314e4ab 100644 --- a/users/chloe/home.nix +++ b/users/chloe/home.nix @@ -2,23 +2,67 @@ inputs, pkgs, lib, + host, ... -}: { +}: let + hostServer = false; +in { home = { stateVersion = "23.05"; # Please read the comment before changing. - packages = [ - pkgs.neovim - pkgs.nh - pkgs.ffmpeg - ]; + packages = with pkgs; let + # packages to always install + all = [ + ffmpeg + ripgrep + ]; + # packages to install for desktop environments (non-server) + desktop = [ + ]; + # packages to install on all servers + server = []; + # packages to install on macOS desktops + darwin = [ + raycast + ]; + # packages to install on linux desktops + linux = [ + reaper # TODO: why does this break on macOS + ]; + in + all + ++ ( + if host.darwin + then darwin + else linux + ) + ++ ( + if hostServer + then server + else desktop + ); }; programs = { # sort-lines:start + bat.enable = true; + btop.enable = true; + fd.enable = true; hyfetch.enable = true; zsh.enable = true; # sort-lines:end # use a git-specific email git.userEmail = "git@paperclover.net"; + + ssh = { + enable = true; + matchBlocks = rec { + zenith = { + hostname = "192.168.86.50"; + user = "clo"; + port = 222; + }; + "nas.paperclover.net" = zenith; + }; + }; }; } diff --git a/users/chloe/paperback/configuration.nix b/users/chloe/paperback/configuration.nix deleted file mode 100644 index d79cf5920e35ba5f70ff2a6b24a4617a1059ec4c..0000000000000000000000000000000000000000 --- a/users/chloe/paperback/configuration.nix +++ /dev/null @@ -1,5 +0,0 @@ -{pkgs, ...}: { - environment.systemPackages = with pkgs; [ - reaper - ]; -} diff --git a/users/chloe/paperback/home.nix b/users/chloe/paperback/home.nix new file mode 100644 index 0000000000000000000000000000000000000000..ce35b977c2d0eaaa26de3ad5da0588c894db4881 --- /dev/null +++ b/users/chloe/paperback/home.nix @@ -0,0 +1,14 @@ +{pkgs, ...}: { + # these programs are not globally installed to reduce distractions. + # most of these are needed for my work environment. + programs.bun.enable = true; + programs.zed-editor.enable = true; + home.packages = with pkgs; [ + doppler + nodejs_22 + rustup + typescript + pm2 + pnpm + ]; +} diff --git a/users/chloe/sandwich/configuration.nix b/users/chloe/sandwich/configuration.nix index 5ef1b72843e23694ef9787ec17814ea6bcfdd1b4..c6686573b020ea904d8090ba824618c04580351c 100644 --- a/users/chloe/sandwich/configuration.nix +++ b/users/chloe/sandwich/configuration.nix @@ -1,9 +1,4 @@ {pkgs, ...}: { - environment.systemPackages = with pkgs; [ - ffmpeg - ripgrep - reaper - ]; shared.darwin = { macAppStoreApps = [ "final-cut-pro" -- 2.54.0