Compare commits

...

30 Commits

Author SHA1 Message Date
71cf51f301 add docker shortcuts 2025-12-05 20:49:11 +01:00
08c751ceb3 add mkcert 2025-12-05 20:48:56 +01:00
b27684f9cb update flake 2025-12-05 20:48:48 +01:00
e8469c723b update vscode config 2025-12-05 20:48:39 +01:00
b14b31c7b8 add host 2025-12-05 20:48:31 +01:00
197fa0461e update plist 2025-12-05 20:48:04 +01:00
d1c7c336a2 update 2025-11-14 14:25:57 +01:00
5c3c59d6da update plist 2025-11-14 14:25:48 +01:00
3845ae7bde update readme to use determinate systems 2025-11-10 23:43:28 +01:00
79d88d9461 dont manage nix 2025-11-10 23:42:38 +01:00
08b84fe5db update plist 2025-11-10 22:51:54 +01:00
036684c6c7 update aldente config 2025-11-10 22:51:38 +01:00
a4d5297c00 update flake and add buildx 2025-11-10 22:51:26 +01:00
409a48426c remove docker desktop 2025-11-06 00:25:50 +01:00
8d19b5b056 raycast config 2025-11-05 23:59:55 +01:00
90a52b2c13 vscode 2025-11-04 00:58:22 +01:00
01393919ec state 2025-11-04 00:43:11 +01:00
0047118a70 extensions 2025-11-04 00:08:53 +01:00
762715c2b5 add vscode config 2025-11-03 23:51:48 +01:00
43c0dc2035 remove ordio 2025-11-02 15:52:51 +01:00
b7271cf816 latest raycast config 2025-11-02 15:10:40 +01:00
d57ad9b3e9 add some tools 2025-10-28 11:24:20 +01:00
1824493c88 update configs 2025-10-27 23:05:37 +01:00
489971d880 update nix 2025-10-27 22:45:08 +01:00
b8b7145e47 update flake 2025-10-27 18:29:17 +01:00
d9f1588086 programms 2025-10-27 18:28:57 +01:00
950edff326 add clean command 2025-10-27 18:28:48 +01:00
ae6e533365 add 1k5 2025-10-27 18:28:41 +01:00
4faff3fe84 update flake 2025-10-15 21:59:10 +02:00
3680f878e2 use common home 2025-10-09 10:26:34 +02:00
32 changed files with 85 additions and 185 deletions

View File

