mirror of
https://github.com/davegallant/davegallant.github.io.git
synced 2025-08-13 20:00:20 +00:00
deploy: a89ce9ad6a7470e87090025d2d92de7128db5d2b
This commit is contained in:
@@ -159,25 +159,25 @@ lrwxr-xr-x 73 root 31 Dec 1969 /run/current-system/sw/bin/dig -> /nix/store/
|
||||
<p>⚠️ If you run this on your main machine, make sure you backup your configuration files first. home-manager is pretty good about not overwriting existing configuration, but it is better to have a backup! Alternatively, you could test this out on a VM or cloud instance.</p>
|
||||
</blockquote>
|
||||
<p>The first thing you should do is <a href=https://nixos.org/guides/install-nix.html>install nix</a>:</p>
|
||||
<div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell>curl -L https://nixos.org/nix/install | sh
|
||||
<div class=highlight><pre tabindex=0 style=background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell>curl -L https://nixos.org/nix/install | sh
|
||||
</code></pre></div><p>It’s not a good idea to curl and execute files from the internet (without verifying integrity), so you might want to download the install script first and take a peak before executing it!</p>
|
||||
<p>Open up a new shell in your terminal and running <code>nix</code> <em>should</em> work. If not, run <code>. ~/.nix-profile/etc/profile.d/nix.sh</code></p>
|
||||
<p>Now, <a href=https://github.com/nix-community/home-manager#installation>install home-manager</a>:</p>
|
||||
<div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell>nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
|
||||
<div class=highlight><pre tabindex=0 style=background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-shell data-lang=shell>nix-channel --add https://github.com/nix-community/home-manager/archive/master.tar.gz home-manager
|
||||
nix-channel --update
|
||||
nix-shell <span style=color:#e6db74>'<home-manager>'</span> -A install
|
||||
nix-shell <span style=color:#c30>'<home-manager>'</span> -A install
|
||||
</code></pre></div><p>You should see a wave of <code>/nix/store/*</code> paths being displayed on your screen.</p>
|
||||
<p>Now, to start off with a basic configuration, open up <code>~/.config/nixpkgs/home.nix</code> in the editor of your choice and paste this in (you will want to change <code>userName</code> and <code>homeDirectory</code>):</p>
|
||||
<div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-nix data-lang=nix>{ config<span style=color:#f92672>,</span> pkgs<span style=color:#f92672>,</span> <span style=color:#f92672>...</span> }:
|
||||
<div class=highlight><pre tabindex=0 style=background-color:#f0f3f3;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-nix data-lang=nix>{ config<span style=color:#555>,</span> pkgs<span style=color:#555>,</span> <span style=color:#555>...</span> }:
|
||||
|
||||
{
|
||||
programs<span style=color:#f92672>.</span>home-manager<span style=color:#f92672>.</span>enable <span style=color:#f92672>=</span> <span style=color:#66d9ef>true</span>;
|
||||
programs<span style=color:#555>.</span>home-manager<span style=color:#555>.</span>enable <span style=color:#555>=</span> <span style=color:#360>true</span>;
|
||||
|
||||
home <span style=color:#f92672>=</span> {
|
||||
username <span style=color:#f92672>=</span> <span style=color:#e6db74>"dave"</span>;
|
||||
homeDirectory <span style=color:#f92672>=</span> <span style=color:#e6db74>"/home/dave"</span>;
|
||||
stateVersion <span style=color:#f92672>=</span> <span style=color:#e6db74>"21.11"</span>;
|
||||
packages <span style=color:#f92672>=</span> <span style=color:#66d9ef>with</span> pkgs; [
|
||||
home <span style=color:#555>=</span> {
|
||||
username <span style=color:#555>=</span> <span style=color:#c30>"dave"</span>;
|
||||
homeDirectory <span style=color:#555>=</span> <span style=color:#c30>"/home/dave"</span>;
|
||||
stateVersion <span style=color:#555>=</span> <span style=color:#c30>"21.11"</span>;
|
||||
packages <span style=color:#555>=</span> <span style=color:#069;font-weight:700>with</span> pkgs; [
|
||||
bind
|
||||
exa
|
||||
fd
|
||||
@@ -185,83 +185,83 @@ nix-shell <span style=color:#e6db74>'<home-manager>'</span> -A ins
|
||||
];
|
||||
};
|
||||
|
||||
programs <span style=color:#f92672>=</span> {
|
||||
programs <span style=color:#555>=</span> {
|
||||
|
||||
git <span style=color:#f92672>=</span> {
|
||||
enable <span style=color:#f92672>=</span> <span style=color:#66d9ef>true</span>;
|
||||
aliases <span style=color:#f92672>=</span> {
|
||||
aa <span style=color:#f92672>=</span> <span style=color:#e6db74>"add -A ."</span>;
|
||||
br <span style=color:#f92672>=</span> <span style=color:#e6db74>"branch"</span>;
|
||||
c <span style=color:#f92672>=</span> <span style=color:#e6db74>"commit -S"</span>;
|
||||
ca <span style=color:#f92672>=</span> <span style=color:#e6db74>"commit -S --amend"</span>;
|
||||
cb <span style=color:#f92672>=</span> <span style=color:#e6db74>"checkout -b"</span>;
|
||||
co <span style=color:#f92672>=</span> <span style=color:#e6db74>"checkout"</span>;
|
||||
d <span style=color:#f92672>=</span> <span style=color:#e6db74>"diff"</span>;
|
||||
l <span style=color:#f92672>=</span>
|
||||
<span style=color:#e6db74>"log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"</span>;
|
||||
git <span style=color:#555>=</span> {
|
||||
enable <span style=color:#555>=</span> <span style=color:#360>true</span>;
|
||||
aliases <span style=color:#555>=</span> {
|
||||
aa <span style=color:#555>=</span> <span style=color:#c30>"add -A ."</span>;
|
||||
br <span style=color:#555>=</span> <span style=color:#c30>"branch"</span>;
|
||||
c <span style=color:#555>=</span> <span style=color:#c30>"commit -S"</span>;
|
||||
ca <span style=color:#555>=</span> <span style=color:#c30>"commit -S --amend"</span>;
|
||||
cb <span style=color:#555>=</span> <span style=color:#c30>"checkout -b"</span>;
|
||||
co <span style=color:#555>=</span> <span style=color:#c30>"checkout"</span>;
|
||||
d <span style=color:#555>=</span> <span style=color:#c30>"diff"</span>;
|
||||
l <span style=color:#555>=</span>
|
||||
<span style=color:#c30>"log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"</span>;
|
||||
};
|
||||
|
||||
delta <span style=color:#f92672>=</span> {
|
||||
enable <span style=color:#f92672>=</span> <span style=color:#66d9ef>true</span>;
|
||||
delta <span style=color:#555>=</span> {
|
||||
enable <span style=color:#555>=</span> <span style=color:#360>true</span>;
|
||||
|
||||
options <span style=color:#f92672>=</span> {
|
||||
features <span style=color:#f92672>=</span> <span style=color:#e6db74>"line-numbers decorations"</span>;
|
||||
whitespace-error-style <span style=color:#f92672>=</span> <span style=color:#e6db74>"22 reverse"</span>;
|
||||
plus-style <span style=color:#f92672>=</span> <span style=color:#e6db74>"green bold ul '#198214'"</span>;
|
||||
decorations <span style=color:#f92672>=</span> {
|
||||
commit-decoration-style <span style=color:#f92672>=</span> <span style=color:#e6db74>"bold yellow box ul"</span>;
|
||||
file-style <span style=color:#f92672>=</span> <span style=color:#e6db74>"bold yellow ul"</span>;
|
||||
file-decoration-style <span style=color:#f92672>=</span> <span style=color:#e6db74>"none"</span>;
|
||||
options <span style=color:#555>=</span> {
|
||||
features <span style=color:#555>=</span> <span style=color:#c30>"line-numbers decorations"</span>;
|
||||
whitespace-error-style <span style=color:#555>=</span> <span style=color:#c30>"22 reverse"</span>;
|
||||
plus-style <span style=color:#555>=</span> <span style=color:#c30>"green bold ul '#198214'"</span>;
|
||||
decorations <span style=color:#555>=</span> {
|
||||
commit-decoration-style <span style=color:#555>=</span> <span style=color:#c30>"bold yellow box ul"</span>;
|
||||
file-style <span style=color:#555>=</span> <span style=color:#c30>"bold yellow ul"</span>;
|
||||
file-decoration-style <span style=color:#555>=</span> <span style=color:#c30>"none"</span>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
extraConfig <span style=color:#f92672>=</span> {
|
||||
push <span style=color:#f92672>=</span> { default <span style=color:#f92672>=</span> <span style=color:#e6db74>"current"</span>; };
|
||||
pull <span style=color:#f92672>=</span> { rebase <span style=color:#f92672>=</span> <span style=color:#66d9ef>true</span>; };
|
||||
extraConfig <span style=color:#555>=</span> {
|
||||
push <span style=color:#555>=</span> { default <span style=color:#555>=</span> <span style=color:#c30>"current"</span>; };
|
||||
pull <span style=color:#555>=</span> { rebase <span style=color:#555>=</span> <span style=color:#360>true</span>; };
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
starship <span style=color:#f92672>=</span> {
|
||||
enable <span style=color:#f92672>=</span> <span style=color:#66d9ef>true</span>;
|
||||
enableZshIntegration <span style=color:#f92672>=</span> <span style=color:#66d9ef>true</span>;
|
||||
starship <span style=color:#555>=</span> {
|
||||
enable <span style=color:#555>=</span> <span style=color:#360>true</span>;
|
||||
enableZshIntegration <span style=color:#555>=</span> <span style=color:#360>true</span>;
|
||||
|
||||
settings <span style=color:#f92672>=</span> {
|
||||
add_newline <span style=color:#f92672>=</span> <span style=color:#66d9ef>false</span>;
|
||||
scan_timeout <span style=color:#f92672>=</span> <span style=color:#ae81ff>10</span>;
|
||||
settings <span style=color:#555>=</span> {
|
||||
add_newline <span style=color:#555>=</span> <span style=color:#360>false</span>;
|
||||
scan_timeout <span style=color:#555>=</span> <span style=color:#f60>10</span>;
|
||||
};
|
||||
};
|
||||
|
||||
zsh <span style=color:#f92672>=</span> {
|
||||
enable <span style=color:#f92672>=</span> <span style=color:#66d9ef>true</span>;
|
||||
enableAutosuggestions <span style=color:#f92672>=</span> <span style=color:#66d9ef>true</span>;
|
||||
enableSyntaxHighlighting <span style=color:#f92672>=</span> <span style=color:#66d9ef>true</span>;
|
||||
history<span style=color:#f92672>.</span>size <span style=color:#f92672>=</span> <span style=color:#ae81ff>1000000</span>;
|
||||
zsh <span style=color:#555>=</span> {
|
||||
enable <span style=color:#555>=</span> <span style=color:#360>true</span>;
|
||||
enableAutosuggestions <span style=color:#555>=</span> <span style=color:#360>true</span>;
|
||||
enableSyntaxHighlighting <span style=color:#555>=</span> <span style=color:#360>true</span>;
|
||||
history<span style=color:#555>.</span>size <span style=color:#555>=</span> <span style=color:#f60>1000000</span>;
|
||||
|
||||
localVariables <span style=color:#f92672>=</span> {
|
||||
CASE_SENSITIVE <span style=color:#f92672>=</span> <span style=color:#e6db74>"true"</span>;
|
||||
DISABLE_UNTRACKED_FILES_DIRTY <span style=color:#f92672>=</span> <span style=color:#e6db74>"true"</span>;
|
||||
RPROMPT <span style=color:#f92672>=</span> <span style=color:#e6db74>""</span>; <span style=color:#75715e># override because macOS defaults to filepath</span>
|
||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE <span style=color:#f92672>=</span> <span style=color:#e6db74>"fg=#838383,underline"</span>;
|
||||
ZSH_DISABLE_COMPFIX <span style=color:#f92672>=</span> <span style=color:#e6db74>"true"</span>;
|
||||
localVariables <span style=color:#555>=</span> {
|
||||
CASE_SENSITIVE <span style=color:#555>=</span> <span style=color:#c30>"true"</span>;
|
||||
DISABLE_UNTRACKED_FILES_DIRTY <span style=color:#555>=</span> <span style=color:#c30>"true"</span>;
|
||||
RPROMPT <span style=color:#555>=</span> <span style=color:#c30>""</span>; <span style=color:#09f;font-style:italic># override because macOS defaults to filepath</span>
|
||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE <span style=color:#555>=</span> <span style=color:#c30>"fg=#838383,underline"</span>;
|
||||
ZSH_DISABLE_COMPFIX <span style=color:#555>=</span> <span style=color:#c30>"true"</span>;
|
||||
};
|
||||
|
||||
initExtra <span style=color:#f92672>=</span> <span style=color:#e6db74>''
|
||||
</span><span style=color:#e6db74> export PAGER=less
|
||||
</span><span style=color:#e6db74> ''</span>;
|
||||
initExtra <span style=color:#555>=</span> <span style=color:#c30>''
|
||||
</span><span style=color:#c30> export PAGER=less
|
||||
</span><span style=color:#c30> ''</span>;
|
||||
|
||||
shellAliases <span style=color:#f92672>=</span> {
|
||||
<span style=color:#e6db74>".."</span> <span style=color:#f92672>=</span> <span style=color:#e6db74>"cd .."</span>;
|
||||
grep <span style=color:#f92672>=</span> <span style=color:#e6db74>"rg --smart-case"</span>;
|
||||
ls <span style=color:#f92672>=</span> <span style=color:#e6db74>"exa -la --git"</span>;
|
||||
shellAliases <span style=color:#555>=</span> {
|
||||
<span style=color:#c30>".."</span> <span style=color:#555>=</span> <span style=color:#c30>"cd .."</span>;
|
||||
grep <span style=color:#555>=</span> <span style=color:#c30>"rg --smart-case"</span>;
|
||||
ls <span style=color:#555>=</span> <span style=color:#c30>"exa -la --git"</span>;
|
||||
};
|
||||
|
||||
<span style=color:#e6db74>"oh-my-zsh"</span> <span style=color:#f92672>=</span> {
|
||||
enable <span style=color:#f92672>=</span> <span style=color:#66d9ef>true</span>;
|
||||
plugins <span style=color:#f92672>=</span> [
|
||||
<span style=color:#e6db74>"gitfast"</span>
|
||||
<span style=color:#e6db74>"last-working-dir"</span>
|
||||
<span style=color:#c30>"oh-my-zsh"</span> <span style=color:#555>=</span> {
|
||||
enable <span style=color:#555>=</span> <span style=color:#360>true</span>;
|
||||
plugins <span style=color:#555>=</span> [
|
||||
<span style=color:#c30>"gitfast"</span>
|
||||
<span style=color:#c30>"last-working-dir"</span>
|
||||
];
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user