diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8b0e0fb --- /dev/null +++ b/.gitignore @@ -0,0 +1,20 @@ +# Nix build results +result +result-* + +# sops age keys (never commit private keys) +*.age +keys.txt + +# macOS +.DS_Store +._.DS_Store +**/.DS_Store +**/._.DS_Store + +# secrets (encrypted via sops, but extra safety) +secrets/*.yaml~ + +# Editor +.direnv/ +.envrc diff --git a/README.md b/README.md index 1e76876..fcc0a8b 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ cd ~/.config/nix Replace placeholders in `home/git.nix`: - `DerGrumpf` → your Git username -- `p.keier@beyerstedt-it.de` → your Git email +- `phil.keier@hotmail.com` → your Git email ### Apply ```bash diff --git a/assets/avatar/avatar.png b/assets/avatar/avatar.png new file mode 100644 index 0000000..518b5fe Binary files /dev/null and b/assets/avatar/avatar.png differ diff --git a/assets/avatar/avatar_high.png b/assets/avatar/avatar_high.png new file mode 100644 index 0000000..62a5b68 Binary files /dev/null and b/assets/avatar/avatar_high.png differ diff --git a/assets/avatar/avatar_no_bg.png b/assets/avatar/avatar_no_bg.png new file mode 100644 index 0000000..0858bf4 Binary files /dev/null and b/assets/avatar/avatar_no_bg.png differ diff --git a/assets/avatar/avatar_sloth.png b/assets/avatar/avatar_sloth.png new file mode 100644 index 0000000..9563e3b Binary files /dev/null and b/assets/avatar/avatar_sloth.png differ diff --git a/assets/avatar/avatar_sloth_no_bg.png b/assets/avatar/avatar_sloth_no_bg.png new file mode 100644 index 0000000..82a97d0 Binary files /dev/null and b/assets/avatar/avatar_sloth_no_bg.png differ diff --git a/assets/avatar/avatar_talking.gif b/assets/avatar/avatar_talking.gif new file mode 100644 index 0000000..3a61e52 Binary files /dev/null and b/assets/avatar/avatar_talking.gif differ diff --git a/assets/avatar/avatar_talking.mp4 b/assets/avatar/avatar_talking.mp4 new file mode 100644 index 0000000..df0a358 Binary files /dev/null and b/assets/avatar/avatar_talking.mp4 differ diff --git a/assets/avatar/avatar_talking_no_bg.gif b/assets/avatar/avatar_talking_no_bg.gif new file mode 100644 index 0000000..baec78d Binary files /dev/null and b/assets/avatar/avatar_talking_no_bg.gif differ diff --git a/assets/avatar/avatar_talking_no_bg.mp4 b/assets/avatar/avatar_talking_no_bg.mp4 new file mode 100644 index 0000000..d79d514 Binary files /dev/null and b/assets/avatar/avatar_talking_no_bg.mp4 differ diff --git a/assets/avatar/avatar_weather.png b/assets/avatar/avatar_weather.png new file mode 100644 index 0000000..5f6e018 Binary files /dev/null and b/assets/avatar/avatar_weather.png differ diff --git a/assets/avatar/avatar_weather_no_bg.png b/assets/avatar/avatar_weather_no_bg.png new file mode 100644 index 0000000..b5d5f5a Binary files /dev/null and b/assets/avatar/avatar_weather_no_bg.png differ diff --git a/assets/wallpapers/Ghost_in_the_Shell.png b/assets/wallpapers/Ghost_in_the_Shell.png new file mode 100644 index 0000000..a79762b Binary files /dev/null and b/assets/wallpapers/Ghost_in_the_Shell.png differ diff --git a/assets/wallpapers/Helicopter.png b/assets/wallpapers/Helicopter.png new file mode 100644 index 0000000..722acb6 Binary files /dev/null and b/assets/wallpapers/Helicopter.png differ diff --git a/assets/wallpapers/Major.png b/assets/wallpapers/Major.png new file mode 100644 index 0000000..5c19413 Binary files /dev/null and b/assets/wallpapers/Major.png differ diff --git a/assets/wallpapers/bike.gif b/assets/wallpapers/bike.gif new file mode 100644 index 0000000..b1bac42 Binary files /dev/null and b/assets/wallpapers/bike.gif differ diff --git a/assets/wallpapers/corner.gif b/assets/wallpapers/corner.gif new file mode 100644 index 0000000..17dd259 Binary files /dev/null and b/assets/wallpapers/corner.gif differ diff --git a/assets/wallpapers/daemon.gif b/assets/wallpapers/daemon.gif new file mode 100644 index 0000000..ea7f656 Binary files /dev/null and b/assets/wallpapers/daemon.gif differ diff --git a/assets/wallpapers/daemon_layer.png b/assets/wallpapers/daemon_layer.png new file mode 100644 index 0000000..3fe0704 Binary files /dev/null and b/assets/wallpapers/daemon_layer.png differ diff --git a/assets/wallpapers/dead_cyborg.png b/assets/wallpapers/dead_cyborg.png new file mode 100644 index 0000000..6f98008 Binary files /dev/null and b/assets/wallpapers/dead_cyborg.png differ diff --git a/assets/wallpapers/dna.gif b/assets/wallpapers/dna.gif new file mode 100644 index 0000000..54ac650 Binary files /dev/null and b/assets/wallpapers/dna.gif differ diff --git a/assets/wallpapers/ghost.gif b/assets/wallpapers/ghost.gif new file mode 100644 index 0000000..a76e324 Binary files /dev/null and b/assets/wallpapers/ghost.gif differ diff --git a/assets/wallpapers/girl.png b/assets/wallpapers/girl.png new file mode 100644 index 0000000..bffdb87 Binary files /dev/null and b/assets/wallpapers/girl.png differ diff --git a/assets/wallpapers/girl_nixos.png b/assets/wallpapers/girl_nixos.png new file mode 100644 index 0000000..d50cb50 Binary files /dev/null and b/assets/wallpapers/girl_nixos.png differ diff --git a/assets/wallpapers/lucy.png b/assets/wallpapers/lucy.png new file mode 100644 index 0000000..8d52048 Binary files /dev/null and b/assets/wallpapers/lucy.png differ diff --git a/assets/wallpapers/lucy_with_cat.png b/assets/wallpapers/lucy_with_cat.png new file mode 100644 index 0000000..9910901 Binary files /dev/null and b/assets/wallpapers/lucy_with_cat.png differ diff --git a/assets/wallpapers/rain.gif b/assets/wallpapers/rain.gif new file mode 100644 index 0000000..8299cea Binary files /dev/null and b/assets/wallpapers/rain.gif differ diff --git a/assets/wallpapers/space_station.png b/assets/wallpapers/space_station.png new file mode 100644 index 0000000..045556c Binary files /dev/null and b/assets/wallpapers/space_station.png differ diff --git a/assets/wallpapers/tokio.png b/assets/wallpapers/tokio.png new file mode 100644 index 0000000..7137c0a Binary files /dev/null and b/assets/wallpapers/tokio.png differ diff --git a/darwin/default.nix b/darwin/default.nix new file mode 100644 index 0000000..e7e9985 --- /dev/null +++ b/darwin/default.nix @@ -0,0 +1,51 @@ +{ pkgs, inputs, self, primaryUser, ... }: { + imports = [ ./homebrew.nix ./settings.nix ./yabai.nix ]; + + # nix config + nix = { + settings = { + experimental-features = [ "nix-command" "flakes" ]; + max-jobs = "auto"; # Use all CPU cores + cores = 0; # Use all cores per build + # disabled due to https://github.com/NixOS/nix/issues/7273 + # auto-optimise-store = true; + }; + enable = true; # using determinate installer + + # Garbage collection + gc = { + automatic = true; + interval = { Weekday = 7; }; # Run weekly + options = "--delete-older-than 30d"; + }; + }; + + # Disable Docs + documentation = { + enable = true; + doc.enable = false; # Skip large documentation + man.enable = true; # Keep man pages + info.enable = false; # Skip info pages + }; + + nixpkgs.config = { allowUnfree = true; }; + # homebrew installation manager + nix-homebrew = { + user = primaryUser; + enable = true; + autoMigrate = true; + }; + + # macOS-specific settings + programs.fish.enable = true; + environment.shells = [ pkgs.fish ]; + system.primaryUser = primaryUser; + users.users.${primaryUser} = { + home = "/Users/${primaryUser}"; + shell = pkgs.fish; + }; + environment = { + systemPath = [ "/opt/homebrew/bin" ]; + pathsToLink = [ "/Applications" ]; + }; +} diff --git a/darwin/homebrew.nix b/darwin/homebrew.nix new file mode 100644 index 0000000..5278602 --- /dev/null +++ b/darwin/homebrew.nix @@ -0,0 +1,20 @@ +{ ... }: { + homebrew = { + enable = true; + + onActivation = { + autoUpdate = false; + upgrade = true; + cleanup = "zap"; + }; + + caskArgs.no_quarantine = true; + global.brewfile = true; + + # homebrew is best for GUI apps + # nixpkgs is best for CLI tools + casks = [ "element" "affinity" "onlyoffice" "tailscale" ]; + brews = [ ]; + taps = [ ]; + }; +} diff --git a/darwin/settings.nix b/darwin/settings.nix new file mode 100644 index 0000000..a1b619c --- /dev/null +++ b/darwin/settings.nix @@ -0,0 +1,76 @@ +{ self, ... }: { + # touch ID for sudo + security.pam.services.sudo_local.touchIdAuth = true; + + # system defaults and preferences + system = { + stateVersion = 6; + configurationRevision = self.rev or self.dirtyRev or null; + + startup.chime = false; + + activationScripts = { + setWallpaper.text = '' + /usr/bin/osascript <