infrastructure

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README

commit e5c89fcba8bc44e7abe9a5bfc40a4a479f577f74
parent 9a59639b9618d0950ac941829bdc6200f59d0756
Author: Silas Brack <57684859+silasbrack@users.noreply.github.com>
Date:   Sat, 25 Jan 2025 14:07:37 +0100

Add GitHub actions (#1)


Diffstat:
A.github/workflows/nixos.yaml | 55+++++++++++++++++++++++++++++++++++++++++++++++++++++++
D.github/workflows/test.yaml | 16----------------
Mnixos/configuration.nix | 31+++++++++++++++++--------------
3 files changed, 72 insertions(+), 30 deletions(-)

diff --git a/.github/workflows/nixos.yaml b/.github/workflows/nixos.yaml @@ -0,0 +1,55 @@ +name: "NixOS" + +on: + push: + branches: ["main"] + pull_request: + branches: ["main"] + +jobs: + nixos: + runs-on: ubuntu-latest + steps: + - name: Maximize build space + uses: AdityaGarg8/remove-unwanted-software@v1 + with: + remove-dotnet: 'true' + remove-android: 'true' + remove-haskell: 'true' + + - uses: pierotofy/set-swap-space@master + with: + swap-size-gb: 10 + + - uses: actions/checkout@v4 + + - uses: cachix/install-nix-action@v25 + with: + nix_path: nixpkgs=channel:nixos-unstable + + - uses: DeterminateSystems/magic-nix-cache-action@v2 + + - name: Build + run: | + if [[ "$(nix eval .#nixosConfigurations.nixos-s-1vcpu-512mb-10gb-ams3-01.pkgs.system)" = '"x86_64-linux"' ]]; then + nix build .#nixosConfigurations.nixos-s-1vcpu-512mb-10gb-ams3-01.config.system.build.toplevel + fi + + - name: Check + run: nix flake check + + - name: Deploy + if: github.ref == 'refs/heads/main' + env: + SSH_KEY: ${{secrets.SSH_KEY}} + SSH_KNOWN_HOSTS: ${{secrets.SSH_KNOWN_HOSTS}} + run: | + # Set up SSH key + mkdir -p ~/.ssh + printenv SSH_KEY > ~/.ssh/id_ed25519 + printenv SSH_KNOWN_HOSTS > ~/.ssh/known_hosts + chmod 600 ~/.ssh/id_ed25519 + chmod 600 ~/.ssh/known_hosts + + # Deploy to server + NIX_SSHOPTS="-i ~/.ssh/id_ed25519 -o UserKnownHostsFile=~/.ssh/known_hosts -t" nix run nixpkgs#nixos-rebuild -- --fast --flake .#nixos-s-1vcpu-512mb-10gb-ams3-01 --target-host root@188.166.127.72 test diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml @@ -1,16 +0,0 @@ -name: "Test" -on: - pull_request: - push: -jobs: - tests: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: cachix/install-nix-action@v25 - with: - nix_path: nixpkgs=channel:nixos-unstable - - uses: DeterminateSystems/magic-nix-cache-action@v2 - - run: nix build .#nixosConfigurations.nixos-s-1vcpu-512mb-10gb-ams3-01.config.system.build.toplevel - - run: nix flake check - - run: nix develop -c "echo OK" diff --git a/nixos/configuration.nix b/nixos/configuration.nix @@ -55,24 +55,27 @@ }; sops.secrets.ca_certificate = { }; - users.users.silas = { - isNormalUser = true; - description = "Silas Brack"; - home = "/home/silas"; - extraGroups = [ - "networkmanager" - "wheel" - ]; # "keys" - openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJtyTJ7fQ/dF4ObtXcjmjJ3OFtjkYEJdr/szcugDEA3C silasbrack@gmail.com" # Thinkpad - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGqHJMc2SCzL50SO9Flfnhn012p1dmp4Iph8lPQ2aoe/ silasbrack@gmail.com" # Desktop - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZ0gNM0od3EE/LL27kYQ/s5MOU7LBNc0pWRWROeINij silas@Lorenzas-MacBook-Pro.local" # Lolo's Macbook Pro - ]; + users.users = { + silas = { + isNormalUser = true; + description = "Silas Brack"; + home = "/home/silas"; + extraGroups = [ + "networkmanager" + "wheel" + ]; # "keys" + openssh.authorizedKeys.keys = [ + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJtyTJ7fQ/dF4ObtXcjmjJ3OFtjkYEJdr/szcugDEA3C silasbrack@gmail.com" # Thinkpad + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIGqHJMc2SCzL50SO9Flfnhn012p1dmp4Iph8lPQ2aoe/ silasbrack@gmail.com" # Desktop + "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZ0gNM0od3EE/LL27kYQ/s5MOU7LBNc0pWRWROeINij silas@Lorenzas-MacBook-Pro.local" # Lolo's Macbook Pro + ]; + }; }; services.my_app = { - enable = true; + enable = false; package = my_app.packages."x86_64-linux".default; port = 8009; }; + }