From 370a8881b551dd50a982a54f3a35fa99f22152a1 Mon Sep 17 00:00:00 2001 From: Alyxia Sother Date: Fri, 9 Jun 2023 13:30:06 +0200 Subject: [PATCH 1/3] [nix] Fix a CRITICAL BUG with the zsh config --- nix/hosts/alymac/default.nix | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nix/hosts/alymac/default.nix b/nix/hosts/alymac/default.nix index 773055a..0e7673d 100644 --- a/nix/hosts/alymac/default.nix +++ b/nix/hosts/alymac/default.nix @@ -6,6 +6,10 @@ # Installs a version of nix, that dosen't need "experimental-features = nix-command flakes" in /etc/nix/nix.conf # services.nix-daemon.package = pkgs.nixFlakes; + # if you use zsh (the default on new macOS installations), + # you'll need to enable this so nix-darwin creates a zshrc sourcing needed environment changes + programs.zsh.enable = true; + users.users.alyxia = { name = "alyxia"; home = "/Users/alyxia"; From 73e9992f7e40af302d55044ace6725a53d3a1b99 Mon Sep 17 00:00:00 2001 From: Alyxia Sother Date: Fri, 9 Jun 2023 13:31:06 +0200 Subject: [PATCH 2/3] [nix] Set up a system for specifying packages --- nix/hosts/alymac/default.nix | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/nix/hosts/alymac/default.nix b/nix/hosts/alymac/default.nix index 0e7673d..1353125 100644 --- a/nix/hosts/alymac/default.nix +++ b/nix/hosts/alymac/default.nix @@ -1,28 +1,48 @@ -# hosts/YourHostName/default.nix { pkgs, dotfiles, ... }: + +let + packageSets = with pkgs; rec { + base = [ + jq + ripgrep + ]; + languages = []; + tooling = []; + multimedia = []; + + everything = base ++ languages ++ tooling ++ multimedia; + }; + +in { + imports = []; + + # Make sure the nix daemon always runs services.nix-daemon.enable = true; - # Installs a version of nix, that dosen't need "experimental-features = nix-command flakes" in /etc/nix/nix.conf - # services.nix-daemon.package = pkgs.nixFlakes; + + # enable the gpg agent by default + programs.gnupg.agent.enable = true; # if you use zsh (the default on new macOS installations), # you'll need to enable this so nix-darwin creates a zshrc sourcing needed environment changes programs.zsh.enable = true; + # Make sure to set the correct values, or everything will break! (in reality, + # it will just not build) users.users.alyxia = { name = "alyxia"; home = "/Users/alyxia"; }; - - - # enable the gpg agent by default - programs.gnupg.agent.enable = true; home-manager = { useGlobalPkgs = true; useUserPackages = true; users.alyxia = { pkgs, ... }: { + home = { + packages = packageSets.everything; + }; + programs.zsh = { enable = true; initExtra = '' From 4230e24e6523ecefe688587b9d58a504cf5bb325 Mon Sep 17 00:00:00 2001 From: Alyxia Sother Date: Fri, 9 Jun 2023 16:25:55 +0200 Subject: [PATCH 3/3] [nix] Add back all the packages from the old config --- nix/hosts/alymac/default.nix | 109 ++++++++++++++++++++++++++++++++--- 1 file changed, 102 insertions(+), 7 deletions(-) diff --git a/nix/hosts/alymac/default.nix b/nix/hosts/alymac/default.nix index 1353125..d674a2d 100644 --- a/nix/hosts/alymac/default.nix +++ b/nix/hosts/alymac/default.nix @@ -2,21 +2,78 @@ let packageSets = with pkgs; rec { - base = [ - jq - ripgrep + system = [ + gnutls + gsasl + libtool + patchelf + pcre + pinentry + pkg-config ]; - languages = []; - tooling = []; - multimedia = []; - everything = base ++ languages ++ tooling ++ multimedia; + base = [ + act + bat + bitwarden-cli + cloudflared + delta + exa + ffmpeg + fzf + gh + # git # already managed by home-manager + git-crypt + gitui + gnupg + jq + kubectl + kubelogin-oidc + mosh + neovim + nixpkgs-fmt + ripgrep + sops + vim + wget + ]; + + languages = [ + crystal + deno + dotnet-sdk + go + jdk + nil + nodejs_20 + ruby_3_1 + sbcl + shards + zig + ]; + + programs = [ + jetbrains.idea-ultimate + jetbrains.phpstorm + jetbrains.rider + rectangle + slack + tailscale + ]; + + multimedia = [ + ffmpeg + ]; + + everything = system ++ base ++ languages ++ programs ++ multimedia; }; in { imports = []; + # Absolutely proprietary. + nixpkgs.config.allowUnfree = true; # Make sure the nix daemon always runs services.nix-daemon.enable = true; @@ -78,10 +135,48 @@ in enable = true; onActivation = { autoUpdate = true; + cleanup = "zap"; upgrade = true; }; + + taps = [ + "drud/ddev" + "homebrew/cask" + "homebrew/cask-versions" + ]; + + # Please do not the brew. + brews = [ + "composer" + "croc" + "ddev" + "mkcert" + "pkg-config" + "sdl2" + ]; + casks = [ + "1password" + "1password-cli" + "alt-tab" + "android-studio" + "audacity" + "background-music" + "db-browser-for-sqlite" "discord" + "discord-ptb" + "docker" + "firefox" + "google-chrome" + "itch" + "iterm2" + "obs" + "raycast" + "sequel-ace" + "shottr" + "spotify" + "thunderbird" + "visual-studio-code" ]; }; }