Initial experimental commit
This commit is contained in:
		
							parent
							
								
									b848f9d893
								
							
						
					
					
						commit
						682a19b13c
					
				
					 146 changed files with 2463 additions and 2389 deletions
				
			
		
							
								
								
									
										83
									
								
								home/profile/base/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								home/profile/base/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,83 @@
 | 
			
		|||
{ inputs, lib, pkgs, config, outputs, ... }:
 | 
			
		||||
let
 | 
			
		||||
  cfg = config.profiles.base;
 | 
			
		||||
  inherit (inputs.nix-colors) colorSchemes;
 | 
			
		||||
  inherit (inputs.nix-colors.lib-contrib { inherit pkgs; }) nixWallpaperFromScheme;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
    inputs.nix-colors.homeManagerModule
 | 
			
		||||
    ../../programs
 | 
			
		||||
  ] ++ (builtins.attrValues outputs.homeManagerModules);
 | 
			
		||||
 | 
			
		||||
  config = lib.mkIf cfg.enable {
 | 
			
		||||
    nixpkgs = {
 | 
			
		||||
      overlays = builtins.attrValues outputs.overlays;
 | 
			
		||||
      config = {
 | 
			
		||||
        allowUnfree = true;
 | 
			
		||||
        allowUnfreePredicate = (_: true);
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    nix = {
 | 
			
		||||
      package = lib.mkDefault pkgs.nix;
 | 
			
		||||
      settings = {
 | 
			
		||||
        experimental-features = [ "nix-command" "flakes" "repl-flake" ];
 | 
			
		||||
        warn-dirty = false;
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    programs = {
 | 
			
		||||
      home-manager.enable = true;
 | 
			
		||||
      git.enable = true;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    home = {
 | 
			
		||||
      username = lib.mkDefault "ooks";
 | 
			
		||||
      homeDirectory = lib.mkDefault "/home/${config.home.username}";
 | 
			
		||||
      stateVersion = lib.mkDefault "22.05";
 | 
			
		||||
      sessionPath = [ "$HOME/.local/bin" ];
 | 
			
		||||
      sessionVariables = {
 | 
			
		||||
        FLAKE = "$HOME/.dotfiles/nix";
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    xdg.portal.enable = true;
 | 
			
		||||
 | 
			
		||||
    programs = {
 | 
			
		||||
      console = {
 | 
			
		||||
        editor.helix = {
 | 
			
		||||
          enable = true;
 | 
			
		||||
          default = true;
 | 
			
		||||
        };
 | 
			
		||||
        prompt.starship.enable = true;
 | 
			
		||||
        shell = {
 | 
			
		||||
          fish.enable = true;
 | 
			
		||||
          bash.enable = true;
 | 
			
		||||
        };
 | 
			
		||||
        multiplexer.zellij.enable = true;
 | 
			
		||||
        utility = {
 | 
			
		||||
          nixIndex.enable = true;
 | 
			
		||||
          git.enable = true;
 | 
			
		||||
          tools.enable = true;
 | 
			
		||||
        };
 | 
			
		||||
      };
 | 
			
		||||
    };  
 | 
			
		||||
 | 
			
		||||
    wallpaper =
 | 
			
		||||
      let
 | 
			
		||||
        largest = f: xs: builtins.head (builtins.sort (a: b: a > b) (map f xs));
 | 
			
		||||
        largestWidth = largest (x: x.width) config.monitors;
 | 
			
		||||
        largestHeight = largest (x: x.height) config.monitors;
 | 
			
		||||
      in
 | 
			
		||||
      lib.mkDefault (nixWallpaperFromScheme
 | 
			
		||||
        {
 | 
			
		||||
          scheme = config.colorscheme;
 | 
			
		||||
          width = largestWidth;
 | 
			
		||||
          height = largestHeight;
 | 
			
		||||
          logoScale = 4;
 | 
			
		||||
        });
 | 
			
		||||
    colorscheme = lib.mkDefault colorSchemes.everforest;
 | 
			
		||||
    home.file.".colorscheme".text = config.colorscheme.slug;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										0
									
								
								home/profile/creative/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								home/profile/creative/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										33
									
								
								home/profile/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								home/profile/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
{ lib, config, ... }:
 | 
			
		||||
 | 
			
		||||
let
 | 
			
		||||
  profileEnabler = let
 | 
			
		||||
    reducer = l: r: {"${r}".enable = true;} // l;
 | 
			
		||||
  in
 | 
			
		||||
    builtins.foldl' reducer {} config.activeProfiles;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
  imports = [
 | 
			
		||||
    ./base
 | 
			
		||||
    ./hyprland
 | 
			
		||||
    #./creative
 | 
			
		||||
  ];
 | 
			
		||||
 | 
			
		||||
  options = {
 | 
			
		||||
    activeProfiles = lib.mkOption {
 | 
			
		||||
      type = lib.types.listOf lib.types.str;
 | 
			
		||||
      default = [];
 | 
			
		||||
    };
 | 
			
		||||
    
 | 
			
		||||
    profiles = {
 | 
			
		||||
      base = {
 | 
			
		||||
        enable = lib.mkEnableOption "Enable the base profile";
 | 
			
		||||
      };
 | 
			
		||||
      hyprland = {
 | 
			
		||||
        enable = lib.mkEnableOption "Enable the hyprland profile";
 | 
			
		||||
      };
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
  
 | 
			
		||||
  config.profiles = profileEnabler;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										0
									
								
								home/profile/gaming/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								home/profile/gaming/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										31
									
								
								home/profile/hyprland/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								home/profile/hyprland/default.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,31 @@
 | 
			
		|||
{ config, lib, ... }:
 | 
			
		||||
let
 | 
			
		||||
  cfg = config.profiles.hyprland;
 | 
			
		||||
in
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
  imports = [
 | 
			
		||||
    ../../programs
 | 
			
		||||
  ];
 | 
			
		||||
  
 | 
			
		||||
  config = lib.mkIf cfg.enable {
 | 
			
		||||
    programs.desktop = {
 | 
			
		||||
      wayland = {
 | 
			
		||||
        base.enable = true;
 | 
			
		||||
        windowManager.hyprland.enable = true;
 | 
			
		||||
        lockscreen.swaylock.enable = true;
 | 
			
		||||
        notification.mako.enable = true;
 | 
			
		||||
        bar.eww.enable = true;
 | 
			
		||||
      };
 | 
			
		||||
      browser.firefox = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        default = true;
 | 
			
		||||
      };
 | 
			
		||||
      terminal.foot = {
 | 
			
		||||
        enable = true;
 | 
			
		||||
        default = true;
 | 
			
		||||
      };
 | 
			
		||||
      themeSettings.enable = true;
 | 
			
		||||
    };
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										0
									
								
								home/profile/productivity/default.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								home/profile/productivity/default.nix
									
										
									
									
									
										Normal file
									
								
							
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue