diff --git a/.github/workflows/build-and-cache.yml b/.github/workflows/build-and-cache.yml index 0e2e1df..937167e 100644 --- a/.github/workflows/build-and-cache.yml +++ b/.github/workflows/build-and-cache.yml @@ -11,20 +11,29 @@ jobs: os: - ubuntu-latest - macos-latest + runs-on: ${{ matrix.os }} continue-on-error: true steps: - - uses: DeterminateSystems/nix-installer-action@main + - name: Install Nix + uses: cachix/install-nix-action@v30 + + - uses: cachix/cachix-action@v14 with: - logger: pretty - - uses: DeterminateSystems/magic-nix-cache-action@main + name: cything + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + useDaemon: false + installCommand: nix profile install nixpkgs#cachix + - name: Setup Attic cache uses: ryanccn/attic-action@v0 with: endpoint: ${{ vars.ATTIC_ENDPOINT }} cache: ${{ vars.ATTIC_CACHE }} token: ${{ secrets.ATTIC_TOKEN }} + - run: nix build -L '${{ matrix.package }}' + build-machines: strategy: matrix: @@ -35,6 +44,7 @@ jobs: os: - ubuntu-latest # - macos-latest + runs-on: ${{ matrix.os }} continue-on-error: true steps: @@ -50,21 +60,31 @@ jobs: remove-docker-images: 'true' build-mount-path: /nix build-mount-path-ownership: 'root:root' - - uses: DeterminateSystems/nix-installer-action@main - with: - logger: pretty - - uses: DeterminateSystems/magic-nix-cache-action@main + + - name: Install Nix + uses: cachix/install-nix-action@v30 + - name: Setup Attic cache uses: ryanccn/attic-action@v0 with: endpoint: ${{ vars.ATTIC_ENDPOINT }} cache: ${{ vars.ATTIC_CACHE }} token: ${{ secrets.ATTIC_TOKEN }} + + - uses: cachix/cachix-action@v14 + with: + name: cything + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + useDaemon: false + installCommand: nix profile install nixpkgs#cachix + - name: Sync repository uses: actions/checkout@v4 with: persist-credentials: false + - run: nix build -L --accept-flake-config .#nixosConfigurations.${{ matrix.machine }}.config.system.build.toplevel + build-homes: strategy: matrix: @@ -74,6 +94,7 @@ jobs: os: - ubuntu-latest # - macos-latest + runs-on: ${{ matrix.os }} continue-on-error: true steps: @@ -89,18 +110,27 @@ jobs: remove-docker-images: 'true' build-mount-path: /nix build-mount-path-ownership: 'root:root' - - uses: DeterminateSystems/nix-installer-action@main - with: - logger: pretty - - uses: DeterminateSystems/magic-nix-cache-action@main + + - name: Install Nix + uses: cachix/install-nix-action@v30 + - name: Setup Attic cache uses: ryanccn/attic-action@v0 with: endpoint: ${{ vars.ATTIC_ENDPOINT }} cache: ${{ vars.ATTIC_CACHE }} token: ${{ secrets.ATTIC_TOKEN }} + + - uses: cachix/cachix-action@v14 + with: + name: cything + authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}' + useDaemon: false + installCommand: nix profile install nixpkgs#cachix + - name: Sync repository uses: actions/checkout@v4 with: persist-credentials: false + - run: nix build -L --accept-flake-config .#homeConfigurations."${{ matrix.home }}".activationPackage diff --git a/flake.lock b/flake.lock index b093702..d0b4013 100644 --- a/flake.lock +++ b/flake.lock @@ -74,6 +74,22 @@ } }, "flake-compat_2": { + "flake": false, + "locked": { + "lastModified": 1696426674, + "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", + "owner": "edolstra", + "repo": "flake-compat", + "rev": "0f9255e01c2351cc7d116c072cb317785dd33b33", + "type": "github" + }, + "original": { + "owner": "edolstra", + "repo": "flake-compat", + "type": "github" + } + }, + "flake-compat_3": { "locked": { "lastModified": 1696426674, "narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=", @@ -151,6 +167,24 @@ "inputs": { "systems": "systems" }, + "locked": { + "lastModified": 1705309234, + "narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_2": { + "inputs": { + "systems": "systems_2" + }, "locked": { "lastModified": 1731533236, "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", @@ -165,6 +199,27 @@ "type": "github" } }, + "ghostty": { + "inputs": { + "flake-compat": "flake-compat", + "nixpkgs-stable": "nixpkgs-stable", + "nixpkgs-unstable": "nixpkgs-unstable", + "zig": "zig" + }, + "locked": { + "lastModified": 1737085478, + "narHash": "sha256-EzdUQf1ljtGIWMmscVzoW3rUxxN3UKyNXOXbzUvz3BQ=", + "owner": "ghostty-org", + "repo": "ghostty", + "rev": "72d085525b22d66468c5969a4d507a0fa68d4a04", + "type": "github" + }, + "original": { + "owner": "ghostty-org", + "repo": "ghostty", + "type": "github" + } + }, "git-hooks": { "inputs": { "flake-compat": [ @@ -307,7 +362,7 @@ "lanzaboote": { "inputs": { "crane": "crane", - "flake-compat": "flake-compat", + "flake-compat": "flake-compat_2", "flake-parts": "flake-parts_2", "nixpkgs": [ "nixpkgs" @@ -337,7 +392,7 @@ "nixpkgs": [ "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable_2", + "nixpkgs-stable": "nixpkgs-stable_3", "xwayland-satellite-stable": "xwayland-satellite-stable", "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, @@ -454,6 +509,22 @@ } }, "nixpkgs-stable": { + "locked": { + "lastModified": 1733423277, + "narHash": "sha256-TxabjxEgkNbCGFRHgM/b9yZWlBj60gUOUnRT/wbVQR8=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "e36963a147267afc055f7cf65225958633e536bf", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "release-24.11", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs-stable_2": { "locked": { "lastModified": 1730741070, "narHash": "sha256-edm8WG19kWozJ/GqyYx2VjW99EdhjKwbY3ZwdlPAAlo=", @@ -469,7 +540,7 @@ "type": "github" } }, - "nixpkgs-stable_2": { + "nixpkgs-stable_3": { "locked": { "lastModified": 1737299813, "narHash": "sha256-Qw2PwmkXDK8sPQ5YQ/y/icbQ+TYgbxfjhgnkNJyT1X8=", @@ -485,10 +556,26 @@ "type": "github" } }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1733229606, + "narHash": "sha256-FLYY5M0rpa5C2QAE3CKLYAM6TwbKicdRK6qNrSHlNrE=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "566e53c2ad750c84f6d31f9ccb9d00f823165550", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixvim": { "inputs": { "devshell": "devshell", - "flake-compat": "flake-compat_2", + "flake-compat": "flake-compat_3", "flake-parts": "flake-parts_3", "git-hooks": "git-hooks", "home-manager": "home-manager_2", @@ -515,7 +602,7 @@ }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_2", "ixx": "ixx", "nixpkgs": [ "nixvim", @@ -547,7 +634,7 @@ "lanzaboote", "nixpkgs" ], - "nixpkgs-stable": "nixpkgs-stable" + "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { "lastModified": 1731363552, @@ -567,6 +654,7 @@ "inputs": { "disko": "disko", "flake-parts": "flake-parts", + "ghostty": "ghostty", "home-manager": "home-manager", "lanzaboote": "lanzaboote", "niri": "niri", @@ -654,6 +742,21 @@ "type": "github" } }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt": { "inputs": { "nixpkgs": [ @@ -727,6 +830,31 @@ "repo": "xwayland-satellite", "type": "github" } + }, + "zig": { + "inputs": { + "flake-compat": [ + "ghostty" + ], + "flake-utils": "flake-utils", + "nixpkgs": [ + "ghostty", + "nixpkgs-stable" + ] + }, + "locked": { + "lastModified": 1717848532, + "narHash": "sha256-d+xIUvSTreHl8pAmU1fnmkfDTGQYCn2Rb/zOwByxS2M=", + "owner": "mitchellh", + "repo": "zig-overlay", + "rev": "02fc5cc555fc14fda40c42d7c3250efa43812b43", + "type": "github" + }, + "original": { + "owner": "mitchellh", + "repo": "zig-overlay", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index f75fe1e..f773137 100644 --- a/flake.nix +++ b/flake.nix @@ -36,6 +36,7 @@ url = "github:oxalica/rust-overlay"; inputs.nixpkgs.follows = "nixpkgs"; }; + ghostty.url = "github:ghostty-org/ghostty"; nixpkgs-garage.url = "github:cything/nixpkgs/garage-module"; # unmerged PR }; @@ -110,6 +111,7 @@ overlays = [ inputs.niri.overlays.niri inputs.rust-overlay.overlays.default + inputs.ghostty.overlays.default ] ++ import ./overlay; }; in diff --git a/home/ghostty.nix b/home/ghostty.nix new file mode 100644 index 0000000..f14fc01 --- /dev/null +++ b/home/ghostty.nix @@ -0,0 +1,11 @@ +{ ... }: { + programs.ghostty = { + enable = true; + enableZshIntegration = true; + settings = { + font-family = "IBM Plex Mono"; + font-size = 8; + window-decoration = false; + }; + }; +} diff --git a/home/niri/default.nix b/home/niri/default.nix index 9aa8636..4e39606 100644 --- a/home/niri/default.nix +++ b/home/niri/default.nix @@ -6,7 +6,7 @@ }: let wallpaper = "${./nixos-c-book.png}"; - terminal = "foot"; + terminal = "ghostty"; menu = [ "fuzzel" "-w" diff --git a/home/yt/ytnix.nix b/home/yt/ytnix.nix index 6d34814..f60bdcc 100644 --- a/home/yt/ytnix.nix +++ b/home/yt/ytnix.nix @@ -7,6 +7,7 @@ ./common.nix ../foot.nix ../niri + ../ghostty.nix ]; home = { username = "yt";