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..6479838 --- /dev/null +++ b/assets/avatar/avatar.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c23d8a46fb03534f69be07dcc45ee5258b4b6ade986e142b2d796b1b602a45b6 +size 1914571 diff --git a/assets/avatar/avatar_high.png b/assets/avatar/avatar_high.png new file mode 100644 index 0000000..d24cfd6 --- /dev/null +++ b/assets/avatar/avatar_high.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5803cd82c4147014f6d3ee00d86ba1f1a6b94d6d7fdfc9c07ed71b6553283ac4 +size 1051722 diff --git a/assets/avatar/avatar_no_bg.png b/assets/avatar/avatar_no_bg.png new file mode 100644 index 0000000..720fcc6 --- /dev/null +++ b/assets/avatar/avatar_no_bg.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2258ffc2528b6a00cc8b22e5bbb1092a92b663e681894aacc0ec2177ed86e5b8 +size 1236188 diff --git a/assets/avatar/avatar_sloth.png b/assets/avatar/avatar_sloth.png new file mode 100644 index 0000000..a43f25e --- /dev/null +++ b/assets/avatar/avatar_sloth.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6185a8e77925bd652a2cabd4ee023f3df6492f129c3a32741a31eb66185333a1 +size 1642538 diff --git a/assets/avatar/avatar_sloth_no_bg.png b/assets/avatar/avatar_sloth_no_bg.png new file mode 100644 index 0000000..29a800d --- /dev/null +++ b/assets/avatar/avatar_sloth_no_bg.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1eb37dec4337622bfb58e4b80665d8cb9cdb90a5b8fc3688e406687da81efac1 +size 1422040 diff --git a/assets/avatar/avatar_talking.gif b/assets/avatar/avatar_talking.gif new file mode 100644 index 0000000..df6f80f --- /dev/null +++ b/assets/avatar/avatar_talking.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c9ec4d76036c2090c5aefab6a83e4842adcd5631bd6c56e7452c69c0c16227e3 +size 23919469 diff --git a/assets/avatar/avatar_talking.mp4 b/assets/avatar/avatar_talking.mp4 new file mode 100644 index 0000000..7172714 --- /dev/null +++ b/assets/avatar/avatar_talking.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8494c886a0d93f8c91730c2ae165a32aa630a223bb9a46329f52b1fe54061c0e +size 4320970 diff --git a/assets/avatar/avatar_talking_no_bg.gif b/assets/avatar/avatar_talking_no_bg.gif new file mode 100644 index 0000000..f989534 --- /dev/null +++ b/assets/avatar/avatar_talking_no_bg.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5a472f591781f2edc2431fc21c8c943c8f573c1c9acaad8233f4ad4eb35fde33 +size 20553885 diff --git a/assets/avatar/avatar_talking_no_bg.mp4 b/assets/avatar/avatar_talking_no_bg.mp4 new file mode 100644 index 0000000..05e30e3 --- /dev/null +++ b/assets/avatar/avatar_talking_no_bg.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:674892bc22874a9323d6c307f7f3d9df737a6e8db1ca7a96428d8fd99ccb460a +size 50084588 diff --git a/assets/avatar/avatar_weather.png b/assets/avatar/avatar_weather.png new file mode 100644 index 0000000..a05fc0b --- /dev/null +++ b/assets/avatar/avatar_weather.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:508ad53b45e1e0acd3740c1c71ecdfe492a8f65c13db4c84276e1b37b0428a05 +size 2749045 diff --git a/assets/avatar/avatar_weather_no_bg.png b/assets/avatar/avatar_weather_no_bg.png new file mode 100644 index 0000000..e919f55 --- /dev/null +++ b/assets/avatar/avatar_weather_no_bg.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ff7adef38c19e05b11e8a9f87288e4d3930a16c19ed5f66757ed22b3f235da7 +size 2511600 diff --git a/assets/wallpapers/Ghost_in_the_Shell.png b/assets/wallpapers/Ghost_in_the_Shell.png new file mode 100644 index 0000000..416046a --- /dev/null +++ b/assets/wallpapers/Ghost_in_the_Shell.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c94361b69cf8667b142c416c47d21db6513c297795d5c74ec81dc0eb1fead34 +size 3502948 diff --git a/assets/wallpapers/Helicopter.png b/assets/wallpapers/Helicopter.png new file mode 100644 index 0000000..582527f --- /dev/null +++ b/assets/wallpapers/Helicopter.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca5bc99b2753a6ac153098e3ae2aad4245fa63935453856001b6df2994e5799a +size 3262828 diff --git a/assets/wallpapers/Major.png b/assets/wallpapers/Major.png new file mode 100644 index 0000000..b1f62be --- /dev/null +++ b/assets/wallpapers/Major.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:adb87cfa68aef943929e9800324f43bcac40ad466996447e29738a4a4465a1b9 +size 1094378 diff --git a/assets/wallpapers/bike.gif b/assets/wallpapers/bike.gif new file mode 100644 index 0000000..d0d1e37 --- /dev/null +++ b/assets/wallpapers/bike.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2df060da7d983f39b83af0125b1ca1cbd1d6e15bfa11df84e34d165d11c6d418 +size 1418224 diff --git a/assets/wallpapers/corner.gif b/assets/wallpapers/corner.gif new file mode 100644 index 0000000..85b8b55 --- /dev/null +++ b/assets/wallpapers/corner.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0798438329f47f5574f591215c1532406a8cf134c928baa8bed92dcce818a1c4 +size 358556 diff --git a/assets/wallpapers/daemon.gif b/assets/wallpapers/daemon.gif new file mode 100644 index 0000000..84cc6d0 --- /dev/null +++ b/assets/wallpapers/daemon.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b2f771acf889ec9a05c25202e1b50269a5fdc79a4c1c054a0c38d38721f13f26 +size 3317787 diff --git a/assets/wallpapers/daemon_layer.png b/assets/wallpapers/daemon_layer.png new file mode 100644 index 0000000..c2f2860 --- /dev/null +++ b/assets/wallpapers/daemon_layer.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b55775a06641311417a0ff72d2bd2a444dcf19e81b39a9f3af0237c54d07aba8 +size 754544 diff --git a/assets/wallpapers/dead_cyborg.png b/assets/wallpapers/dead_cyborg.png new file mode 100644 index 0000000..9412a36 --- /dev/null +++ b/assets/wallpapers/dead_cyborg.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cdf0bdbc56b5859ec536c1d1927d0d6373c4708d5698ed8b3ec8eb40c3029266 +size 3899655 diff --git a/assets/wallpapers/dna.gif b/assets/wallpapers/dna.gif new file mode 100644 index 0000000..60d7d3d --- /dev/null +++ b/assets/wallpapers/dna.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:15a3145a6e576d6902f80d4f07e20762e492450ecbdebaef022e630ce7807c36 +size 874192 diff --git a/assets/wallpapers/ghost.gif b/assets/wallpapers/ghost.gif new file mode 100644 index 0000000..0b8e94a --- /dev/null +++ b/assets/wallpapers/ghost.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd443b67de177ce046028f881a99d08ec3adaa6edaed8894aa8832c5c1ab35ce +size 1853118 diff --git a/assets/wallpapers/girl.png b/assets/wallpapers/girl.png new file mode 100644 index 0000000..0529d84 --- /dev/null +++ b/assets/wallpapers/girl.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:52495b53a1186e431121796d2c18873caf6d2a787d8dd7a74771bff5ba7c1ed9 +size 17578113 diff --git a/assets/wallpapers/girl_nixos.png b/assets/wallpapers/girl_nixos.png new file mode 100644 index 0000000..207a08b --- /dev/null +++ b/assets/wallpapers/girl_nixos.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:137d41338e2baaad8d70107d8c9d8acd97221024c8ff9f7f7ca0a62fb13d5a49 +size 2761006 diff --git a/assets/wallpapers/lucy.png b/assets/wallpapers/lucy.png new file mode 100644 index 0000000..9645cfc --- /dev/null +++ b/assets/wallpapers/lucy.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:58362924eb0b0faa9a0fa6ca4cfc13ce6e6b5c08bd23e8b4c52d5382da0eaf4b +size 15306830 diff --git a/assets/wallpapers/lucy_with_cat.png b/assets/wallpapers/lucy_with_cat.png new file mode 100644 index 0000000..cefde02 --- /dev/null +++ b/assets/wallpapers/lucy_with_cat.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:bb380c473f86d0a557efcd59f5aff16e500097224a12c97c204aeebd0811b419 +size 1988084 diff --git a/assets/wallpapers/rain.gif b/assets/wallpapers/rain.gif new file mode 100644 index 0000000..ca10589 --- /dev/null +++ b/assets/wallpapers/rain.gif @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc7e152a8fcc2684f109a7450b238bbfc70894553c6f52b5bf294c62aac7f81b +size 4510878 diff --git a/assets/wallpapers/space_station.png b/assets/wallpapers/space_station.png new file mode 100644 index 0000000..961f3ea --- /dev/null +++ b/assets/wallpapers/space_station.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ca2d6ea760a9170a20c7b01af08aede0dd1c06e697c42345033842c0248fd334 +size 3539108 diff --git a/assets/wallpapers/tokio.png b/assets/wallpapers/tokio.png new file mode 100644 index 0000000..45b7302 --- /dev/null +++ b/assets/wallpapers/tokio.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c2e9d126f2cd00273ef3f52b2a208cbc062467ce4d90366b8d3fae9d670a5b79 +size 2557322 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 <