diff --git a/.github/workflows/nix-build-and-cache.yml b/.github/workflows/nix-build-and-cache.yml deleted file mode 100644 index f599b0eb..00000000 --- a/.github/workflows/nix-build-and-cache.yml +++ /dev/null @@ -1,43 +0,0 @@ -name: "Build and Cache" -on: - pull_request: - push: - branches-ignore: - # ignore automated update branches, rely on pull_request hook - - 'automation/**' - - 'dependabot/**' -jobs: - tests-pass: - name: all systems go - runs-on: ubuntu-latest - if: ${{ always() && contains(needs.*.result, 'failure') }} - steps: - - run: exit 1 - needs: - - tests - - tests: - strategy: - # Allow other jobs to finish building and cache properly before bailing - fail-fast: false - matrix: - include: - - os: macos-12 # for macOS home-manager - - os: ubuntu-latest - system: "x86_64-linux" - - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v4 - - uses: cachix/install-nix-action@v30 - with: - extra_nix_config: | - extra-platforms = ${{ matrix.extraPlatforms }} - - - uses: cachix/cachix-action@v15 - with: - name: mrjones2014-dotfiles - signingKey: '${{ secrets.CACHIX_AUTH_TOKEN }}' - - - name: build all definitions - run: nix run github:Mic92/nix-fast-build -L -- --skip-cached --no-download --no-nom --eval-workers 1 --eval-max-memory-size 2048 --flake .#checks.${{ matrix.system }} diff --git a/flake.nix b/flake.nix index 9cdeee7f..b222a2cc 100644 --- a/flake.nix +++ b/flake.nix @@ -5,7 +5,6 @@ nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; catppuccin.url = "github:catppuccin/nix"; tokyonight.url = "github:mrjones2014/tokyonight.nix"; - flake-utils.url = "github:numtide/flake-utils"; wezterm-nightly = { url = "github:wez/wezterm?dir=nix"; inputs.nixpkgs.follows = "nixpkgs"; @@ -32,148 +31,113 @@ }; }; - nixConfig = { - extra-substituters = [ - "https://nix-community.cachix.org" - "https://mrjones2014-dotfiles.cachix.org" - ]; - extra-trusted-public-keys = [ - "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" - "mrjones2014-dotfiles.cachix.org-1:c66wfzthG6KZEWnltlzW/EjhlH9FwUVi5jM4rVD1Rw4=" - ]; - }; - outputs = inputs@{ self, nixpkgs, home-manager, agenix, flake-utils, ... }: - { - nixosConfigurations = { - server = nixpkgs.lib.nixosSystem { - specialArgs = { - inherit inputs; - isServer = true; - isLinux = true; - isThinkpad = false; - isDarwin = false; - }; - system = "x86_64-linux"; - modules = [ - home-manager.nixosModules.home-manager - agenix.nixosModules.default - { - environment.systemPackages = - [ agenix.packages.x86_64-linux.default ]; - } - ./nixos-modules/common.nix - ./hosts/server - { - home-manager = { - backupFileExtension = "backup"; - useUserPackages = true; - users.mat = import ./home-manager/server.nix; - extraSpecialArgs = { - inherit inputs; - isServer = true; - isLinux = true; - isThinkpad = false; - isDarwin = false; - }; - }; - } - ]; + outputs = inputs@{ self, nixpkgs, home-manager, agenix, ... }: { + nixosConfigurations = { + server = nixpkgs.lib.nixosSystem { + specialArgs = { + inherit inputs; + isServer = true; + isLinux = true; + isThinkpad = false; + isDarwin = false; }; - pc = nixpkgs.lib.nixosSystem { - specialArgs = { - inherit inputs; - isServer = false; - isDarwin = false; - isLinux = true; - isThinkpad = false; - }; - system = "x86_64-linux"; - modules = [ - ./nixos-modules/common.nix - ./hosts/pc - home-manager.nixosModules.home-manager - { - home-manager = { - backupFileExtension = "backup"; - useUserPackages = true; - users.mat = import ./home-manager/home.nix; - extraSpecialArgs = { - inherit inputs; - isServer = false; - isDarwin = false; - isLinux = true; - isThinkpad = false; - }; + system = "x86_64-linux"; + modules = [ + home-manager.nixosModules.home-manager + agenix.nixosModules.default + { + environment.systemPackages = + [ agenix.packages.x86_64-linux.default ]; + } + ./nixos-modules/common.nix + ./hosts/server + { + home-manager = { + backupFileExtension = "backup"; + useUserPackages = true; + users.mat = import ./home-manager/server.nix; + extraSpecialArgs = { + inherit inputs; + isServer = true; + isLinux = true; + isThinkpad = false; + isDarwin = false; }; - } - ]; + }; + } + ]; + }; + pc = nixpkgs.lib.nixosSystem { + specialArgs = { + inherit inputs; + isServer = false; + isDarwin = false; + isLinux = true; + isThinkpad = false; }; - laptop = nixpkgs.lib.nixosSystem { - specialArgs = { - inherit inputs; - isServer = false; - isDarwin = false; - isLinux = true; - isThinkpad = true; - }; - system = "x86_64-linux"; - modules = [ - ./nixos-modules/common.nix - ./hosts/laptop - home-manager.nixosModules.home-manager - { - home-manager = { - backupFileExtension = "backup"; - useUserPackages = true; - users.mat = import ./home-manager/home.nix; - extraSpecialArgs = { - inherit inputs; - isServer = false; - isDarwin = false; - isLinux = true; - isThinkpad = true; - }; + system = "x86_64-linux"; + modules = [ + ./nixos-modules/common.nix + ./hosts/pc + home-manager.nixosModules.home-manager + { + home-manager = { + backupFileExtension = "backup"; + useUserPackages = true; + users.mat = import ./home-manager/home.nix; + extraSpecialArgs = { + inherit inputs; + isServer = false; + isDarwin = false; + isLinux = true; + isThinkpad = false; }; - } - ]; + }; + } + ]; + }; + laptop = nixpkgs.lib.nixosSystem { + specialArgs = { + inherit inputs; + isServer = false; + isDarwin = false; + isLinux = true; + isThinkpad = true; }; + system = "x86_64-linux"; + modules = [ + ./nixos-modules/common.nix + ./hosts/laptop + home-manager.nixosModules.home-manager + { + home-manager = { + backupFileExtension = "backup"; + useUserPackages = true; + users.mat = import ./home-manager/home.nix; + extraSpecialArgs = { + inherit inputs; + isServer = false; + isDarwin = false; + isLinux = true; + isThinkpad = true; + }; + }; + } + ]; }; - homeConfigurations = { - "mac" = home-manager.lib.homeManagerConfiguration { - extraSpecialArgs = { - inherit inputs; - isServer = false; - isDarwin = true; - isLinux = false; - isThinkpad = false; - }; - pkgs = nixpkgs.legacyPackages.aarch64-darwin; - modules = [ ./home-manager/home.nix ]; + }; + homeConfigurations = { + "mac" = home-manager.lib.homeManagerConfiguration { + extraSpecialArgs = { + inherit inputs; + isServer = false; + isDarwin = true; + isLinux = false; + isThinkpad = false; }; + pkgs = nixpkgs.legacyPackages.aarch64-darwin; + modules = [ ./home-manager/home.nix ]; }; - } // inputs.flake-utils.lib.eachDefaultSystem (system: - let - pkgs = nixpkgs.legacyPackages.${system}; - - packages = nixpkgs.lib.filterAttrs - (_: pkg: builtins.any (x: x == system) pkg.meta.platforms) - (import ./packages { - inherit pkgs; - inherit inputs; - }); - - checksForConfigs = configs: extract: - nixpkgs.lib.attrsets.filterAttrs (_: p: p.system == system) - (nixpkgs.lib.attrsets.mapAttrs (_: extract) configs); - in { - inherit packages; - - checks = nixpkgs.lib.lists.foldl nixpkgs.lib.attrsets.unionOfDisjoint - packages [ - (checksForConfigs self.homeConfigurations - (hm: hm.activationPackage)) - (checksForConfigs self.nixosConfigurations - (c: c.config.system.build.toplevel)) - ]; - }); + }; + }; } diff --git a/home-manager/modules/fish.nix b/home-manager/modules/fish.nix index 3a4980fa..57c50035 100644 --- a/home-manager/modules/fish.nix +++ b/home-manager/modules/fish.nix @@ -92,11 +92,11 @@ ${if isDarwin then "home-manager switch --flake ~/git/dotfiles/.#mac" else if isServer then - "sudo nixos-rebuild switch --flake ~/git/dotfiles/.#server --accept-nix-config" + "sudo nixos-rebuild switch --flake ~/git/dotfiles/.#server" else if isThinkpad then - "sudo nixos-rebuild switch --flake ~/git/dotfiles/.#laptop --accept-nix-config" + "sudo nixos-rebuild switch --flake ~/git/dotfiles/.#laptop" else - "sudo nixos-rebuild switch --flake ~/git/dotfiles/.#pc --accept-nix-config"} + "sudo nixos-rebuild switch --flake ~/git/dotfiles/.#pc"} ''; }; nix-clean = {