Create flake.nix
This commit is contained in:
		
							
								
								
									
										151
									
								
								home-manager/common.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								home-manager/common.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,151 @@ | ||||
| { config, pkgs, ... }: | ||||
|  | ||||
| { | ||||
|   # Home Manager needs a bit of information about you and the paths it should | ||||
|   # manage. | ||||
|   home.username = "j"; | ||||
|   home.homeDirectory = "/home/j"; | ||||
|  | ||||
|   # This value determines the Home Manager release that your configuration is | ||||
|   # compatible with. This helps avoid breakage when a new Home Manager release | ||||
|   # introduces backwards incompatible changes. | ||||
|   # | ||||
|   # You should not change this value, even if you update Home Manager. If you do | ||||
|   # want to update the value, then make sure to first check the Home Manager | ||||
|   # release notes. | ||||
|   home.stateVersion = "25.05"; # Please read the comment before changing. | ||||
|  | ||||
|   # The home.packages option allows you to install Nix packages into your | ||||
|   # environment. | ||||
|   home.packages = with pkgs; [ | ||||
|     # Desktop | ||||
|     pavucontrol | ||||
|     wofi | ||||
|     waybar | ||||
|  | ||||
|     pkgs.nerd-fonts.fira-code | ||||
|     pkgs.nerd-fonts.monoid | ||||
|  | ||||
|     wezterm | ||||
|  | ||||
|     # Editors | ||||
|     emacs | ||||
|     neovim | ||||
|     helix | ||||
|  | ||||
|     # Utils | ||||
|     jq | ||||
|     bat # less alternative | ||||
|     eza # Better ld | ||||
|     zoxide # better cd | ||||
|     yazi # File manager | ||||
|  | ||||
|     # Shells | ||||
|     fish | ||||
|     grc # Colorizer | ||||
|     fishPlugins.grc | ||||
|     starship | ||||
|  | ||||
|     # Dev tools | ||||
|     git | ||||
|  | ||||
|     #uutils-coreutils | ||||
|  | ||||
|     # # It is sometimes useful to fine-tune packages, for example, by applying | ||||
|     # # overrides. You can do that directly here, just don't forget the | ||||
|     # # parentheses. Maybe you want to install Nerd Fonts with a limited number of | ||||
|     # # fonts? | ||||
|     # (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; }) | ||||
|  | ||||
|     # # You can also create simple shell scripts directly inside your | ||||
|     # # configuration. For example, this adds a command 'my-hello' to your | ||||
|     # # environment: | ||||
|     # (pkgs.writeShellScriptBin "my-hello" '' | ||||
|     #   echo "Hello, ${config.home.username}!" | ||||
|     # '') | ||||
|   ]; | ||||
|  | ||||
|   # Home Manager is pretty good at managing dotfiles. The primary way to manage | ||||
|   # plain files is through 'home.file'. | ||||
|   home.file = { | ||||
|     # # Building this configuration will create a copy of 'dotfiles/screenrc' in | ||||
|     # # the Nix store. Activating the configuration will then make '~/.screenrc' a | ||||
|     # # symlink to the Nix store copy. | ||||
|     # ".screenrc".source = dotfiles/screenrc; | ||||
|  | ||||
|     # # You can also set the file content immediately. | ||||
|     # ".gradle/gradle.properties".text = '' | ||||
|     #   org.gradle.console=verbose | ||||
|     #   org.gradle.daemon.idletimeout=3600000 | ||||
|     # ''; | ||||
|   }; | ||||
|  | ||||
|   # Home Manager can also manage your environment variables through | ||||
|   # 'home.sessionVariables'. These will be explicitly sourced when using a | ||||
|   # shell provided by Home Manager. If you don't want to manage your shell | ||||
|   # through Home Manager then you have to manually source 'hm-session-vars.sh' | ||||
|   # located at either | ||||
|   # | ||||
|   #  ~/.nix-profile/etc/profile.d/hm-session-vars.sh | ||||
|   # | ||||
|   # or | ||||
|   # | ||||
|   #  ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh | ||||
|   # | ||||
|   # or | ||||
|   # | ||||
|   #  /etc/profiles/per-user/j/etc/profile.d/hm-session-vars.sh | ||||
|   # | ||||
|   home.sessionVariables = { | ||||
|     # EDITOR = "emacs"; | ||||
|     EDITOR = "nvim"; | ||||
|   }; | ||||
|  | ||||
|   # Let Home Manager install and manage itself. | ||||
|   programs.home-manager.enable = true; | ||||
|  | ||||
|   programs.eza = { | ||||
|   	enableFishIntegration = true; | ||||
| 	icons = "auto"; | ||||
| 	git = true; | ||||
| 	extraOptions = [ | ||||
| 		"--color=always" | ||||
| 		"--tree" | ||||
| 		"--level=1" | ||||
| 		"--group-directories=first" | ||||
| 		"--dereference" | ||||
| 	]; | ||||
|   }; | ||||
|  | ||||
|   programs.fish = { | ||||
|       enable = true; | ||||
|       interactiveShellInit = ''set fish_greeting ''; | ||||
|       plugins = [ | ||||
|         { name = "grc"; src = pkgs.fishPlugins.grc.src; } | ||||
|       ]; | ||||
|   }; | ||||
|  | ||||
|   programs.starship = { | ||||
|     enable = true; | ||||
|     settings = { | ||||
| 	    add_newline = false; | ||||
|     }; | ||||
|   }; | ||||
|  | ||||
|   programs.zoxide.enable = true; | ||||
|   programs.bash = { | ||||
|     enable = true; | ||||
|     initExtra = '' | ||||
|       if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]] | ||||
|       then | ||||
|         shopt -q login_shell && LOGIN_OPTION='--login' || LOGIN_OPTION="" | ||||
|         exec ${pkgs.fish}/bin/fish $LOGIN_OPTION | ||||
|       fi | ||||
|     ''; # Launch fish on startup | ||||
|   }; | ||||
|  | ||||
|   fonts.fontconfig.enable = true; | ||||
|  | ||||
|  | ||||
|  | ||||
| } | ||||
							
								
								
									
										15
									
								
								home-manager/lenny.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								home-manager/lenny.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| { config, pkgs, ... }: | ||||
