{"id":24998413,"url":"https://github.com/cameronraysmith/nix-config","last_synced_at":"2025-04-22T17:41:02.048Z","repository":{"id":241628697,"uuid":"807284872","full_name":"cameronraysmith/nix-config","owner":"cameronraysmith","description":"❄️ nix configuration ⚙️","archived":false,"fork":false,"pushed_at":"2025-04-16T18:51:25.000Z","size":316,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-17T03:42:43.991Z","etag":null,"topics":["configuration","dotfiles","flake","home-manager","nix","nix-flake","nixos"],"latest_commit_sha":null,"homepage":"https://nix.dev","language":"Nix","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cameronraysmith.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-05-28T20:07:54.000Z","updated_at":"2025-04-16T18:51:29.000Z","dependencies_parsed_at":"2024-06-27T20:01:38.152Z","dependency_job_id":"181cb500-b805-427e-81e1-92e32bcc8dc6","html_url":"https://github.com/cameronraysmith/nix-config","commit_stats":null,"previous_names":["cameronraysmith/nix-config"],"tags_count":7,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cameronraysmith%2Fnix-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cameronraysmith%2Fnix-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cameronraysmith%2Fnix-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cameronraysmith%2Fnix-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cameronraysmith","download_url":"https://codeload.github.com/cameronraysmith/nix-config/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250288918,"owners_count":21405880,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["configuration","dotfiles","flake","home-manager","nix","nix-flake","nixos"],"created_at":"2025-02-04T17:58:07.015Z","updated_at":"2025-04-22T17:41:02.004Z","avatar_url":"https://github.com/cameronraysmith.png","language":"Nix","funding_links":[],"categories":[],"sub_categories":[],"readme":"# nix-config\n\nThis is my personal [nix](https://nix.dev/reference/nix-manual.html)-config. If\nyou'd like to experiment with nix in a containerized environment, consider\ntrying [nixpod](https://github.com/cameronraysmith/nixpod) before attempting to\nuse something like this repository or one of the credited examples below.\n\n\u003cdetails\u003e\n\u003csummary\u003eorganization\u003c/summary\u003e\n\nThe configuration is structured using \n[hercules-ci/flake-parts](https://github.com/hercules-ci/flake-parts)\nbased on [srid/nixos-unified](https://github.com/srid/nixos-unified).\n\nDirectory tree:\n- `configurations/`: System-specific configurations\n- `modules/`: Reusable nix modules\n- `overlays/`: Package modifications\n- `packages/`: Custom package definitions\n- `secrets/`: Protected configuration data\n\nThis enables supporting shared configuration:\n\n- Universal home-manager configurations for multiple users\n- MacOS configurations via nix-darwin\n- NixOS configurations for both local and remote VMs\n\n```zsh\n❯ om show .\n\n📦 Packages (nix build .#\u003cname\u003e)\n╭──────────┬───────────────────────────────────────────────────────╮\n│ name     │ description                                           │\n├──────────┼───────────────────────────────────────────────────────┤\n│ activate │ Activate NixOS/nix-darwin/home-manager configurations │\n│ default  │ Activate NixOS/nix-darwin/home-manager configurations │\n│ update   │ Update the primary flake inputs                       │\n╰──────────┴───────────────────────────────────────────────────────╯\n\n🐚 Devshells (nix develop .#\u003cname\u003e)\n╭─────────┬────────────────────────────────╮\n│ name    │ description                    │\n├─────────┼────────────────────────────────┤\n│ default │ Dev environment for nix-config │\n╰─────────┴────────────────────────────────╯\n\n🔍 Checks (nix flake check)\n╭────────────┬─────────────╮\n│ name       │ description │\n├────────────┼─────────────┤\n│ pre-commit │ N/A         │\n╰────────────┴─────────────╯\n\n🐧 NixOS Configurations \n(nixos-rebuild build --flake .#\u003cname\u003e to test; \n change `build` --\u003e `switch` or\n nix run .#activate on named host to instantiate)\n╭───────────┬─────────────╮\n│ name      │ description │\n├───────────┼─────────────┤\n│ orb-nixos │ N/A         │\n╰───────────┴─────────────╯\n\n🍏 Darwin Configurations \n(darwin-rebuild build --flake .#\u003cname\u003e to test; \n change `build` --\u003e `switch` or\n nix run .#activate on named host to instantiate)\n╭────────────────┬─────────────╮\n│ name           │ description │\n├────────────────┼─────────────┤\n│ macbook-darwin │ N/A         │\n│ MGB033059      │ N/A         │\n╰────────────────┴─────────────╯\n\n🔧 NixOS Modules\n╭─────────┬─────────────╮\n│ name    │ description │\n├─────────┼─────────────┤\n│ common  │ N/A         │\n│ default │ N/A         │\n╰─────────┴─────────────╯\n\n🎨 Overlays\n╭─────────┬─────────────╮\n│ name    │ description │\n├─────────┼─────────────┤\n│ default │ N/A         │\n╰─────────┴─────────────╯\n```\n\n\u003c/details\u003e\n\n## developing\n\nRun `direnv allow` or `nix develop` and then `just` for a table of commands.\n\n\u003cdetails\u003e\n\u003csummary\u003ecommands\u003c/summary\u003e\n\n```zsh\n❯ just\n\nRun 'just -n \u003ccommand\u003e' to print what would be executed...\n\nAvailable recipes:\n    default                                        # Run 'just \u003ccommand\u003e' to execute a command.\n    help                                           # Display help\n\n    [nix]\n    io                                             # Print nix flake inputs and outputs\n    lint                                           # Lint nix files\n    dev                                            # Manually enter dev shell\n    clean                                          # Remove build output link (no garbage collection)\n    build profile                                  # Build nix flake\n    check                                          # Check nix flake\n    switch                                         # Run nix flake to execute `nix run .#activate` for the current host.\n    switch-home                                    # Run nix flake to execute `nix run .#activate-home` for the current user.\n    switch-wrapper                                 # Run nix flake with explicit use of the sudo in `/run/wrappers`\n    bootstrap-shell                                # Shell with bootstrap dependencies\n    update                                         # Update nix flake\n    update-primary-inputs                          # Update primary nix flake inputs (see flake.nix)\n\n    [nix-home-manager]\n    home-manager-bootstrap-build profile=\"aarch64-linux\" # Bootstrap build home-manager with flake\n    home-manager-bootstrap-switch profile=\"aarch64-linux\" # Bootstrap switch home-manager with flake\n    home-manager-build profile=\"aarch64-linux\"     # Build home-manager with flake\n    home-manager-switch profile=\"aarch64-linux\"    # Switch home-manager with flake\n\n    [nix-darwin]\n    darwin-bootstrap profile=\"aarch64\"             # Bootstrap nix-darwin with flake\n    darwin-build profile=\"aarch64\"                 # Build darwin from flake\n    darwin-switch profile=\"aarch64\"                # Switch darwin from flake\n    darwin-test profile=\"aarch64\"                  # Test darwin from flake\n\n    [nixos]\n    nixos-bootstrap destination username publickey # Bootstrap nixos\n    nixos-vm-sync user destination                 # Copy flake to VM\n    nixos-build profile=\"aarch64\"                  # Build nixos from flake\n    nixos-test profile=\"aarch64\"                   # Test nixos from flake\n    nixos-switch profile=\"aarch64\"                 # Switch nixos from flake\n\n    [secrets]\n    show                                           # Show existing secrets\n    create-secret name                             # Create a secret with the given name\n    populate-single-secret name path               # Populate a single secret with the contents of a dotenv-formatted file\n    populate-separate-secrets path                 # Populate each line of a dotenv-formatted file as a separate secret\n    create-and-populate-single-secret name path    # Complete process: Create a secret and populate it with the entire contents of a dotenv file\n    create-and-populate-separate-secrets path      # Complete process: Create and populate separate secrets for each line in the dotenv file\n    get-secret name                                # Retrieve the contents of a given secret\n    seed-dotenv                                    # Create empty dotenv from template\n    export                                         # Export unique secrets to dotenv format\n    check-secrets                                  # Check secrets are available in teller shell.\n    get-kubeconfig                                 # Save KUBECONFIG to file\n\n    [CI/CD]\n    ghsecrets repo=\"cameronraysmith/nix-config\"    # Update github secrets for repo from environment variables\n    list-workflows                                 # List available workflows and associated jobs.\n    test-flake-workflow                            # Execute flake.yaml workflow.\n    ratchet-pin                                    # Pin all workflow versions to hash values (requires Docker)\n    ratchet-unpin                                  # Unpin hashed workflow versions to semantic values (requires Docker)\n    ratchet-update                                 # Update GitHub Actions workflows to the latest version (requires Docker)\n\n...by running 'just \u003ccommand\u003e'.\nThis message is printed by 'just help' and just 'just'.\n```\n\n\u003c/details\u003e\n\n## credits\n\n- [srid/nixos-unified](https://github.com/srid/nixos-unified)\n- [srid/nixos-config](https://github.com/srid/nixos-config)\n- [mirkolenz/nixos](https://github.com/mirkolenz/nixos)\n- [wegank/nixos-config](https://github.com/wegank/nixos-config)\n- [MatthiasBenaets/nixos-config](https://github.com/MatthiasBenaets/nixos-config)\n- [ehllie/dotfiles](https://github.com/ehllie/dotfiles)\n- [Misterio77/nix-config](https://github.com/Misterio77/nix-config)\n- [hercules-ci/flake-parts](https://github.com/hercules-ci/flake-parts)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcameronraysmith%2Fnix-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcameronraysmith%2Fnix-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcameronraysmith%2Fnix-config/lists"}