@@ -13,15 +13,14 @@
## Installation
```bash
# Install nix [without the --determinate flag]
# ⚠️ When asked if install the determinate version say no
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
# Install nix
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install --determinate
# Install brew [for casks]
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Get repo
git clone https://github.com/cupcakearmy/nix-macos ~/.config/nix-macos
git clone https://github.com/cupcakearmy/nix-macos ~/.config/dotfiles
# Unlock (Given that the base64 key is in your clipboard)
nix shell nixpkgs#git nixpkgs#git-crypt nixpkgs#coreutils
@@ -30,7 +29,7 @@ git-crypt unlock .key
# Installation
# Available hosts can be found in the ./hosts directory
sudo nix run nix-darwin -- switch --flake ~/.config/nix-macos#<host>
sudo nix run nix-darwin -- switch --flake ~/.config/dotfiles#<host>
# After installation simply use the provided alias to rebuild
vai

View File

@@ -15,7 +15,6 @@
"lihaoyun6/tap/quickrecorder"
# Dev
"docker-desktop"
"sloth"
"vscodium"
"visual-studio-code"
@@ -36,4 +35,5 @@
"mediahuman-audio-converter"
"imageoptim"
"appcleaner"
"drawio"
]

View File

@@ -15,7 +15,10 @@ let
shellAliases = {
hm = "nix run home-manager/master -- switch --flake github:cupcakearmy/nix?dir=cli#${name} -b backup";
};
# Lists are not recursively updated, need to do by hand
packages = common.home.packages ++ [ ];
};
};
merged = lib.recursiveUpdate common overwrite;
in
lib.recursiveUpdate common overwrite
merged

View File

@@ -2,7 +2,6 @@
pkgs,
...
}:
{
home.stateVersion = "25.11";
@@ -19,12 +18,15 @@
btop
rclone
rename
tmux
tree
wget
rsync
yq
delta
kubectl
croc
asciinema_3
grex
# Rust utils
bat
@@ -38,15 +40,14 @@
yazi
starship
# Dev
# TUI
lazydocker
lazygit
k9s
kubectl
# Editor
neovim
fzf
lazygit
# Fonts
nerd-fonts.jetbrains-mono
@@ -68,6 +69,9 @@
# QOL
dc = "docker compose";
dcl = "dc logs -f";
dclt = "dcl --tail 100";
dcln = "dcl --since 1m";
rsync = "rsync -az --info=progress2";
t = "tmux new-session -A -s main";
e = "nvim";
@@ -78,6 +82,7 @@
};
programs = {
home-manager.enable = true;
direnv.enable = true;
zoxide.enable = true;

View File

@@ -6,6 +6,7 @@
...
}:
{
nix.enable = false;
nix.settings = {
experimental-features = "nix-command flakes";
substituters = [ "https://devenv.cachix.org" ];

18
flake.lock generated
View File

@@ -7,11 +7,11 @@
]
},
"locked": {
"lastModified": 1759853171,
"narHash": "sha256-uqbhyXtqMbYIiMqVqUhNdSuh9AEEkiasoK3mIPIVRhk=",
"lastModified": 1764952935,
"narHash": "sha256-cRPB2zESVMjIGxJ49qj4t4qnT0ae44E+fS/mkfOS/BY=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "1a09eb84fa9e33748432a5253102d01251f72d6d",
"rev": "519828bf1c97f8bc2ed2d3b79214067047d3c67d",
"type": "github"
},
"original": {
@@ -27,11 +27,11 @@
]
},
"locked": {
"lastModified": 1758805352,
"narHash": "sha256-BHdc43Lkayd+72W/NXRKHzX5AZ+28F3xaUs3a88/Uew=",
"lastModified": 1764161084,
"narHash": "sha256-HN84sByg9FhJnojkGGDSrcjcbeioFWoNXfuyYfJ1kBE=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "c48e963a5558eb1c3827d59d21c5193622a1477c",
"rev": "e95de00a471d07435e0527ff4db092c84998698e",
"type": "github"
},
"original": {
@@ -42,11 +42,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1759826507,
"narHash": "sha256-vwXL9H5zDHEQA0oFpww2one0/hkwnPAjc47LRph6d0I=",
"lastModified": 1764915887,
"narHash": "sha256-CeBCJ9BMsuzVgn8GVfuSRZ6xeau7szzG0Xn6O/OxP9M=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "bce5fe2bb998488d8e7e7856315f90496723793c",
"rev": "42e29df35be6ef54091d3a3b4e97056ce0a98ce8",
"type": "github"
},
"original": {

View File

@@ -5,103 +5,47 @@
config,
...
}:
{
# https://nix-community.github.io/home-manager
home.stateVersion = "25.05";
programs.home-manager.enable = true;
let
common = (import ../common/home.nix) { inherit pkgs; };
overwrite = {
home.username = host.username;
home.homeDirectory = "/Users/${host.username}";
home.username = host.username;
home.homeDirectory = "/Users/${host.username}";
home.packages =
common.home.packages
++ (import ./pkgs.nix { inherit pkgs; })
++ ((lib.attrByPath [ "extras" "pkgs" ] (pkgs: [ ]) host) pkgs);
home.packages =
(import ./pkgs.nix { inherit pkgs; })
++ ((lib.attrByPath [ "extras" "pkgs" ] (pkgs: [ ]) host) pkgs);
fonts.fontconfig.enable = true;
fonts.fontconfig.enable = true;
home = {
home = {
sessionVariables = {
EDITOR = "nvim";
};
file = {
".config/ghostty/config".source = ../files/ghostty/config;
".gitconfig".source = ../files/git/gitconfig;
".gitignore_global".source = ../files/git/gitignore_global;
".gitconfig.local".source = ../secrets/git/config.${host.hostName};
".config/nvim".source = ../files/nvim;
"Library/Application Support/lazydocker/config.yml".source = ../files/lazydocker/config.yml;
file = {
".config/ghostty/config".source = ../files/ghostty/config;
".gitconfig".source = ../files/git/gitconfig;
".gitignore_global".source = ../files/git/gitignore_global;
".gitconfig.local".source = ../secrets/git/config.${host.hostName};
".config/nvim".source = ../files/nvim;
"Library/Application Support/lazydocker/config.yml".source = ../files/lazydocker/config.yml;
# Secrets
".ssh/config".text = builtins.replaceStrings [ "@SSH_KEY@" ] [ host.sshKey ] (
builtins.readFile ../secrets/ssh/config.template
);
};
# Secrets
".ssh/config".text = builtins.replaceStrings [ "@SSH_KEY@" ] [ host.sshKey ] (
builtins.readFile ../secrets/ssh/config.template
);
};
shellAliases = {
p = "pnpm";
px = "pnpm -s dlx";
n = "fnm use --install-if-missing";
c = "pwd | pbcopy";
shellAliases = {
# Rust re-maps
l = "eza -a1lh";
ls = "eza";
cat = "bat";
cd = "z";
# QOL
dc = "docker compose";
rsync = "rsync -az --info=progress2";
t = "tmux new-session -A -s main";
e = "nvim";
g = "lazygit";
d = "lazydocker";
p = "pnpm";
px = "pnpm -s dlx";
n = "fnm use --install-if-missing";
c = "pwd | pbcopy";
k = "kubectl";
vai = "sudo darwin-rebuild switch --flake ~/.config/nix-macos#${host.hostName}";
vai = "sudo darwin-rebuild switch --flake ~/.config/dotfiles#${host.hostName}";
clean = "nix-collect-garbage -d";
};
};
};
programs = {
direnv.enable = true;
zoxide.enable = true;
fish = {
enable = true;
interactiveShellInit = ''
if type -q starship
starship init fish | source
end
if type -q fnm
fnm env --use-on-cd | source
end
if type -q nvs
nvs env --source | source
end
'';
};
bash = {
enable = true;
};
tmux = {
enable = true;
clock24 = true;
mouse = true;
extraConfig = ''
# switch panes using Alt-arrow without prefix
bind -n M-Left select-pane -L
bind -n M-Right select-pane -R
bind -n M-Up select-pane -U
bind -n M-Down select-pane -D
# switch panes using jkhl
bind h select-pane -L
bind l select-pane -R
bind j select-pane -U
bind k select-pane -D
'';
shell = "${pkgs.fish}/bin/fish";
terminal = "tmux-256color";
};
};
}
merged = lib.recursiveUpdate common overwrite;
in
merged

View File

@@ -2,56 +2,20 @@
with pkgs;
[
# Base
tmux
git
git-lfs
git-crypt
gh
bfg-repo-cleaner
gnutar
gnupg
htop
btop
rclone
rename
tmux
tree
wget
woff2
rsync
yq
delta
# Rust utils
bat
eza
fd
ripgrep
ripgrep-all
zoxide
uutils-coreutils-noprefix
dust
yazi
starship
# Dev
devenv
nixpacks
ollama
colima
lazydocker
exercism
posting
terraform
k9s
kubectl
claude-code
opencode
# Editor
nvs
neovim
fzf
lazygit
lua
luajitPackages.luarocks
ast-grep
@@ -71,6 +35,5 @@ with pkgs;
go
# Fonts
nerd-fonts.jetbrains-mono
karla
]

15
hosts/1k5.nix Normal file
View File

@@ -0,0 +1,15 @@
{
username = "nicco";
hostName = "1k5";
platform = "aarch64-darwin";
sshKey = "1k5";
extras = {
casks = [
"notion"
];
pkgs =
pkgs: with pkgs; [
];
};
}

View File

@@ -1,4 +1,4 @@
[
(import ./mac14.nix)
(import ./ordio.nix)
(import ./1k5.nix)
]

View File

@@ -14,14 +14,17 @@
"blender"
"bambu-studio"
"cyberduck"
"crossover"
"kicad"
];
pkgs =
pkgs: with pkgs; [
docker-client
colima
docker-buildx
biome
infisical
ffmpeg
pulumi
mkcert
];
};
}

View File

@@ -1,33 +0,0 @@
{
username = "nicco";
hostName = "ordio";
platform = "aarch64-darwin";
sshKey = "ordio";
extras = {
casks = [
"tableplus"
"http-toolkit"
"phpstorm"
"notion"
];
pkgs =
pkgs: with pkgs; [
mkcert
dnsmasq
awscli2
mysql84
cocoapods
xcodes
# For projects
pixman
pkg-config
pango
libpng
giflib
librsvg
python313Packages.setuptools
];
};
}

Binary file not shown.

BIN
secrets/configs/raycast.key Normal file

Binary file not shown.

BIN
secrets/git/config.1k5 Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.