| { | ||||
|   home.packages = with pkgs; [ | ||||
|   	jujutsu | ||||
|   ]; | ||||
|   programs.git = { | ||||
|       enable = true; | ||||
|       userName = "Fernando Sánchez"; | ||||
|       userEmail = "f.sanchez@thechannelstore.tv"; | ||||
|       extraConfig = { | ||||
|               init.defaultBranch = "main"; | ||||
|       }; | ||||
|   }; | ||||
|  | ||||
| } | ||||
							
								
								
									
										81
									
								
								home-manager/old.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								home-manager/old.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,81 @@ | ||||
| { config, pkgs, nixgl, ... }: | ||||
| let nixgl = import <nixgl> {}; | ||||
| in | ||||
| { | ||||
|   # Home Manager needs a bit of information about you and the | ||||
|   # paths it should manage. | ||||
|   home.username = "j"; | ||||
|   home.homeDirectory = "/home/j"; | ||||
|  | ||||
|   nixpkgs = { | ||||
|     config = { | ||||
|       allowUnfree = true; | ||||
|       allowUnfreePredicate = (_: true); | ||||
|     }; | ||||
|   }; | ||||
|  | ||||
|   # This value determines the Home Manager release that your | ||||
|   # configuration is compatible with. This helps avoid breakage | ||||
|   # when a new Home Manager release introduces backwards | ||||
|   # incompatible changes. | ||||
|   # | ||||
|   # You can update Home Manager without changing this value. See | ||||
|   # the Home Manager release notes for a list of state version | ||||
|   # changes in each release. | ||||
|   home.stateVersion = "23.05"; | ||||
|  | ||||
|   # Let Home Manager install and manage itself. | ||||
|   programs.home-manager.enable = true; | ||||
|   home.packages = [                                | ||||
|     pkgs.htop | ||||
|     pkgs.zoom-us | ||||
|     pkgs.fortune | ||||
|     pkgs.tmux | ||||
|     pkgs.git | ||||
|     pkgs.git-lfs | ||||
|     pkgs.hugo | ||||
|     pkgs.fish | ||||
|     pkgs.fd | ||||
|     pkgs.helix | ||||
|     pkgs.starship | ||||
|     pkgs.ripgrep | ||||
|     pkgs.eza | ||||
|     pkgs.ansible | ||||
|     pkgs.ranger | ||||
|     pkgs.sshpass | ||||
|     pkgs.jq | ||||
|     pkgs.bat | ||||
|     pkgs.davfs2 | ||||
|     pkgs.pandoc | ||||
|     pkgs.rustup | ||||
|     #pkgs.texlive | ||||
|     # pkgs.texlive.combine { | ||||
|     #   inherit (texlive) xcolor | ||||
|     # } | ||||
|     pkgs.wl-clipboard | ||||
|     nixgl.auto.nixGLDefault | ||||
|    #(pkgs.python311.withPackages (p: with p; [ | ||||
|     #jupyterlab | ||||
|     #matplotlib | ||||
|     #pandas | ||||
|     #openpyxl | ||||
|    #])) | ||||
|     pkgs.alacritty | ||||
|     pkgs.wezterm | ||||
|     pkgs.kitty | ||||
|     pkgs.zellij | ||||
|     (pkgs.nerdfonts.override { fonts = [ "Iosevka" "IosevkaTerm" "Hack" "CascadiaCode" "FiraCode" "DejaVuSansMono" ]; }) | ||||
|   ]; | ||||
|  | ||||
|   fonts.fontconfig.enable = true; | ||||
|   programs.neovim = { | ||||
|     enable = true; | ||||
|     vimAlias = true; | ||||
|     plugins = with pkgs.vimPlugins; [ | ||||
|       auto-pairs | ||||
|       fzf-vim | ||||
|       lightline-vim | ||||
|     ]; | ||||
|   }; | ||||
|   services.owncloud-client.enable = true; | ||||
| } | ||||
							
								
								
									
										13
									
								
								home-manager/personal.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								home-manager/personal.nix
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| { config, pkgs, ... }: | ||||
| { | ||||
|   home.packages = with pkgs; [ ]; | ||||
|   programs.git = { | ||||
|       enable = true; | ||||
|       userName = "J. Fernando Sánchez"; | ||||
|       userEmail = "balkian@gmail.com"; | ||||
|       extraConfig = { | ||||
|               init.defaultBranch = "main"; | ||||
|       }; | ||||
|   }; | ||||
|  | ||||
| } | ||||
		Reference in New Issue
	
	Block a user