Skip to content
Snippets Groups Projects
Select Git revision
  • cb1f0038b696c9862ca83acc013aa394a7970657
  • master default protected
  • v1.22.9
  • v1.22.8
  • v1.22.7
  • v1.22.6
  • v1.22.5
  • v1.22.4
  • v1.22.3
  • v1.22.1
  • v1.22.0
  • v1.21.0
  • v1.20.5
  • v1.20.4
  • v1.20.3
  • v1.20.2
  • v1.20.1
  • v1.20.0
  • v1.19.0
  • v1.18.3
  • v1.18.2
  • v1.18.1
22 results

flake.nix

Blame
  • flake.nix 4.40 KiB
    {
      description = "Configuration is a library";
    
      inputs = {
        nixpkgs = {url = "github:nixos/nixpkgs/nixos-24.05";};
        nixpkgsUnstable = {url = "github:nixos/nixpkgs/nixos-unstable";};
        flakeUtils = {url = "github:numtide/flake-utils";};
    
        commonFlake = {
          url = "git+https://gitlab.schukai.com/schukai/entwicklung/nix-flakes.git?dir=common";
          flake = true;
        };
    
        versionFlake = {
          url = "git+https://gitlab.schukai.com/oss/utilities/version.git";
          flake = true;
        };
      };
    
      outputs = {
        self,
        nixpkgs,
        nixpkgsUnstable,
        flake-utils,
        versionFlake,
        commonFlake,
        ...
      } @ inputs:
        flake-utils.lib.eachDefaultSystem (system: let
          inherit (nixpkgs.lib) optional;
    
          commonPck = commonFlake.packages.${system}.common;
          versionPck = versionFlake.packages.${system}.version;
    
          pkgs' = import nixpkgs {
            inherit system;
            overlays = [
              (final: prev: {
                common = commonPck;
              })
    
              (final: prev: {
                version = versionPck;
              })
    
              (final: prev: {
                dolt =
                  (import nixpkgsUnstable {
                    inherit system;
                  })
                  .dolt;
              })
            ];
          };
        in {
          packages = rec {
            manual = pkgs'.callPackage ./nix/packages/manual.nix {inherit self pkgs';};
          };
    
          devShells = {
            default = let
              commonPck = commonFlake.packages.${system}.common;
              commonScript = commonPck + "/bin/common";
    
              versionPck = versionFlake.packages.${system}.version;
              versionBin = versionPck + "/bin/version";
    
              scriptGoTask = import ./nix/scripts/go-task.nix {inherit self pkgs' system;};
    
              commonPackages = import ./nix/config/common-packages.nix {inherit pkgs';};