82 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			82 lines
		
	
	
	
		
			2.3 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  flake.modules.nixos.base =
 | 
						|
    {
 | 
						|
      config,
 | 
						|
      inputs,
 | 
						|
      lib,
 | 
						|
      pkgs,
 | 
						|
      ...
 | 
						|
    }:
 | 
						|
    let
 | 
						|
      username = "cholli";
 | 
						|
    in
 | 
						|
    {
 | 
						|
      imports = [ inputs.nix-ld.nixosModules.nix-ld ];
 | 
						|
 | 
						|
      environment.systemPackages = with pkgs; [
 | 
						|
        nixfmt-rfc-style
 | 
						|
        nix-prefetch-git
 | 
						|
        nix-index
 | 
						|
 | 
						|
        nix-output-monitor
 | 
						|
 | 
						|
        nix-du
 | 
						|
        nix-weather
 | 
						|
        nix-index
 | 
						|
      ];
 | 
						|
 | 
						|
      programs.nh = {
 | 
						|
        enable = true;
 | 
						|
        package = inputs.nh-flake.packages.${pkgs.system}.nh;
 | 
						|
        flake = "/home/${username}/projects/config";
 | 
						|
      };
 | 
						|
 | 
						|
      nix = {
 | 
						|
        package = pkgs.lix;
 | 
						|
 | 
						|
        settings =
 | 
						|
          let
 | 
						|
            users = [
 | 
						|
              "root"
 | 
						|
              username
 | 
						|
            ]
 | 
						|
            ++ lib.optional (builtins.hasAttr "native" config.services.gitea-actions-runner) "gitea-runner"
 | 
						|
            ++ lib.optional config.services.hydra.enable "hydra hydra-www hydra-evaluator hydra-queue-runner";
 | 
						|
          in
 | 
						|
          {
 | 
						|
            nix-path = "nixpkgs=flake:nixpkgs";
 | 
						|
            experimental-features = "nix-command flakes";
 | 
						|
            http-connections = 50;
 | 
						|
            warn-dirty = false;
 | 
						|
            log-lines = 50;
 | 
						|
            sandbox = "relaxed";
 | 
						|
            auto-optimise-store = true;
 | 
						|
            trusted-users = users;
 | 
						|
            allowed-users = users;
 | 
						|
            allowed-uris = "github: https://github.com/ git+https://github.com/ gitlab: https://gitlab.com/ git+https://gitlab.com/";
 | 
						|
            substituters = [
 | 
						|
              "https://cache.lix.systems"
 | 
						|
              "https://nix-community.cachix.org"
 | 
						|
              "https://nixcache.christophhollizeck.dev"
 | 
						|
              "https://hyprland.cachix.org"
 | 
						|
            ];
 | 
						|
            trusted-public-keys = [
 | 
						|
              "cache.lix.systems:aBnZUw8zA7H35Cz2RyKFVs3H4PlGTLawyY5KRbvJR8o="
 | 
						|
              "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
 | 
						|
              "christophhollizeck.dev:7pPAvm9xqFQB8FDApVNL6Tii1Jsv+Sj/LjEIkdeGhbA="
 | 
						|
              "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
 | 
						|
            ];
 | 
						|
          }
 | 
						|
          // (lib.optionalAttrs config.programs.direnv.enable {
 | 
						|
            keep-outputs = true;
 | 
						|
            keep-derivations = true;
 | 
						|
          });
 | 
						|
 | 
						|
        gc = {
 | 
						|
          automatic = true;
 | 
						|
          dates = "daily";
 | 
						|
          options = "--delete-older-than 7d";
 | 
						|
        };
 | 
						|
      };
 | 
						|
    };
 | 
						|
}
 |