Nix configurations for my personal machines (Linux & macOS)
1{ 2 delib, 3 pkgs, 4 ... 5}: 6delib.module { 7 name = "programs.core-cli"; 8 9 options = delib.singleEnableOption true; 10 11 nixos.always = { 12 environment.systemPackages = with pkgs; [ 13 ffmpeg-full 14 fuzzel 15 git 16 nil 17 niri 18 openssh 19 p7zip 20 pciutils 21 solaar 22 sysstat 23 unar 24 wget 25 wineWowPackages.full 26 ]; 27 28 programs.fish.enable = true; 29 }; 30 31 darwin.always = { 32 environment.systemPackages = with pkgs; [ 33 ffmpeg-full 34 git 35 imagemagick 36 nil 37 openssh 38 wget 39 # TODO: the Xcode packages makes us manually download and put it into the Nix store 40 # but it seems to contain no reference to our actual result so I don't think `systemPackages` 41 # picks it up properly. Need to see how `requireFile` works and how `systemPackages` 42 # works under the hood. 43 # darwin.xcode_14_1 44 ]; 45 46 programs.bash.enable = true; 47 programs.zsh.enable = true; 48 programs.fish.enable = true; 49 50 # Fix problem in nix-darwin relating to $PATH order in fish. 51 # https://github.com/LnL7/nix-darwin/issues/122#issuecomment-1659465635 52 # programs.fish.loginShellInit = let 53 # dquote = str: "\"${str}\""; 54 # makeBinPathList = map (path: path + "/bin"); 55 # in '' 56 # fish_add_path --move --prepend --path ${lib.concatMapStringsSep " " dquote (makeBinPathList config.environment.profiles)} 57 # set fish_user_paths $fish_user_paths 58 # fish_add_path /opt/homebrew/bin 59 # ''; 60 61 programs.fish.loginShellInit = '' 62 alias tailscale /Applications/Tailscale.app/Contents/MacOS/Tailscale 63 ''; 64 }; 65 66 home.always = { 67 home.packages = with pkgs; [ 68 curlie 69 du-dust 70 duf 71 fd 72 jq 73 nix-your-shell 74 ripgrep 75 ]; 76 77 programs.aria2.enable = true; 78 programs.eza.enable = true; 79 programs.nix-index.enable = true; 80 }; 81}